實驗五 指令調(diào)度和延遲分支_第1頁
實驗五 指令調(diào)度和延遲分支_第2頁
實驗五 指令調(diào)度和延遲分支_第3頁
實驗五 指令調(diào)度和延遲分支_第4頁
實驗五 指令調(diào)度和延遲分支_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗5 指令調(diào)度和延遲分支一.實驗目的(1)加深對指令調(diào)度技術的理解。(2)加深對延遲分支技術的理解。(3)熟練掌握用指令調(diào)度技術解決流水線中的數(shù)據(jù)沖突的方法。(4)進一步理解指令調(diào)度技術對CPU性能的改進。(5)進一步理解延遲分支技術對CPU性能的改進。二.實驗內(nèi)容和步驟:(1)、啟動MIPSsim。(2) 、根據(jù)前面的相關知識中關于流水線各段操作的描述,進一步理解流水線窗口中各段的功能,掌握各流水寄存器的含義。指令流水線有取指(IF)、譯碼(ID)、執(zhí)行(EX)、訪存(MEM)、寫回寄存器堆(WB)5個過程段,共有7條指令連續(xù)輸入此流水線IF段(取指):取指令,控制器必須具備能自動地從存儲

2、器中取出指令的功能ID段(譯碼):指令譯碼、讀寄存器EX段(執(zhí)行):執(zhí)行、訪存有效地址字段MEM段(訪存):存儲器訪問WB(寫回寄存器堆):結果寫回寄存器在該窗口中,每一個矩形方塊代表一個流水段,它們用不同的顏色填充。在該窗口的左側是IF到WB段,其右邊為浮點部件。浮點部件分有浮點加法部件(fadd)、浮點乘法部件(fmul)和浮點除法部件(fdiv)三種。在菜單“配置”“常規(guī)配置”中修改浮點部件個數(shù),可看到該窗口中對應類型的浮點部件個數(shù)會發(fā)生相應的變化。(3) 、選擇“配置”-“流水方式”選項,使模擬器工作于流水方式下。(4)、用指令調(diào)度技術解決流水線中的數(shù)據(jù)沖突。 1)啟動MIPSsim。

3、 2)加載schedule.s。 3)關閉定向功能。4) 執(zhí)行所載入的程序。通過查看統(tǒng)計數(shù)據(jù)和時鐘周期圖,找出并記錄程序執(zhí)行過程中各種沖突發(fā)生的次數(shù)、發(fā)生沖突的指令組合以及程序執(zhí)行的總時鐘周期數(shù)。調(diào)度前:RAW發(fā)生的沖突周期數(shù):2、3、5、6、8、9、11、12、15、16、18、19、21、22、25、26由以上可知:RAW數(shù)據(jù)沖突發(fā)生了16次,其中l(wèi)oad停頓6次,自陷停頓1次,停頓周期總數(shù)17次執(zhí)行過程中各種沖突發(fā)生次數(shù):16次程序執(zhí)行的總時鐘周期數(shù):33次發(fā)生沖突的指令組合:TEQ $r0,$r0ADDIU $r1,$r0,56 LW $r2,0($r1) 與上條寫后讀沖突;ADD $

4、r4,$r0,$r2 與上條指令寫后讀沖突;SW $r4,0($r1) 與上條指令寫后讀沖突;LW $r6,4($r1) ADD $r8,$r6,$r1 與上條指令寫后讀沖突; MUL $r12,$r10,$r1 ADD $r16,$r12,$r1 與上條指令寫后讀沖突; ADD $r18,$r16,$r1 與上條指令組件沖突 SW $r18,16($r1) 與上條指令寫后讀沖突; LW $r20,8($r1) MUL $r22,$r20,$r14與上條指令寫后讀沖突; 5)采用指令調(diào)度技術對程序進行指令調(diào)度,消除沖突。將調(diào)度后的程序存到after-schedule.s中。 6)載入after

