指令調(diào)度和分支延遲實(shí)驗(yàn)報(bào)告_第1頁
指令調(diào)度和分支延遲實(shí)驗(yàn)報(bào)告_第2頁
指令調(diào)度和分支延遲實(shí)驗(yàn)報(bào)告_第3頁
指令調(diào)度和分支延遲實(shí)驗(yàn)報(bào)告_第4頁
指令調(diào)度和分支延遲實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告班級(jí)計(jì)算機(jī)一班實(shí)驗(yàn)日期2019.3.27實(shí)驗(yàn)成績姓名顧川瑀學(xué)號(hào)22920162203979實(shí)驗(yàn)名稱指令調(diào)度和分支延遲實(shí)驗(yàn)?zāi)康?、要求加深?duì)指令調(diào)度技術(shù)的理解;加深對(duì)延遲分支技術(shù)的理解;熟練掌握用指令調(diào)度技術(shù)解決流水線中的數(shù)據(jù)沖突的方法;進(jìn)一步理解指令調(diào)度技術(shù)對(duì)CPU性能的改進(jìn);進(jìn)一步理解延遲分支技術(shù)對(duì)CPU性能的改進(jìn)。實(shí)驗(yàn)內(nèi)容、步驟及結(jié)果實(shí)驗(yàn)步驟:1、 啟動(dòng)MIPSsim。2、 根據(jù)2.5節(jié)相關(guān)內(nèi)容關(guān)于流水線的描述,進(jìn)一步理解流水線窗口中各段的功能;3、 選擇“配置”--“流水方式”選項(xiàng);4、 用指令調(diào)度解決流水線中的數(shù)據(jù)沖突(1) 啟動(dòng)MIPSsim;(2) 用MIPSsim的“文件”—“載入程序”選項(xiàng)加載schedule.s;(3) 關(guān)閉定向功能,“配置”—“定向”;(4) 執(zhí)行載入程序,通過查看統(tǒng)計(jì)數(shù)據(jù)與始終周期圖,找出并記錄程序執(zhí)行過程中各種沖突的次數(shù)沒發(fā)生沖突的指令組合以及程序執(zhí)行的總周期數(shù)。程序執(zhí)行的總周期數(shù)為33。程序沖突的組合:ADDIU$r1,$r0,ALW$r2,0($r1)與上條指令存在寫后讀沖突ADD$r4,$r0,$r2與上條指令存在寫后讀沖突SW$r4,0($r1)與上條指令存在寫后讀沖突LW$r6,4($r1)ADD$r8,$r6,$r1與上條指令存在寫后讀沖突MUL$r12,$r10,$r1ADD$r16,$r12,$r1與上條指令存在寫后讀沖突ADD$r18,$r16,$r1與上條指令存在組件沖突SW$r18,16($r1)與上條指令存在寫后讀沖突LW$r20,8($r1)MUL$r22,$r20,$r14與上條指令存在寫后讀沖突MUL$r24,$r26,$r14TEQ$r0,$r0(5) 采用指令調(diào)度技術(shù)對(duì)程序進(jìn)行指令調(diào)度,消除沖突。將調(diào)度后的程序?qū)懭隺fer-schedule.s中。程序afer-schedule.s代碼為:.textmain:ADDIU$r1,$r0,AMUL$r24,$r26,$r14LW$r2,0($r1)MUL$r12,$r10,$r1LW$r6,4($r1)ADD$r4,$r0,$r2ADD$r16,$r12,$r1ADD$r8,$r6,$r1LW$r20,8($r1)ADD$r18,$r16,$r1SW$r4,0($r1)MUL$r22,$r20,$r14SW$r18,16($r1)TEQ$r0,$r0.dataA:.word4,6,8(6) 載入after-schedule.s;(7) 執(zhí)行該程序。觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時(shí)鐘周期數(shù)??倳r(shí)鐘周期數(shù)為:19(8) 根據(jù)記錄結(jié)果,比較調(diào)度前與調(diào)度后的性能,論述指令調(diào)度對(duì)與提高CPU性能的作用。指令調(diào)度后時(shí)鐘總周期從33減至19后,通過使用指令調(diào)度技術(shù)顯著地提高了CPU的使用率,減少了指令沖突的次數(shù),對(duì)提高CPU性能有較為明顯的作用。5、 用延遲分支減少分支指令對(duì)性能的影響。(1) 啟動(dòng)MIPSsim;(2) 載入branch.s;(3) 關(guān)閉延遲分支功能,“配置”—“延遲槽”。(4) 執(zhí)行程序,觀察并記錄發(fā)生分支延遲的時(shí)刻。在第18個(gè)時(shí)鐘周期,指令BGTZ$R5,LOOP的EX段發(fā)生分支延遲。(5) 記錄執(zhí)行改程序所需要的總時(shí)鐘周期數(shù)(6) 假設(shè)延遲槽為一個(gè),對(duì)branch.s進(jìn)行指令調(diào)度,然后保存到delayed-branch.s中;程序delayed-branch.s代碼如下:main:ADDI$r2,$r0,1024ADD$r3,$r0,$r0ADDI$r4,$r0,8loop:LW$r1,0($r2)ADDI$r3,$r3,4ADDI$r1,$r1,1SUB$r5,$r4,$r3SW$r1,0($r2)BGTZ$r5,loopLW$r1,0($r2)ADD$r7,$r0,$r6TEQ$r0,$r0(7) 載入delayed-branch.s。(8) 打開延遲分支功能。(9) 執(zhí)行該程序,觀察其時(shí)鐘周期圖。(10) 記錄執(zhí)行該程序所用的總時(shí)鐘周期數(shù);(11) 對(duì)比上述兩種情況的時(shí)鐘周期圖。(12) 根據(jù)記錄結(jié)果,比較沒采用延遲分支和采用了延遲分支的性能之間的不同,論述延遲分支對(duì)于提高CPU性能的作用。對(duì)比沒采取延遲分支和采取延遲分支所用的時(shí)鐘周期數(shù)后可知,使用延遲分支后,指令在運(yùn)行大跳轉(zhuǎn)指令BGTZ附近時(shí),在期望概率上很大部分可能不會(huì)出現(xiàn)延遲等待,因此能夠稍微地提高CPU性能。本次實(shí)驗(yàn)中跳轉(zhuǎn)指令較少,在跳轉(zhuǎn)指令較多的程序中,此方法效果應(yīng)該會(huì)更好。6、補(bǔ)充實(shí)驗(yàn)(1)通過配置菜單,把加法﹑乘法﹑除法部件的個(gè)數(shù)設(shè)置為2個(gè),把延遲都設(shè)置為3個(gè)時(shí)鐘周期;用MIPS語言編寫一段簡單的程序,至少包含數(shù)據(jù)相關(guān)和結(jié)構(gòu)相關(guān),包含循環(huán)次數(shù)為4的倍數(shù)的循環(huán),運(yùn)行程序。記錄程序執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)、發(fā)生相關(guān)的指令組合,以及程序執(zhí)行的總時(shí)鐘周期數(shù)。編寫test1.s,代碼如下:.textmain:ADDIU$r1,$r0,6ADDIU$r2,$r0,4loop:ADDIU$r1,$r1,1MUL$r3,$r3,$r1ADDIU$r2,$r2,-1BGTZ$r2,loopTEQ$r0,$r0總時(shí)間周期為:42(2)用循環(huán)展開、寄存器換名以及指令調(diào)度提高性能;將循環(huán)展開3次,將4個(gè)循環(huán)體組成的代碼代替原來的循環(huán)體,并對(duì)程序做相應(yīng)的修改。然后對(duì)新的循環(huán)體進(jìn)行寄存器換名和指令調(diào)度;運(yùn)行修改后的程序,記錄執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù)。編寫test2.s,代碼如下:.textmain:ADDIU$r1,$r0,6ADDIU$r2,$r0,4loop:ADDIU$r1,$r1,1ADDIU$r3,$r1,1ADDIU$r4,$r3,1ADDIU$r6,$r4,1MUL$r7,$r1,$r1MUL$r8,$r3,$r3MUL$r9,$r4,$r4MUL$r10,$r6,$r6ADDIU$r2,$r2,-4BGTZ$r2,loopTEQ$r0,$r0總結(jié)這次實(shí)驗(yàn),主要內(nèi)容是指令調(diào)度技術(shù)和延遲分支技術(shù),通過課堂上老師的講解,習(xí)題的練習(xí)以及實(shí)驗(yàn)課親手實(shí)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論