計算機系統(tǒng)結構實驗報告模板_第1頁
計算機系統(tǒng)結構實驗報告模板_第2頁
計算機系統(tǒng)結構實驗報告模板_第3頁
計算機系統(tǒng)結構實驗報告模板_第4頁
計算機系統(tǒng)結構實驗報告模板_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機系統(tǒng)結構實驗報告班級3班實驗日期3.28實驗成績姓名王志剛學號234實驗名稱指令調(diào)度和分支延遲實驗目的、要求實驗目的: 加深對循環(huán)級并行性、指令調(diào)度技術、循環(huán)展開技術以及寄存器換名技術的理解; 熟悉用指令調(diào)度技術來解決流水線中的數(shù)據(jù)相關的方法; 了解指令調(diào)度、循環(huán)展開等技術對CPU性能的改進。實驗要求: 調(diào)度前的源代碼(只需給出關鍵代碼部分)注明各種相關的位置 調(diào)度后的源代碼注明使用的策略并加以說明 調(diào)度前的測試數(shù)據(jù) VS 調(diào)度后的測試數(shù)據(jù) 分析回答以下問題:當定向技術打開和關閉時結果是否有差異?Stall是否越少越好?實驗內(nèi)容、步驟及結果實驗內(nèi)容: 熟悉MIPSsim模擬器的操作和使用

2、方法; 學習流水線、相關和沖突的知識; 完成實驗教程中實驗內(nèi)容; 完成補充實驗; 完成實驗報告。實驗步驟:(實驗教材)實驗步驟:1、 啟動MIPSsim。2、 根據(jù)2.5節(jié)相關內(nèi)容關于流水線的描述,進一步理解流水線窗口中各段的功能,掌握各流水寄存器的含義。3、 選擇“配置”-“流水方式”選項;4、 用指令調(diào)度解決流水線中的數(shù)據(jù)沖突(1) 啟動MIPSsim;(2) 用MIPSsim的“文件”“載入程序”選項加載schedule.s;(3) 關閉定向功能,“配置”“定向”;(4) 執(zhí)行載入程序,通過查看統(tǒng)計數(shù)據(jù)與始終周期圖,找出并記錄程序執(zhí)行過程中各種沖突的次數(shù)沒發(fā)生沖突的指令組合以及程序執(zhí)行的

3、總周期數(shù)。結果:各沖突發(fā)生的次數(shù):18次;發(fā)生沖突的指令組合:ADDIU $r1,$r0,56與LW $r2,0($r1);(發(fā)生RAW沖突)ADDIU $r1,$r0,56與ADD $r4,$r0,$r2;(發(fā)生結構沖突)ADD $r4,$r0,$r2與SW $r4,0($r1);(發(fā)生RAW沖突)LW $r2,0($r1)與SW $r4,0($r1);(發(fā)生結構沖突)SW $r4,0($r1)與LW $r6,4($r1);(發(fā)生結構沖突)LW $r6,4($r1)與ADD $r8,$r6,$r1;(發(fā)生RAW沖突)MUL $r12,$r10,$r1與ADD $r16,$r12,$r1;(發(fā)

4、生RAW沖突)ADD $r16,$r12,$r1與ADD $r18,$r16,$r1;(發(fā)生結構沖突)ADD $r18,$r16,$r1與SW $r18,16($r1);(發(fā)生結構沖突和RAW沖突)SW $r18,16($r1)與LW $r20,8($r1);(發(fā)生結構沖突)LW $r20,8($r1)與MUL $r22,$r20,$r14;(發(fā)生RAW沖突)MUL $r22,$r20,$r14與MUL $r24,$r26,$r14;(發(fā)生結構沖突)程序執(zhí)行的總時鐘周期數(shù):33(5) 采用指令調(diào)度技術對程序進行指令調(diào)度,消除沖突。將調(diào)度后的程序?qū)懭隺fer-schedule.s中。指令調(diào)度后程

5、序:ADDIU $r1,$r0,ALW $r6,4($r1)ADD $r16,$r12,$r1LW $r2,0($r1)ADD $r8,$r6,$r1LW $r20,8($r1)MUL $r12,$r10,$r1ADD $r4,$r0,$r2MUL $r22,$r20,$r14ADD $r18,$r16,$r1SW $r4,0($r1)MUL $r24,$r26,$r14SW $r18,16($r1)(6) 載入after-schedule.s;(7) 執(zhí)行該程序。觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總始終周期數(shù)。結果: (8)根據(jù)記錄結果,比較調(diào)度前與調(diào)度后的性能,論述指令調(diào)度對與提

