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

下載本文檔

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

文檔簡介

Lab2指令集流水化實驗報告學(xué)號:12281166 姓名:崔雪瑩Exercise1:Exercise1:WhatishexcodeforNOPorSLLR0,R0,R000000000 H.Exercise2:Exercise2:Bylookingatthebinarycodeoftheinstruction,discoverthefollowingfields:Rs: 00100 ,Rt: 00011,FunctionCode,Rd10000000101,16-bitImm(Imm16)0010100000100000 ,Shiftamount00000,WriteMemWrite0andRegWrite1forthisinstruction.Whatisuseof16-bitImmediatefieldinthisinstruction? 16位立即數(shù)是對branch指令來說的跳轉(zhuǎn)目的地址的偏移地址,add指令沒有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwouldhaverepresentedaBranchOffset.WhatisthepotentialTargetAddress4309210272*4+2004=43092立即數(shù)十進制表示為10272,目的地址為Exercise3:Exercise3:LWInstructionRs:amount01000,Rt 00111 ,Rd 32(00000),16-bitImm(Imm16)1111111100111000 ,Shift29(11101),FunctionCode100011,WriteMemWrite0andRegWrite1forthisinstruction.WhatisuseofFunctionfiledandShiftAmountinthisinstruction? 操作數(shù)表明操作為LW讀操作,是指令操作的唯一標(biāo)記,移位量是相對與移位指令來說移幾位,在LW指令沒有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwouldhaverepresentedaBranchOffset.WhatisthepotentialTargetAddress1204 。Exercise4:Exercise4:BranchTargetFoundAdress 1204 ,IsItsameas是?BinputtoALU -200 ,Why? 因為對于型令只有和立即數(shù),沒rs和立即數(shù)Imm運算的結(jié)果進行操作,所最終送的是立即數(shù)而不是rt,ALUOut800目的地址.RegWrite 1,ALUOP=ADD ,Why因為立即數(shù)是偏移量,所以運算器是對和-200求和,得到的為525252,Rdest7whythis?因為沒有rd,但是是取800地址的內(nèi)容,回送到R7里。0,WhataretwovaluesattheinputofverylastMUXintheWBstage525252的結(jié)果800,800,Whichvalueisselected525252 ,因為最終寫回的是525252運算,.FinalRegisterFileValues.R7525252,R8,1000.ExerciseExercise5:SWinstructionRs:amount01000,Rt 00111 ,Rd 32(00000),16-bitImm(Imm16)111111110011100028(11100),FunctionCode101011,WriteMemWrite1andRegWrite0,,Shiftforthisinstruction.WhatisuseofFunctionfiledandShiftAmountinthis操作數(shù)表明操作為讀操作,是指令操作的唯一標(biāo)記,移位量是相對與移位指令來說移幾位,在SW指令沒有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwouldhaverepresentedaBranchOffset.WhatisthepotentialTargetAddress1204 。Exercise6:Exercise6:BranchTargetFoundAdress1204IsItsameas是BinputtoALU-200Why?因為對于型是rtALUOut800ALUOPADDWhy因為是想把里的內(nèi)容存到目的地址,立即數(shù)是偏移量,所以運算器是對R8和-200求和,得到的為目的地址.LMD7777,Rdest 7 whythis?因為沒有rd,但是是把R7800里。RegWrite0 ,MemWriteMemWrite1 ,因為現(xiàn)在是存數(shù),存到memory里,不是registerMemWrite置置0,WhataretwovaluesattheinputofverylastMUXintheWBstage 7777,800 ,Whatisselected800why因為寫回memory地址為800(不太懂).FinalRegisterFileValues. R7,7777,R8,1000 .Exercise7:SignalID.AID.BALUOUTinEXEALUOUTinALUOUTINWBRDESTinIDRDESTinEXERDESTinMEMRDESTinWBLMDinMEMLMDinWBFinalValuesofRegister

Value2222211111900088988122221097477777999

WhyID正在分析SWR1,200(R2)Rs=Reg[2]=22222Rt=Reg[1]=11111EXE 正在執(zhí)行SLTI R9, R10,-1000運算結(jié)果為10000-1000=9000MEM正在進行LWR7,100(R8)運算結(jié)果為100+88888=88988WB正在寫回ADDR4,R5,R6結(jié)果為55555+66666=122221ID正在分析SWR1,200(R2)沒有涉及到RdEXE 正在執(zhí)行SLTI R9, R10,-1000R9作為Rt,在選擇時被選為Rd同理,R7被選為Rd對于ADDR4,R5,R6R4Rd從memory8898877777上一個NOP的LMD999選擇R1=11111,R2=22222,R3=0,R4=122221,R5=55555,R6=66666,R7=77777,R8=88888,R9=0,R10=10000,R11=-1000,R12=12000,R13=13000Exercise8:Exercise8:ExpectedValuesofRegisterFileADDR1,R2,R3 R2=22222,R3=33333,R1=55555SUBR5,R6,R1 R6=66666,R1=55555,R5=11111ADDR4,R1,R5 R1=55555,R5=11111,R4=66666SWR1,200(R4) R4=66666,所以memory6686655555LWR4,100(R1) R1=55555,5565577777,所以R4=77777綜上,R1=55555,R2=22222,R3=33333,R4=77777,R5=11111,R6=66666ActualValuesofRegisterFile實際上,R1=55555,R2=22222,R3=33333,R4=77777,R5=55555,R6=66666Reasonondifference發(fā)現(xiàn)期望值與實際實驗的值不一樣,我仔細(xì)觀察指令的流水化過程,比如ADDR1,R2,R3 R2=22222,R3=33333,所以R1=55555SUBR5,R6,R1 R6=66666,R1=55555,所以R5=11111這是我期望的結(jié)果和過程,但實際上第一條指令走到WB階段,R1值55555還沒寫回時,第二條指令已經(jīng)取到了原始的沒有寫回R1的值11111,計算得到的R5為55555,當(dāng)?shù)谝粭l指令寫回后第二條指令走到了WB,結(jié)果沒改變,造成錯誤,同理,接下來的計算類似,只是因為賦值特殊,所以看不出來變化,實際實現(xiàn)機制是不一樣的。所以上述結(jié)果出現(xiàn)錯誤。Exercise9:Instruction\ClockCycle12345678 9 10 11 12ADDR1,R2,R3IFIDEXEMEMWBNOPIFIDEXEMEMWBNOPIFIDEXEMEMWBSUBR5,R6,R1IFIDEXEMEMWBExercise10:Instruction\ClockCycle1234567891011121314151617ADDR1,R2,R3IFIDEXEMEMWBSUBR5,R6,R1IFIDIDIDEXEMEMWBADDR4,R1,R5IFIFIFIDIDIDEXEMEMWBSWR1,200(R4)IFIFIFIDIDIDEXEMEMWBLWR4,100(R1)IFIFIFIDIDIDEXEMEMWB實驗體會與心得:這次實驗是關(guān)于指令流水化的內(nèi)容,

溫馨提示

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

評論

0/150

提交評論