作業(yè)2—lab2指令集流水化實驗—計算機體系結構_第1頁
作業(yè)2—lab2指令集流水化實驗—計算機體系結構_第2頁
作業(yè)2—lab2指令集流水化實驗—計算機體系結構_第3頁
作業(yè)2—lab2指令集流水化實驗—計算機體系結構_第4頁
作業(yè)2—lab2指令集流水化實驗—計算機體系結構_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Lab2 指令集流水化實驗報告學號:12281166 姓名:崔雪瑩Exercise 1: What is hex code for NOP or SLL R0, R0, R0 00 00 00 00 H .Exercise 2: By looking at the binary code of the instruction, discover the following fields: Rs: 00100 , Rt: 00011 , Rd 00101 , 16-bit Imm (Imm16) 0010 1000 0010 0000 , Shift amount 00000 , Functio

2、n Code 100000 , Write MemWrite 0 and RegWrite 1 for this instruction. What is use of 16-bit Immediate field in this instruction? 16位立即數(shù)是對branch指令來說的跳轉目的地址的偏移地址,add指令沒有作用 。 If the same instruction were a Branch instruction, the immediate field would have represented a Branch Offset. What is the poten

3、tial Target Address 43092 立即數(shù)十進制表示為10272,目的地址為10272*4+2004=43092 Exercise 3: LW Instruction Rs: 01000 , Rt 00111 , Rd 32(00000) , 16-bit Imm (Imm16) 1111 1111 0011 1000 , Shift amount 29(11101) , Function Code 100011 , Write MemWrite 0 and RegWrite 1 for this instruction. What is use of Function fil

4、ed and Shift Amount in this instruction? 操作數(shù)表明操作為LW讀操作,是指令操作的唯一標記,移位量是相對與移位指令來說移幾位,在LW指令沒有作用 。If the same instruction were a Branch instruction, the immediate field would have represented a Branch Offset. What is the potential Target Address 1204 ,(-200*4)+2004=1204 。Exercise 4: Branch Target Found

5、Adress 1204 , Is It same as EX.3 是 ? B input to ALU -200 , Why? 因為對于I型指令只有rs,rt和立即數(shù),沒有rd,是rs和立即數(shù)Imm運算的結果進行操作,所以B最終送ALU的是立即數(shù)而不是rt , ALUOut 800 , ALUOP = ADD , Why 因為立即數(shù)是偏移量,所以運算器是對R8和-200求和,得到的為目的地址 . LMD 525252 , Rdest 7 why this? 因為沒有rd,但是是取800地址的內(nèi)容,回送到R7里 。 RegWrite 1 , MemWrite 0 , What are two v

6、alues at the input of very last MUX in the WB stage 525252 , 800 , Which value is selected 525252 , why 因為最終寫回的是525252的值,而不是ALU運算的結果800 . Final Register File Values. R7 , 525252 , R8 , 1000 .Exercise 5: SW instruction Rs: 01000 , Rt 00111 , Rd 32(00000) , 16-bit Imm (Imm16) 1111 1111 0011 1000 , Shi

7、ft amount 28(11100) , Function Code 101011 , Write MemWrite 1 and RegWrite 0 for this instruction. What is use of Function filed and Shift Amount in this instruction? 操作數(shù)表明操作為SW讀操作,是指令操作的唯一標記,移位量是相對與移位指令來說移幾位,在SW指令沒有作用 。If the same instruction were a Branch instruction, the immediate field would hav

8、e represented a Branch Offset. What is the potential Target Address 1204 ,(-200*4)+2004=1204 。Exercise 6: Branch Target Found Adress 1204 , Is It same as EX.3 是 ? B input to ALU -200 , Why? 因為對于I 型指令只有rs,rt和立即數(shù),沒有rd,是rs和立即數(shù)Imm運算的結果進行操作,所以B最終送ALU的是立即數(shù)而不是rt , ALUOut 800 , ALUOP = ADD , Why 因為SW是想把R7里的

9、內(nèi)容存到目的地址,立即數(shù)是偏移量,所以運算器是對R8和-200求和,得到的為目的地址 . LMD 7777 , Rdest 7 why this? 因為沒有rd,但是是把R7里的內(nèi)容存到目的地址800里。 RegWrite 0 , MemWrite 1 , Why 因為現(xiàn)在是存數(shù),存到memory里,不是register里,所以MemWrite置1,RegWrite置0 , What are two values at the input of very last MUX in the WB stage 7777 , 800 , What is selected 800 why 因為寫回mem