6、高CPU性能的作用。經(jīng)過指令調(diào)度后執(zhí)行的時鐘總周期數(shù)從33降低到19,停頓周期總數(shù)從17降到了3,說明通過指令調(diào)度技術減少了指令沖突的次數(shù),大大提高了CPU的性能。5、 用延遲分支減少分支指令對性能的影響。(1) 啟動MIPSsim。(2) 載入branch.s。(3) 關閉延遲分支功能,“配置”“延遲槽”(4) 執(zhí)行程序,觀察并記錄發(fā)生分支延遲的時刻。(5) 記錄執(zhí)行改程序所需要的總時鐘周期數(shù)。執(zhí)行周期總數(shù):38(6) 假設延遲槽為一個,對branch.s進行指令調(diào)度,然后保存到delayed-branch.s中。指令調(diào)度后程序:ADDI $r2,$r0,1024ADD $r3,$r0,$r

7、0ADDI $r4,$r0,8loop: LW $r1,0($r2)ADDI $r1,$r1,1ADDI $r3,$r3,4SUB $r5,$r4,$r3BGTZ $r5,loopSW $r1,0($r2)ADD $r7,$r0,$r6(7) 載入delayed-branch.s。(8) 打開延遲分支功能。(9) 執(zhí)行該程序,觀察其時鐘周期圖。(10)記錄執(zhí)行該程序所用的總時鐘周期數(shù)。結果:(11)對比上訴兩種情況的時鐘周期圖;(12)根據(jù)記錄結果,比較沒采用延遲分支和采用了延遲分支的性能之間的不同,論述延遲分支對于條CPU性能的作用。答:從記錄結果來看,在使用延遲槽后,在一定程度上減少了分支

8、延遲,減少了總時鐘周期數(shù),在一定程度上提高了CPU的性能。補充實驗步驟1: 通過配置菜單,把加法乘法除法部件的個數(shù)設置為2個,把延遲都設置為3個時鐘周期; 用MIPS語言編寫一段簡單的程序 至少包含數(shù)據(jù)相關和結構相關 包含循環(huán)次數(shù)為4的倍數(shù)的循環(huán)程序為:.textmain:ADDIU $r1,$r0,16ADDIU $r4,$r0,8loop:ADDI $r1,$r1,1MUL $r2,$r1,$r1ADDIU $r4,$r4,-1BGTZ $r4,loopTEQ $r0,$r0 運行程序。記錄程序執(zhí)行過程中各種相關發(fā)生的次數(shù)、發(fā)生相關的指令組合,以及程序執(zhí)行的總時鐘周期數(shù);。數(shù)據(jù)沖突次數(shù):1

9、6次;結構沖突次數(shù):9次;數(shù)據(jù)沖突組合:ADDI $r1,$r1,1與MUL $r2,$r1,$r1;ADDIU $r4,$r4,-1與BGTZ $r4,loop;結構沖突組合:ADDIU $r4,$r0,8與ADDI $r1,$r1,1;MUL $r2,$r1,$r1與ADDIU $r4,$r4,-1;(爭用同一個譯碼器)程序執(zhí)行的總時鐘周期數(shù):78補充實驗步驟2: 用循環(huán)展開、寄存器換名以及指令調(diào)度提高性能相關基礎知識可見教材或?qū)嶒炇謨蕴崾荆簩⒀h(huán)展開3次,將4個循環(huán)體組成的代碼代替原來的循環(huán)體,并對程序做相應的修改。然后對新的循環(huán)體進行寄存器換名和指令調(diào)度; 運行修改后的程序,記錄執(zhí)行過程中各種相關發(fā)生的次數(shù)以及程序執(zhí)行的總時鐘周期數(shù);調(diào)度前代碼:loop: ADDI $r1,$r1,1MUL $r2,$r1,$r1ADDIU $r4,$r4,-1BGTZ $r4,loop調(diào)度后代碼:loop: ADDI $r1,$r1,1ADDI $r2,$r1,1MUL $r5,$r1,$r1MUL $r6,$r2

溫馨提示

  • 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

提交評論