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

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)實(shí)驗(yàn)四:指令流水線相關(guān)性分析 一、 實(shí)驗(yàn)?zāi)康?、 通過(guò)使用WINDLX 模擬器,對(duì)程序中的三種相關(guān)現(xiàn)象進(jìn)行觀察,并對(duì)使用專(zhuān)用通路,增加運(yùn)算部件等技術(shù)對(duì)性能的影響進(jìn)行考察,加深對(duì)流水線和RISC 處理器的特點(diǎn)的理解。對(duì)流水線性能分析,了解影響流水線效率的因素,了解各類(lèi)相關(guān)及解決方法。二、 實(shí)驗(yàn)原理指令流水線中主要有結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)、控制相關(guān)。相關(guān)影響流水線性能。流水線中的相關(guān): (1)結(jié)構(gòu)相關(guān):當(dāng)某一條機(jī)器指令需要訪問(wèn)物理器件時(shí),如加法器,此時(shí)加法器正被另一條機(jī)器指令使用,從而產(chǎn)生結(jié)構(gòu)相關(guān); (2)數(shù)據(jù)相關(guān):當(dāng)某一條指令需要訪問(wèn)某個(gè)寄存器時(shí),此時(shí)這個(gè)寄存器

2、正被另一條指令所使用,從而產(chǎn)生數(shù)據(jù)相關(guān); (3)控制相關(guān):當(dāng)程序執(zhí)行到某個(gè)分支語(yǔ)句時(shí),順序執(zhí)行的下一條語(yǔ)句將被跳過(guò)而去執(zhí)行分支語(yǔ)句中滿足條件的那條指令,從而產(chǎn)生控制相關(guān)。三、 實(shí)驗(yàn)步驟使用WinDlx模擬器,對(duì)求階乘程序Fact.s做分析。1、雙擊WinDLX圖標(biāo)運(yùn)行WinDLX。裝入測(cè)試程序之前,先初始化WinDLX模擬器:點(diǎn)擊File 菜單中的 Reset all 菜單項(xiàng),彈出一個(gè)“Reset DLX”對(duì)話框。然后點(diǎn)擊窗口中的“確認(rèn)”按鈕即可。 2、 選擇File / Load Code&#

3、160;or Data,按如下步驟操作,可將Fact.s和input.s這兩個(gè)程序裝入主存。 3、 按F7鍵程序順序執(zhí)行觀察6個(gè)子窗口的情況。 4、分析流水線中出現(xiàn)的三種相關(guān),及結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)和控制相關(guān),分析其出現(xiàn)的原因。統(tǒng)計(jì)三種相關(guān)的具體數(shù)目。 5、分別利用增加運(yùn)算單元、定向技術(shù)及循環(huán)展開(kāi)來(lái)消除和減少流水線中出現(xiàn)的三種相關(guān)。并統(tǒng)計(jì)三種相關(guān)沖突的變化情況。l 觀察程序中的數(shù)據(jù)/控制/結(jié)構(gòu)相關(guān)流水線浮點(diǎn)運(yùn)算部件設(shè)置:四、 實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析1、分析fact.s和imput.s輸入順序不同時(shí)產(chǎn)生的影響 先裝入fact.s再轉(zhuǎn)入input.S時(shí),

4、因?yàn)槌绦蝽樞驁?zhí)行,地址順序符合程序執(zhí)行順序,程序能夠正確執(zhí)行;順序相反時(shí),因?yàn)閕nput.S的地址高,而程序順序執(zhí)行到input.S時(shí)將沒(méi)有正確的輸入窗口,程序執(zhí)行到輸出結(jié)果時(shí),也不會(huì)出現(xiàn)結(jié)果。 2、流水線中的三種相關(guān)觀察與分析1.fact.s程序運(yùn)行結(jié)果:圖1 源程序fact.s 運(yùn)行結(jié)果 在運(yùn)行窗口輸入4,即求數(shù)列:4的階乘,由運(yùn)行窗口可知結(jié)果正確。 從圖1可以看出fact.s運(yùn)行后,三種相關(guān)均出現(xiàn)了。其中,數(shù)據(jù)相關(guān)共10項(xiàng),結(jié)構(gòu)相關(guān)共0項(xiàng),控制相關(guān)共8項(xiàng)。1. 數(shù)據(jù)相關(guān):在Code子窗口中。命令movi2fp f10,r1和cvti2d f0,f1