10、ory地址為800(不太懂) . Final Register File Values. R7 , 7777 , R8 , 1000 .Exercise 7:Signal NameValueWhyID.A22222ID正在分析SW R1, 200(R2)Rs=Reg2=22222ID.B11111Rt=Reg1=11111ALUOUT in EXE9000EXE正在執(zhí)行SLTI R9, R10, -1000運算結果為10000-1000=9000ALUOUT in MEM88988MEM正在進行LW R7, 100(R8)運算結果為100+88888=88988ALUOUT IN WB1222

11、21WB正在寫回ADD R4, R5, R6結果為55555+66666=122221RDEST in ID0ID正在分析SW R1, 200(R2)沒有涉及到RdRDEST in EXE9EXE正在執(zhí)行SLTI R9, R10, -1000R9作為Rt,在選擇時被選為RdRDEST in MEM7同理,R7被選為RdRDEST in WB4對于ADD R4, R5, R6R4為RdLMD in MEM77777從memory地址88988讀到的數(shù)據(jù)為77777LMD in WB999上一個NOP的LMD為999沒有被選擇Final Values of Register FileR1=1111

12、1,R2=22222,R3=0,R4=122221,R5=55555,R6=66666,R7=77777,R8=88888,R9=0,R10=10000,R11=-1000,R12=12000,R13=13000 Exercise 8: Expected Values of Register File ADD R1,R2,R3 R2=22222,R3=33333,所以R1=55555SUB R5,R6,R1 R6=66666,R1=55555,所以R5=11111ADD R4,R1,R5 R1=55555,R5=11111,所以R4=66666SW R1,200( R4 ) R4=66666,

13、 所以memory地址為66866值為55555LW R4,100( R1 ) R1=55555, 令55655地址內(nèi)容為77777,所以R4=77777綜上,R1=55555,R2=22222,R3=33333,R4=77777,R5=11111,R6=66666Actual Values of Register File 實際上,R1=55555,R2=22222,R3=33333,R4=77777,R5=55555,R6=66666Reason on difference發(fā)現(xiàn)期望值與實際實驗的值不一樣,我仔細觀察指令的流水化過程,比如ADD R1,R2,R3 R2=22222,R3=33

14、333,所以R1=55555SUB R5,R6,R1 R6=66666,R1=55555,所以R5=11111這是我期望的結果和過程,但實際上第一條指令走到WB階段,R1值55555還沒寫回時,第二條指令已經(jīng)取到了原始的沒有寫回R1的值11111,計算得到的R5為55555,當?shù)谝粭l指令寫回后第二條指令走到了WB,結果沒改變,造成錯誤,同理,接下來的計算類似,只是因為賦值特殊,所以看不出來變化,實際實現(xiàn)機制是不一樣的。所以上述結果出現(xiàn)錯誤。Exercise 9:InstructionClock Cycle123456789101112ADD R1, R2, R3IFIDEXEMEMWBNOPI

15、FIDEXEMEMWBNOPIFIDEXEMEMWBSUB R5, R6, R1IFIDEXEMEMWBExercise 10:InstructionClock Cycle1234567891011121314151617ADD R1, R2, R3IFIDEXEMEMWBSUB R5, R6, R1IFIDIDIDEXEMEMWBADD R4, R1, R5IFIFIFIDIDIDEXEMEMWBSW R1, 200(R4)IFIFIFIDIDIDEXEMEMWBLW R4, 100(R1)IFIFIFIDIDIDEXEMEMWB實驗體會與心得:這次實驗是關于指令流水化的內(nèi)容,課上關于流水化只講解了一些概念,并沒有一個相對直觀的感受,實驗使用軟件模擬化直觀的看出指令的流水,印象十分深刻。實驗過程中,我發(fā)現(xiàn)流水化的一些疑問,比如說上一條指令的結果是下一條指令的源,這樣在流水化過程中就會出現(xiàn)錯誤,這個問題在exercise8,exercise10,可以直觀的看到,并且exercise10通過引入了NOP,很好的實現(xiàn)了等待,結果不會出現(xiàn)錯誤。另外一個疑問就是關于指令格式,上一次實驗我們學習

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論