版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)課內(nèi)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告班級(jí):計(jì)算機(jī)15班姓名:高君宇學(xué)號(hào):12日期:動(dòng)態(tài)分支預(yù)測(cè)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康募耙罅私庹莆談?dòng)態(tài)分支與推斷執(zhí)行技術(shù)對(duì)流水線性能的改進(jìn)效果了解動(dòng)態(tài)分支預(yù)測(cè)的基本技術(shù);了解推斷執(zhí)行的基本過程;比較各種分支預(yù)測(cè)技術(shù)的性能。二、實(shí)驗(yàn)環(huán)境Linux、SimpleScalarToolSet、SPEC測(cè)試程序三、實(shí)驗(yàn)內(nèi)容利用SimpleScalar仿真器中的分支預(yù)測(cè)仿真程序sim-pred運(yùn)行所提供的三個(gè)benchmark程序,分別采用五種不同的分支預(yù)測(cè)方法,即bimod方式,two-leveladaptive方式,alwaystaken方式,alwaysnottaken方式,co
2、mb方式,并對(duì)前兩種分別使用下表中兩種參數(shù)配置;分析仿真器輸出的關(guān)于分支預(yù)測(cè)的統(tǒng)計(jì)參數(shù)集,填寫表格,并對(duì)各仿真器的能力給出相應(yīng)說明。命令格式為:./sim-bpred-optionexecutable_benchmark-argument對(duì)于三種動(dòng)態(tài)方法,分別說明如下:bimod是最普通的,即采用一個(gè)2bit寬的分支方向預(yù)測(cè)表,按分支地址查找,2bit分支預(yù)測(cè)器的判斷和更新與課本上的一致。這種方式只有一個(gè)參數(shù),就是分支預(yù)測(cè)表的長(zhǎng)度。2-level要復(fù)雜一些,它采用兩級(jí)表格式,第一級(jí)是分支歷史表,存放各組分支歷史寄存器的值,第二級(jí)是全局/局部分支模式表,(全局或局部應(yīng)是由表長(zhǎng)相對(duì)于分支歷史寄存器
3、的長(zhǎng)決定),它存放各分支歷史模式的2bit預(yù)測(cè)器。在判斷時(shí)用當(dāng)前分支指令對(duì)應(yīng)的歷史寄存器值去索引二級(jí)表得到相應(yīng)預(yù)測(cè)器值。更新時(shí),把當(dāng)前分支的方向左移入歷史寄存器,并對(duì)使用過的2bit預(yù)測(cè)器作更新。它有四個(gè)參數(shù),前三個(gè)是一級(jí)表長(zhǎng)度,二級(jí)表長(zhǎng)度,歷史寄存器寬度,最后一個(gè)是異或標(biāo)志。如果為1,則將歷史寄存器的值與當(dāng)前分支指令地址異或,用其結(jié)果再去索引二級(jí)模式表。comb方式則組合了以上兩種方法,它再加入了一個(gè)meta表,這個(gè)表類似bimod的預(yù)測(cè)表,只是它預(yù)測(cè)的是采取bimod還是2-level,也采用2-bit預(yù)測(cè)器,被采取的預(yù)測(cè)方法被定為第一方向,未被采取的定為第二方向。更新時(shí),如果第一方向與第
4、二方向不同則更新meta表,否則只更新兩種方法各自的表即可。它共有三組參數(shù),前兩組即bimod和two-level的參數(shù),第三組是關(guān)于meta表長(zhǎng)度的說明。至于BTB的更新與cache的更新方式相同。四、實(shí)驗(yàn)步驟在linux的環(huán)境下,進(jìn)入到simpleScalar文件的根目錄;調(diào)整好命令的格式并運(yùn)行(下面給出運(yùn)行命令的的一部分內(nèi)容):./sim-bpred-bpredtakentests/bin.little/test-math./sim-bpred-bprednottakentests/bin.little/test-math./sim-bpred-bpredbimod-bpred:bimo
5、d512tests/bin.little/test-math./sim-bpred-bpredbimod-bpred:bimod1024tests/bin.little/test-math./sim-bpred-bpred2lev-bpred:2lev11024801tests/bin.little/test-math./sim-bpred-bpred2lev-bpred:2lev16461tests/bin.little/test-math./sim-bpred-bpredcomb-bpred:comb1024-bpred:2lev1102480-bpred:bimod1024tests/b
6、in.little/test-math五、實(shí)驗(yàn)結(jié)果將結(jié)果總結(jié)如下表:測(cè)試程序?yàn)閠est.math、預(yù)測(cè)方”計(jì)結(jié)果yalway去snottakenalwaystakenbimod(516)bimod(1024)2-level(1,1024,8,0)2-level(1,64,6,1)comb(1024)(1,1024,8,0)(1024)sim_totalnsn213688213688213688213688213668213723213723sim_total_refs56897568975689756897568975690056900sim_num_branches3859138591385
7、9138591385913859938599simelapsedtime1111111simnst_rate213688213688213688.0000213688.0000213688213723213723sim_IPB5.53725.53725.53725.53725.53725.5375.537bpredbimod.looku385938593859138591385913859938599PS11bpred_bimod.updates38591385913859138591385913859938599bpred_bimod.addr_hits2193825561342373423
8、7342422796135578bpred_bimod.dir_hirts21938255613473234732342422851436018bpred_bimod.misses1665312930385938593797100852581bpred_bimod.jr_hits3543354335283528352835293529bpred_bimod.jr_seen3543354335433543354335443544bpred_bimod.jr_non_rashits.PP354335432828282828bpred_bimod.jr_non_rasseen.PP354335434
9、141414141bpred_bimod.bpred_addrrate0.56850.66490.88720.88720.88730.72440.9217bpred_bimod.bpred_dirrate0.56850.66490.90000.90000.90160.73870.9331bpred_bimod.bpred_jr_rate110.99580.99580.99580.99580.9958bpred_bimod.bpred_jr_nonrasrate.PP110.68290.68290.68290.68290.6829bpred_bimod.retstack_pushes113504
10、3504350435053505bpred_bimod.retstack_pops00350235023502350335030035023502350235033503bpred_bimod.ras_hits.PP0035023500350035013501000.99940.99940.99940.99940.9994測(cè)試程序?yàn)閠est.fmath預(yù)測(cè)方統(tǒng)計(jì)打、二alwaysnot=takenalwaystakenbimod(516)bimod(1024)2-level(1,1024,8,0)2-level(1,64,6,1)comb(1024)(1,1024,8,0)(1024)sim_
11、totalnsn53448534485344534453448534825348288sim_total_refs16342163421634163416342163451634522sim_num_branches10340103401034103410340103471034700simelapsedtime1111111simnst_rate53448534485344534453448534825348288sim_IPB5.1695.1695.1695.1695.16915.16885.16881111bpred_bimod.lookups1034010340103410341034
12、0103471034700bpred_bimod.updates10340103401034103410340103471034700bpredbimod.addrhits5768683988259021886075749225bpredbimod.dirhirts5768683991289315917178889474bpredbimod.misses457235011212102511692459873bpredbimod.jrhits832832815815815816816bpredbimod.jrseen832832832832832833833bpred_bimod.jr_non_
13、r83283244444ashits.PPbpred_bimod.jr_non_r8328321919191919asseen.PPbpred_bimod.bpred_ad0.5570.6610.8530.8720.85690.73200.8916d8454r_ratebpred_bimod.bpred_di0.5570.6610.8820.9000.88690.76230.9156r8489ratebpred_bimod.bpred_jr110.9790.9790.21050.97960.9796_r66atebpred_bimod.bpred_jr110.2100.2100.21050.2
14、1050.2105_n55onrasrate.PPbpredbimod.retstack00815815815816816pushesbpred_bimod.retstack_pops00813813813814814bpred_bimod.used_ras.PP00813813813814814bpred_bimod.ras_hits.PP00811811811812812bpred_bimod.ras_rate.PP000.99750.99750.99750.99750.9975測(cè)試程序?yàn)閠est.printf7、預(yù)測(cè)方統(tǒng)walwaysnot法Ikenalwaystakenbimod(51
15、6)bimod(1024)2-level(1,1024,8,0)2-level(1,64,6,1)comb(1024)(1,1024,8,0)(1024)sim_totalnsn1813818138181381813818138771813911813914777777774sim_total_refs516945169451694516945169415169475169471111sim_num_branches401604016040160401604016094016234016239999simelapsedtime1111111simnst_rate1813818138181381
16、813818138771813911813914777777774simIPB4.51654.51654.51654.51654.51654.51654.5165bpred_bimod.lookup40160401604016040160401609401623401623s9999bpred_bimod.updates4016040160401604016040160940162340162399(99bpred_bimod.addr_hi23336261363725937745373619317099384169ts1318bpred_bimod.dir_hirt2333626136374
17、9037976375930319444386404s1311bpred_bimod.misses1682414024267082184825679821791521986bpredbimod.jrhits31998319983015230152301523015330153bpredbimod.jrseen31998319983199831998319983199931999bpred_bimod.jr_non_3199831998363363363363363rashits.PPbpredbimod.jrnon319983199821982198219821982198ras_seen.PP
18、bpred_bimod.bpred_addr_rate0.58110.65080.92770.93990.93030.78650.9565bpred_bimod.bpred_dirrate0.58110.65080.93350.94560.93610.79540.9621bpred_bimod.bpred_jr_rate110.94230.94230.94230.94230.9423bpred_bimod.bpred_jr_nonrasrate.PP110.16520.16520.16520.16520.1652bpred_bimod.retstack_pushes00298022980229
19、8022980329803bpred_bimod.retstack_pops002980029800298002980129801bpred_bimod.used_ras.PP002980029800298002980129801002978929789297892979029790bpred_bimod.ras_rate.PP000.99960.99960.9960.99960.9996六、總結(jié)所謂的動(dòng)態(tài)分支處理方法,是指利用程序執(zhí)行期間的信息,進(jìn)行處理,所以這兒很明顯帶來的是硬件開銷,因?yàn)槌绦驁?zhí)行期間是不可能由軟件協(xié)助的,否則性能影響也就太大了吧。相對(duì)的,靜態(tài)分支處理,其實(shí)是利用編譯器實(shí)現(xiàn)
20、的。這次實(shí)驗(yàn)我最大的感受就是計(jì)算機(jī)就像董老師說的一樣,是在玩平衡。體系結(jié)構(gòu)設(shè)計(jì)的核心是平衡,以最快的速度獲取指令,需要較少的時(shí)鐘周期,但帶來的是預(yù)測(cè)準(zhǔn)確率的下降;如果希望提高準(zhǔn)確率,則是較慢的速度;三種分支預(yù)測(cè)方式實(shí)現(xiàn)難度各不相同,在性能方面也各有優(yōu)劣,一級(jí)分支預(yù)測(cè)追求的是快,二級(jí)分支預(yù)測(cè)追求的是準(zhǔn)確率,這都是在玩平衡。通過實(shí)驗(yàn),我更加熟悉了動(dòng)態(tài)分支預(yù)測(cè)的方法,學(xué)以致用才是硬道理,計(jì)算機(jī)的這個(gè)“平衡“還得好好玩下去。七、附錄(源程序清單)使用的是程序自帶的源代碼test.math,test.fmath,test.printf故在此不單獨(dú)列出?;玖魉€和Tomasulo算法實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康募耙?/p>
21、求掌握DLXview模擬器的使用方法;進(jìn)一步理解指令動(dòng)態(tài)調(diào)度的基本思想,了解指令動(dòng)態(tài)調(diào)度的基本過程與方法;理解記分牌算法和Tomasulo算法的基本思想,了解它們的基本結(jié)構(gòu)、運(yùn)行過程;比較分析基本流水線與記分牌算法和Tomasulo算法的性能及優(yōu)缺點(diǎn)。二、實(shí)驗(yàn)環(huán)境DLXview模擬器三、實(shí)驗(yàn)內(nèi)容1、用DLX匯編語(yǔ)言編寫代碼文件*s(程序中應(yīng)包括指令的數(shù)據(jù)相關(guān)、控制相關(guān)以及結(jié)構(gòu)相關(guān)),以及相關(guān)的初始化寄存器文件*.i和數(shù)據(jù)文件*.d;2、觀察程序中出現(xiàn)的數(shù)據(jù)相關(guān)、控制相關(guān)、結(jié)構(gòu)相關(guān),并指出三種相關(guān)的指令組合;3、將自己編寫的程序*.s、*i、*.d裝載到DLXview模擬器上,4、分別用基本流水
22、線和Tomasulo算法模擬,針對(duì)每一種模擬做如下分析:統(tǒng)計(jì)程序的執(zhí)行周期數(shù)和流水線中的暫停時(shí)鐘周期數(shù);改變功能部件數(shù)目重新模擬,觀察并記錄性能的改變改變功能部件延遲重新模擬,觀察并記錄性能的改變;5、記錄運(yùn)行Tomasulo算法時(shí)的指令狀態(tài)表和保留站信息;四、實(shí)驗(yàn)步驟用DLX匯編語(yǔ)言編寫代碼文件*.s(程序中應(yīng)包括指令的數(shù)據(jù)相關(guān)、控制相關(guān)以及結(jié)構(gòu)相關(guān)),以及相關(guān)的初始化寄存器文件*.i和數(shù)據(jù)文件*.d;將自己編寫的程序*.s、*.i、*.d裝載到DLXview模擬器上;用DLXview模擬器進(jìn)行模擬。五、實(shí)驗(yàn)結(jié)果(一)普通流水線:實(shí)驗(yàn)參數(shù)設(shè)置實(shí)驗(yàn)結(jié)果顯示該段程序運(yùn)行了11個(gè)時(shí)鐘周期改變部件數(shù)目:增加了一個(gè)除法器部件根據(jù)實(shí)驗(yàn)結(jié)果依然運(yùn)行了11個(gè)時(shí)鐘周期。所以對(duì)該f305程序增加除法器部件數(shù)目,不影響執(zhí)行效率。增加了一個(gè)加法器部件實(shí)驗(yàn)結(jié)果顯示依然運(yùn)行了11個(gè)時(shí)鐘周期。所以該f305程序?qū)τ诩臃ㄆ鞑?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣告合作經(jīng)營(yíng)合同
- 商業(yè)計(jì)劃書撰寫與助學(xué)貸款申請(qǐng)技巧
- 課題申報(bào)參考:流域與特殊地理區(qū)域生態(tài)環(huán)境保護(hù)法律問題研究
- 科技醫(yī)療的發(fā)展趨勢(shì)及挑戰(zhàn)
- 未來工作趨勢(shì)與職業(yè)路徑規(guī)劃的思考
- 室內(nèi)模擬射擊與射箭場(chǎng)設(shè)備出租考核試卷
- 2025年新世紀(jì)版九年級(jí)歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年湘師大新版八年級(jí)地理下冊(cè)月考試卷含答案
- 2025年新世紀(jì)版選修6歷史下冊(cè)月考試卷含答案
- 2025年人民版必修3歷史下冊(cè)月考試卷含答案
- 課題申報(bào)書:GenAI賦能新質(zhì)人才培養(yǎng)的生成式學(xué)習(xí)設(shè)計(jì)研究
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 駱駝祥子-(一)-劇本
- 全國(guó)醫(yī)院數(shù)量統(tǒng)計(jì)
- 《中國(guó)香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺(tái)人群趨勢(shì)洞察報(bào)告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國(guó)幽門螺桿菌感染處理共識(shí)報(bào)告-
- 天津市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 經(jīng)濟(jì)學(xué)的思維方式(第13版)
- 盤錦市重點(diǎn)中學(xué)2024年中考英語(yǔ)全真模擬試卷含答案
- 背景調(diào)查報(bào)告
評(píng)論
0/150
提交評(píng)論