5、0分別設(shè)置斷點(diǎn)。在Clock cycle diagram子窗口中,顯示數(shù)據(jù)相關(guān)。 圖2  數(shù)據(jù)相關(guān)示意圖 f0的寫(xiě)讀相關(guān)。按F5,程序繼續(xù)運(yùn)行,出現(xiàn)Trap #0 occured 窗口。在Clock cycle diagram子窗口中,顯示f0的寫(xiě)讀相關(guān)。 圖3  f0的寫(xiě)讀相關(guān)示意圖 bnez r5,input.Finish需要使用seqi的計(jì)算結(jié)果r5,所以產(chǎn)生數(shù)據(jù)相關(guān)的冒險(xiǎn)。WindDLX通過(guò)阻塞解決問(wèn)題。2. 控制相關(guān):在Code子窗口中。用同樣的方法在命令lw r2,save R2r0和jr r31分別設(shè)置斷點(diǎn)。  圖4  控制相關(guān)示

6、意圖語(yǔ)句lw r2,SaveR2(r0)被aborted,這是控制相關(guān)的冒險(xiǎn)造成的。因?yàn)榍耙粭l語(yǔ)句j input.Loop是跳轉(zhuǎn)語(yǔ)句,而指定到EX階段語(yǔ)句被解碼后在能知道其作用,所以已經(jīng)取指令的lw語(yǔ)句被取消。3. 結(jié)構(gòu)相關(guān):在Code子窗口中。用同樣的方法在命令subd f0,f0,f4和j fact.Loop分別設(shè)置斷點(diǎn)。                圖5  結(jié)構(gòu)相關(guān)示意圖在執(zhí)行subd f0,f0,

7、f4和j fact.Loop期間由于ALU被占用硬件資源無(wú)法滿足j fact.Loop進(jìn)入EX階段,發(fā)生結(jié)構(gòu)相關(guān)的冒險(xiǎn)。winDLX中通過(guò)阻塞EX 1個(gè)周期來(lái)解決此問(wèn)題。五、 實(shí)驗(yàn)作業(yè)消除或減少流水線三種相關(guān)1消除結(jié)構(gòu)相關(guān):增加加法運(yùn)算和乘法運(yùn)算單元,將其均修改為2,可以發(fā)現(xiàn)結(jié)構(gòu)相關(guān)變?yōu)?項(xiàng)。2 消除數(shù)據(jù)相關(guān):利用定向技術(shù)消除數(shù)據(jù)相關(guān),可以發(fā)現(xiàn)數(shù)據(jù)相關(guān)與之前相比大幅減少。3. 消除控制相關(guān):首先將DLX設(shè)置Reset all,將文件夾中的gcm.s文件及input.s文件裝入DLX流水線模擬器,然后增加加法與乘法運(yùn)算單元,打開(kāi)定向技術(shù),再次運(yùn)行。六、可研究和探索的問(wèn)題l 本實(shí)驗(yàn)采用單一變量法,每次只改變一個(gè)量來(lái)測(cè)該量對(duì)程序效率的影響??梢钥紤]多個(gè)量組合來(lái)觀察程序的效率變化。l 本實(shí)驗(yàn)中沒(méi)有改變各項(xiàng)運(yùn)算的延遲,可以考慮修改延遲對(duì)程序執(zhí)行效率的影響。l 考慮自己編寫(xiě)一個(gè)包含更多的相關(guān)性的程序。對(duì)該程序

溫馨提示

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

評(píng)論

0/150

提交評(píng)論