5、-schedule.s。 7)執(zhí)行該程序。觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時鐘周期數(shù)。調(diào)度后:執(zhí)行總時鐘周期數(shù)為19,其中RAW停頓2次、load停頓0次、自陷停頓1次。停頓總周期占總執(zhí)行周期的15.78947%。 8)根據(jù)記錄結果,比較調(diào)度前和調(diào)度后的性能。論述指令調(diào)度對于提高CPU性能的作用。 根據(jù)記錄結果:指令調(diào)度后時鐘總周期數(shù)從33降低到19,指令調(diào)度使指令順序重新組合,可以消除部分的數(shù)據(jù)沖突,從而通過指令調(diào)度技術顯著地提高了CPU的使用率,大大減少了指令沖突的次數(shù),提高了CPU的性能。指令調(diào)度的優(yōu)劣直接影響CPU性能的發(fā)揮好壞,好的指令調(diào)度可以讓停頓周期大幅度減少。(5

6、)、用延遲分支減少分支指令對性能的影響。1)啟動MIPSsim。2) 載入branch.s。3) 關閉延遲分支功能。單擊“配置”“延遲槽”,使處于關閉狀態(tài) 即為默認狀態(tài)4) 執(zhí)行該程序。觀察并記錄發(fā)生分支延遲的時刻。沒有采用分支延遲:答:發(fā)生分支延遲的時刻為:第18周期。5) 記錄執(zhí)行該程序所用的總時鐘周期數(shù)。執(zhí)行周期總數(shù)為38,其中RAW停頓16次、load停頓4次、控制停頓0次、自陷停頓1次??偼nD周期占總執(zhí)行周期的50%。6) 假設延遲槽有1個,對branch.s進行指令調(diào)度,然后保存到“delayed-branch.s”中。7) 載入delayed-branch.s。 8) 打開延遲分

7、支功能。單擊“配置”“延遲槽”,使該項前有來實現(xiàn)9) 執(zhí)行該程序。觀察其時鐘周期圖。采用分支延遲:10) 記錄執(zhí)行該程序所用的總時鐘周期數(shù)??倳r鐘周期數(shù)為26。其中RAW停頓4次、load停頓2次、自陷停頓1次??偼nD周期占總執(zhí)行周期的19.23077%。 11) 對比上述兩種情況下的時鐘周期圖。 見上圖12) 根據(jù)記錄結果,比較沒采用延遲分支和采用了延遲分支的性能之間的不同。論述延遲分支對于提高CPU性能的作用。答:沒采用分支延遲的時候周期總數(shù)為38,采用分支后的周期總數(shù)為26,可知,在使用延遲槽后,指令在運行到跳轉指令時,不會出現(xiàn)延遲等待,則能夠提高CPU的性能。并且在使用延遲后,指令在運

8、行到跳轉指令時,不會出現(xiàn)延遲等待,則能夠提高CPU的性能。所以只要分支延遲槽中的指令是夠用的,流水線中就沒有停頓,這時延遲分支的方法就能很好的減少分支延遲。所以放入延遲槽中的指令是很重要的,對CPU性能的影響是很顯著的! 分支延遲槽 (Branch delay slot),簡單地說就是位于分支指令后面的一條指令,不管分支發(fā)生與否其總是被執(zhí)行,而且位于分支延遲槽中的指令先于分支指令提交 (commit)。3. 實驗結果分析 實驗結論:指令調(diào)度讓指令順序重新組織后能消除部分的數(shù)據(jù)沖突,指令調(diào)度的優(yōu)劣直接影響CPU性能的發(fā)揮好壞,好的指令調(diào)度可以讓停頓周期大幅度減少。只要分支延遲槽中的指令時有用的,

9、流水線中就沒有停頓,這是延遲分支的方法就能很好的減少分支延遲,所以放入延遲槽中的指令是很重要的,對CPU性能的影響是顯著的。1.了解了什么是指令調(diào)度以及指令調(diào)度對CPU性能的影響:指令調(diào)度:為了減少停頓,對于無法使用定向技術解決的問題,可以通過指令調(diào)度讓指令順序重新組織后能消除部分的數(shù)據(jù)沖突,指令調(diào)度的優(yōu)劣直接影響CPU性能的發(fā)揮好壞,好的指令調(diào)度可以讓指令周期大幅度減少。指令調(diào)度對CPU性能的影響:指令調(diào)度技術減少了指令沖突的次數(shù),提高了CPU的性能。2.延遲分支:位于分支指令后面的一條指令,不管分支發(fā)生與否其總是被執(zhí)行,而且位于分支延遲槽中的指令先于分支指令提交。只要分支延遲槽中的指令時有

10、用的,流水線中就沒有停頓,這是延遲分支的方法就能很好的減少分支延遲,所以放入延遲槽中的指令是很重要的,對CPU性能的影響是顯著的。延遲分支對CPU性能的影響: 延遲分支減少分支指令能夠稍微提高GPU的性能。3.了解到執(zhí)行分支指令的結果有兩種:一種是分支“成功”,PC的值改變?yōu)榉种мD移的目標地址,另一種情況分支“不成功”,這是PC的值保持正常遞增,指向順序的下一條指令。四.實驗心得通過本次實驗鍛煉了我的動手操作能力,我對指令調(diào)度和延遲分支有了進一步的了解和掌握,我學到了分支延遲調(diào)度的方法,并初步掌握了用指令調(diào)度技術解決指令流水線中的數(shù)據(jù)沖突問題的方法。理解了指令調(diào)度技術和延遲分支技術對CPU性能的改

溫馨提示

  • 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

提交評論