計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)_第1頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)_第2頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)_第3頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)_第4頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)完成時(shí)間:2012年3月27日 【補(bǔ)充習(xí)題2.14】模擬以下MIPS程序的單條指令運(yùn)行方式,在表中用16進(jìn)制編碼記錄每一步產(chǎn)生的結(jié)果。 .datan: .word 3x: .double 0.5 .text LD R1, n(R0) L.D F0, x(R0) DADDI R2, R0, 1 ; R2 1 MTC1 R2, F11 ; F11 1 CVT.D.L F2, F11 ; F2 1loop: MUL.D F2, F2, F0 ; F2 F2*F0 DADDI R1, R1, -1 ; decrement R1 by 1 BNEZ R1, loop ; if R10

2、continue HALT ; 此條不填表提示:MIPS浮點(diǎn)數(shù)的格式是IEEE754序號結(jié)果寄存器名稱結(jié)果值(16進(jìn)制)序號結(jié)果寄存器名稱結(jié)果值(16進(jìn)制)1R138無無2F00.59F20.253R2110R114F110.011無無5F21.012F20.1256F20.513R107R1214無無【實(shí)驗(yàn)1】實(shí)驗(yàn)要求:用MIPS64指令編寫一個(gè)盡可能短小的程序,將事先存放在數(shù)據(jù)區(qū)的4字節(jié)字符串(例如“3901”)轉(zhuǎn)換為一個(gè)4位BCD整數(shù),賦給R9。在WinMIPS64模擬器調(diào)試通過。實(shí)驗(yàn)報(bào)告:(1) 程序清單;(2) 運(yùn)行結(jié)果(每輪循環(huán)末尾R9的數(shù)值,高位的0可以不寫)循環(huán)輪數(shù)1234R9

3、的值(BCD整數(shù))(3) 程序效率指令總條數(shù)(不算HALT)運(yùn)行總時(shí)間(節(jié)拍數(shù))解:(1)、程序清單shiyan1.s.datas:.ascii 3901.textDADDIR1 , R0, 0;R10LOOP:LBR2 , s(R1);取s串的第一個(gè)字符賦值給R2DADDIR2,R2,-48;將ascii碼轉(zhuǎn)換為對應(yīng)數(shù)值DADDR9 , R9 ,R2;R9 R2DSLLR9 , R9,4;R9左移四位DADDI R1,R1,1;偏移量加1SLTIR2,R1,4;R1小于4,R2置1BNEZR2,LOOP;R2為1跳轉(zhuǎn)到LOOPDSRLR9,R9,4;R9右移4位,循環(huán)中多左移了一次HALT(

4、2)、運(yùn)行結(jié)果循環(huán)輪數(shù)1234R9的值(BCD整數(shù))3393903901(3)、程序效率指令總條數(shù)(不算HALT)運(yùn)行總時(shí)間(節(jié)拍數(shù))946【實(shí)驗(yàn)2】實(shí)驗(yàn)要求:在人工完成習(xí)題3.11之后,在WinMIPS64模擬器上運(yùn)行對應(yīng)的程序,分別按(1)(2)(3)小問的條件設(shè)置模擬器的運(yùn)行模式,記錄相應(yīng)的時(shí)鐘周期數(shù)。實(shí)驗(yàn)報(bào)告:(1) 程序清單;(2) 程序時(shí)間對比題目小問(1)(2)(3)人工計(jì)算的時(shí)鐘周期數(shù)在模擬器上實(shí)測的時(shí)鐘周期數(shù)(3) 人工計(jì)算值與實(shí)測值的差異原因分析,如果有差異的話;(4) 至少1段自己認(rèn)為有價(jià)值的“時(shí)鐘周期圖”片段抄錄或者打印,加注釋。解:(1)、程序清單(1)、(2)所用程

5、序shiyan2.s.textDADDIR2,R2,0DADDIR3,R2,396LOOP:LWR1,0(R2)DADDUIR1,R1,1SWR1,0(R2)DADDUIR2,R2,4DSUBR4,R3,R2BNEZR4,LOOPHALT(3)所用程序shiyan3.s.textDADDIR2,R2,0DADDIR3,R2,396LOOP:LWR1,0(R2)DADDUIR2,R2,4DADDUIR1,R1,1DSUBR4,R3,R2BNEZR4,LOOPSWR1,-4(R2)HALT(2)、程序時(shí)間對比題目小問(1)(2)(3)人工計(jì)算的時(shí)鐘周期數(shù)1684991598在模擬器上實(shí)測的時(shí)鐘周期

6、數(shù)1493897606(3)、人工計(jì)算值與實(shí)測值的差異原因分析實(shí)測時(shí)鐘周期數(shù)與人工計(jì)算均有差異,具體原因如下:(1),通過觀察時(shí)鐘周期圖,發(fā)現(xiàn)人工計(jì)算的時(shí)候,運(yùn)行跳轉(zhuǎn)指令到下一個(gè)循環(huán)LW指令,延遲周期為4個(gè)時(shí)鐘周期,而在實(shí)測中,這個(gè)延遲周期為2個(gè)時(shí)鐘周期,共減少了2*98=196個(gè)時(shí)鐘周期。同時(shí)因?yàn)樘砑恿藘蓷l指令,所以實(shí)測比人工計(jì)算更少。(2),因?yàn)榧尤肓硕ㄏ蚵窂?,所以在運(yùn)算跳轉(zhuǎn)指令到下一個(gè)循環(huán)的LW指令,實(shí)測延遲周期為減少為2,比人工計(jì)算的少了2個(gè),而在執(zhí)行BNEZ指令的時(shí)候,又比人工計(jì)算的延遲一個(gè)時(shí)鐘周期。所以總共的減少時(shí)間是98*1。同時(shí)添加了兩條指令,所以實(shí)測比人工計(jì)算更少。(3),未通過指令調(diào)度的時(shí)候,執(zhí)行LW指令會引起一個(gè)時(shí)鐘周期的時(shí)延,而調(diào)整指令之后,這個(gè)時(shí)延期間用于執(zhí)行DADDUI R2,R2,4指令。因而是時(shí)延比未進(jìn)行指令調(diào)度相比減少了。而實(shí)測值與人工計(jì)算不同主要是最后的一次跳轉(zhuǎn)分支指令預(yù)測失敗,需要回退選擇另一條分支繼續(xù)執(zhí)行程序。所以導(dǎo)致時(shí)鐘周期增加。(4) 至少1段自己認(rèn)為有價(jià)值的“時(shí)鐘周期圖”片段抄錄或者打印,加注釋a.未進(jìn)行指令調(diào)度的時(shí)鐘周期圖(最后兩次循環(huán)):圖 1 未進(jìn)行指令調(diào)度的時(shí)鐘周期圖b.進(jìn)行指令調(diào)度的時(shí)鐘周期圖(最后兩

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論