![體系結(jié)構(gòu)windlx流水線試驗(yàn)報(bào)告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/66605d08-4cb8-4df5-b932-88c5133123a1/66605d08-4cb8-4df5-b932-88c5133123a11.gif)
![體系結(jié)構(gòu)windlx流水線試驗(yàn)報(bào)告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/66605d08-4cb8-4df5-b932-88c5133123a1/66605d08-4cb8-4df5-b932-88c5133123a12.gif)
![體系結(jié)構(gòu)windlx流水線試驗(yàn)報(bào)告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/66605d08-4cb8-4df5-b932-88c5133123a1/66605d08-4cb8-4df5-b932-88c5133123a13.gif)
![體系結(jié)構(gòu)windlx流水線試驗(yàn)報(bào)告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/66605d08-4cb8-4df5-b932-88c5133123a1/66605d08-4cb8-4df5-b932-88c5133123a14.gif)
![體系結(jié)構(gòu)windlx流水線試驗(yàn)報(bào)告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/66605d08-4cb8-4df5-b932-88c5133123a1/66605d08-4cb8-4df5-b932-88c5133123a15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一基本實(shí)驗(yàn)-by王琳PB072104321) 實(shí)驗(yàn)?zāi)康模?)熟悉計(jì)算機(jī)流水線基本概念2) 了解DLX基本流水線的各段的功能3) 了解各種不同指令在流水線中的實(shí)際流動(dòng)情況4)對(duì)流水線做性能分析5) 了解影響流水線效率的因素一一數(shù)據(jù)相關(guān)、結(jié)構(gòu)相關(guān)、控制相關(guān),了解相關(guān)的種類6) 了解解決數(shù)據(jù)相關(guān)的方法2 .實(shí)驗(yàn)平臺(tái):WinDLX仿真器WinDLX簡(jiǎn)介:是一個(gè)圖形化、交互式的DLX流水線仿真器??梢匝b入DLX匯編語言程序,然后單步,設(shè)斷點(diǎn)或是連續(xù)執(zhí)行該程序.CPU的寄存器,流水線,I/O和存儲(chǔ)器都可以用圖形表示出來提供了對(duì)流水線操作的統(tǒng)計(jì)功能.可以裝載文件名為*.s的文件.要求的硬件平臺(tái)是舊M-P
2、C兼容機(jī).WinDLX是一個(gè)Windows應(yīng)用程序,運(yùn)行以上和以上的操作系統(tǒng).WinDLX軟件包中帶有說明文件及教程,可以供使用者進(jìn)一步了解仿真器的使用方法和DLX處理器的原理.大家再進(jìn)行實(shí)驗(yàn)前應(yīng)該仔細(xì)閱讀這些文檔.3 .實(shí)驗(yàn)內(nèi)容:1)在仿真器上分別運(yùn)行單條指令:Load指令、Store指令、分支指令、寄存器ALU指令、立即數(shù)ALU指令,記錄它們?cè)诹魉€中的執(zhí)行情況Lw:FC=OxJdQQDlLCi1DR=OhOQUODOOQR1AAR=UhJQOOCIOzICfiHl-OhCJOOOCUJORIIR-0x3000000mi-OkCODOOOOORlA*0x000DOO00R;AHT三r;.;
3、-irrrirrrir*OmOQQOOiOOORIE=OOOOOOClDoxfionoooaaPlbMl=UxDOODOOJU£4-OkOQOOOOOORIBTA-OiOQODOOOORS-OhOOJOCUOORlALU-OjeJOODOODORS-OkOODQOD3DR2ALUHI-Cz300DC03CB?-OkOOJOCOOO鼠FP5E=0x10000000R8=OKoaDooooaT?2口片占度藁OaOaODOQQiQ吟OKfiodoaoinaR2snR=CKOaDDiOODiDR10=UkCODDCOOCSjHHL=UkJUOUOOjOOkLOOOOOOUf?2Resiste
4、r觀察此流水線時(shí)空?qǐng)D,可以發(fā)現(xiàn):轉(zhuǎn)移指令引起的延遲僅為1clocks,另2stalls是trap指令引起的,這個(gè)執(zhí)行結(jié)果似與不采用forwarding技術(shù)的前提相違,只能理解為對(duì)于無條件的轉(zhuǎn)移指令,新的PC值在EX階段即已被寫入。Sw。ClockCycleDiqruIndufareJ(jcls訥物T加處1F,iihti中UkJ,j中i聞T中1tlleBorj-l面:口二瓦二疣工麗金加元叫區(qū)川匚口匚Q二二Q:而:,:面兀毋,4、T,2.IIIIlliIF|lt>LJMEP|VEn|EM|MEH哂|bef后片0亢4OeOJCDIQIS0x0001102cQiDOOIlOlOfwnnnninM
5、000000DOmOOIOOIOOQkOOODOOOOOsOOOOOODOIkOOOOIOOIDttOOOOOOOO0x00100100QxOOODOOOOOxMODOODOIkOOOOIOOIMD00000DOxfiOOOOOOO能刷順OkMOMODOIkOOOOIOOIDhOOOOOOODOMOIOQIOOOsDOOQOOQOOxDOODODDOIsOOOOIOOInnnnnnnnnrivnnnnniinnnvnnnnnnnndinnnnnnnnnnmnrBeqz:Instnctinr點(diǎn)i已力beq:(1Jirislib*OkOtrapOkOgp由此圖可見,對(duì)于分支指令,總是用not-ta
6、ken的策略來處理,并且也認(rèn)為新的PC值也在EX階段即已被寫入,且cond條件也在EX段被算出(這顯然是一個(gè)極不合理的假設(shè),究竟為何分支指令的延遲為1stall有待進(jìn)一步探究)奇存器ALU指令立即數(shù)ALU指令OsCOJOCllOLEE=OkOODOODOORli工班器OeOOOOOIOcldehi-OkOODOODODRI:IF=OkOCDCOOOO51-0x00DOC000排OkOODOODOEAH3=OkOODOOOOO於0x00000DOO511Register2)仿真器運(yùn)行一段無相關(guān)的程序,記錄它的執(zhí)行情況,計(jì)算流水線的加速比、吞吐率與效率。下面是一段不相關(guān)的程序,一共6條指令A(yù)DDI
7、R5,R5,1SUBIR4,R4,1ANDR3,R3,R3XORR7,R7,R7ADDIR8,R8,1ADDIR9,R9,1在WinDLX中執(zhí)行的結(jié)果如下:h$lftjiclon>3iQj七跳addir5./5,Ck1tubi4.U1trdrljBjSRil77/7addr8,8*1acts包自.CW二口3鼻了白5jIIIIF|l|乃尸,HEM|WEI|一I口it:.HD1|AE-FE.卬>1F)|F|巾|uF-lMEM|以B1- |IDMM-MEN-nP如上圖所示:6條指令一共執(zhí)行了10個(gè)周期,而每個(gè)指令都需要5個(gè)周期來完成。故可得加速比:5*6/10=3實(shí)際吞吐率:流水線由5段
8、組成,完成6條指令,m=5,n=6,T=5At+(6-1)At=10At,Tp=n/T=3/(5At),即為實(shí)際吞吐率。效率:E=1/(1+(m-1)/n)=TP*At=3/53)在仿真器運(yùn)行一段程序在用仿真器模擬前先自己手動(dòng)分析出程序執(zhí)行時(shí)的相關(guān)種類與個(gè)數(shù):1. addi-addi關(guān)于r2的raw相關(guān):2stalls2. lw-addi關(guān)于r1的raw相關(guān):2stalls3. addi-sw關(guān)于r1的raw相關(guān):2stalls4. addi-sub關(guān)于r2的raw相關(guān):2stalls5. sub-bnez關(guān)于r4的raw相關(guān):2stalls6. bnez的控制相關(guān)(alwaysnot-tak
9、e):1 stalls(nothit)/0stall(hit)7. j的控制相關(guān):1stalls8. trap:2stalls在DLX上的實(shí)際運(yùn)行結(jié)果:統(tǒng)計(jì)該程序在流水線中出現(xiàn)的各種相關(guān)個(gè)數(shù),及其口叱|小”口diriebldgIt&JLlfa:RAW«l-alk:14G.1EMok-alCvoll0(O.M之dallu.扇iSbijoidjil式qll招n(n口口?口F川ICvIbsJtFitrolseIILJt!3.IJ!seyelQ«lTo*gg:251/3NI>I!1.'H.3|.II-.|山I.h|.-dC:onditiczsn1ELi3fiu
10、Iiuh)ToiaI1r11Z*i0"olallIn&rLQtiorn目.Id-I|1IIII>1rill>>>ridFiir>-i".|rvatlAkw:1SO;DQ發(fā)3.113nd,HfiknanB*Tr=i®l1-U,IFirn+,二Ttn,t*干*tLi"4my引起的流水線暫停周期數(shù):可見,此執(zhí)行結(jié)果與之前手動(dòng)分析的結(jié)果完全相同4)通過在流水線中設(shè)置定向路徑來消除數(shù)據(jù)相關(guān)后,僅lw-addi一處會(huì)產(chǎn)生關(guān)于ri的raw相關(guān),延遲為1stall,轉(zhuǎn)移指令的延遲情況不變:一個(gè)循環(huán)的執(zhí)行時(shí)間:6+1+1=8(cloc
11、ks)總執(zhí)行時(shí)間:(2)+(8*2-1)+(1+1)+(1+2)=22(clocks)總RAW1關(guān)的stall數(shù):1*2=2(clocks)運(yùn)行程序:LICl«ckCyvltDioeioa;1?!19,19,20I21,23,23IIF|ID,MEb|we|lustiuzii.nsCjjdesmbHj3jt2briEZ"U)0FjFhdhnapQrf)1r叩帆op|IF|dbwted.fTstd_L'_lfhn有出入的原因是windlx認(rèn)為除了在lw-addi處有1stall的raw相關(guān),sub-bnez處也會(huì)有1stall的raw相關(guān)(真搞不懂,難道分支指令在IF
12、階段開始讀取寄存器的值了!),按照這種想法重新計(jì)算的結(jié)果是:一個(gè)循環(huán)的執(zhí)行時(shí)間:6+1*2+1=9(clocks)總執(zhí)行時(shí)間:2+(9*2-1)+(1+1)+(1+2)=24(clocks)總RAW1關(guān)的stall數(shù):2*2=4(clocks)統(tǒng)計(jì)在流水線中出現(xiàn)的相關(guān)個(gè)數(shù),及其引起的流水線暫停周期數(shù):St;stalls:4口600士!allCclealtHereofLDMtali:2(0CC»hFRAWB&bFlirnnhZIjmp.1nils,'PSflofRAX1/Ktrill?sJFloatingpoint冷口版0山.00第ofRAWstalkWAW師川釐ILC
13、IO豆ordllCwlMStructuraletsllt:010,%of刮匚爐日aControlstalls:218.00ofalCyclles)Tidjj式/®2(0.00%erfdllCjclesJTrilliA文川|同WZ口件Qf川口碧CotidxtronffllEzrum匚tius;)Totl:21.12HllScifallthereof,taktn:1bULU-=.ofallcondBranchesInottakeriLIbU.UU*dI-allcond.Branches運(yùn)行程序:Instructinns/Cycles:14,1S,1G,17,16,1S,20d215)通過
14、對(duì)程序進(jìn)行編譯優(yōu)化并結(jié)合其他相關(guān)解決方法一一分支預(yù)測(cè)與延遲槽:由于windlx默認(rèn)采取了alwaysnot-taken的分支預(yù)測(cè)策略,且不支持延遲槽的概念,所以唯一可做的調(diào)度就是通過分離lw-addi和sub-bnez指令來消除raw相關(guān),調(diào)度后的程序如下圖所示:一個(gè)循環(huán)的執(zhí)行時(shí)間:6+1=7(clocks)總執(zhí)行時(shí)間:2+(7*2-1)+(1+1)+(1+2)=20(clocks)總RAW1關(guān)的stall數(shù):0(clocks)wOMFo(同m口I4,LOOFFinishirap廝口irap山口nop1TIDI£;:MEMwe|IF|lP:|IF|I-|IWE|;IFlatQUed:
15、|l卜刈|I口|;一統(tǒng)計(jì)在流水線中出現(xiàn)的相關(guān)個(gè)數(shù),及其引起的流水線暫停周期數(shù)StnlLs-.HAWstalli.(Q-OOS&ufall口¥以61,Ihcreuf.LD虱al%0UUQ笈ufH#v/就dlaEtranch/Jumipstalls:0(000ofRAW&F1nMingpointstalls:0(0.00ofRAM/殳WAWJtalk:00.00ofoilCyclopStiuctural3toi00,00c%ofallCydn)Control5-tol5:2(9,52?川RICwdcTrapstalls:2(9.62ofallCyclesToMII4
16、63;3II19.05攔ofMCondx-tioma.1Hironohea):T口上日上212L5OWofallInFstructionlthereof:taken:1(blJ.UUohallc=ond.HranclnesnetleP.en:15U.Utlhof占IIesmd-BfanchMj4 .實(shí)驗(yàn)步驟:1)運(yùn)行WinDLX仿真器.2)根據(jù)實(shí)驗(yàn)內(nèi)容的要求設(shè)計(jì)出相應(yīng)的DLX程序.3)完成所有的實(shí)驗(yàn)內(nèi)容.5 .實(shí)驗(yàn)時(shí)間:4課時(shí)6 .實(shí)驗(yàn)要求:1)必做實(shí)驗(yàn)。2)自己設(shè)計(jì)出體現(xiàn)實(shí)驗(yàn)要求的程序。比如在進(jìn)行統(tǒng)計(jì)相關(guān)種類與個(gè)數(shù)的步驟中所用到的程序怎么盡可能包含所有種類的相關(guān),建議3)要求學(xué)生實(shí)際在仿真器
17、運(yùn)行程序并統(tǒng)計(jì)結(jié)果,課后形成圖表上交實(shí)驗(yàn)報(bào)告。4)通過實(shí)驗(yàn)分析相關(guān)對(duì)流水線的性能影響,實(shí)際掌握各種相關(guān)解決策略,比較采用各種策略前后流水線的性能,形成圖表上交實(shí)驗(yàn)報(bào)告。7 .參考材料:計(jì)算機(jī)體系結(jié)構(gòu)教材、WinDLX仿真器使用指南8 .附錄編寫代碼的要求:1)需要編寫代碼文件*.s。所有程序均用DLX匯編語言編寫.2)文件格式請(qǐng)參照WinDLX自帶的例子程序.常見問題:1. Load指令后都是nop注意選擇了文件后要Select,或雙擊,下方SelectFiles顯示了相應(yīng)的文件名才是已經(jīng)選擇了文件。選擇之后需再Load.正確的Load會(huì)顯示:File(s)LoadedSuccessfully
18、,ResetDLX此時(shí)在Window->Code窗口里應(yīng)該能看到你的代碼。2. Load時(shí)會(huì)出現(xiàn)"CodeorDataError”這是因?yàn)槟愕膮R編代碼有錯(cuò)。DLX匯編的格式請(qǐng)參考幫助文件之TheDLX-AssemblyLanguage&&DLXInstructionsSet&&DLX-Examples。如果是Load自帶的GC防口FACT的仞子,請(qǐng)先務(wù)必Load。(WinDLX可以一次load多個(gè).s文件).3. 如何初始化內(nèi)存呢Memory->Change里面可以察看/設(shè)置內(nèi)存的值,指定Address和Value后Set即可。Memory
19、->Display可以顯示內(nèi)存的值。4. 程序運(yùn)行時(shí)會(huì)報(bào)錯(cuò)"MemError"可能是因?yàn)槟愠绦蛑杏玫降脑L存地址沒有對(duì)齊導(dǎo)致,Memory是按字對(duì)齊的,訪問地址必須是4的倍數(shù)。也可能是地址超過了存儲(chǔ)器得地址范圍。默認(rèn)的存儲(chǔ)器大小是0x8000Bytes,可以通過Configuration->MemorySize來設(shè)置大小。.5. 如何載入立即值可以通過LHI指令和其他指令的組合,或者用ADDI指令來實(shí)現(xiàn)。注意LW是訪存指令,并非載入立即值指令。具體指令請(qǐng)參考DLXInstructionSet。6. 指令用到了立即數(shù)需不需要用“#"用不用不會(huì)影響,具體請(qǐng)參
20、考TheDLX-AssemblyLanguage&&DLX-Examples.7. 例子里的.data,.global等是干什么用的這些是編譯制導(dǎo)語句,具體含義請(qǐng)參考TheDLX-AssemblyLanguage->Directives.spacesizeMovethecurrentstoragepointerforwardsizebytes(toleavesomeemptyspaceinmemory).dataaddressCausethefollowingcodeanddatatobestoredinthedataarea.Ifanaddresswassupplied
21、,thedatawillbeloadedstartingatthataddress,otherwise,thelastvalueforthedatapointerwillbeused.Ifwewerejustreadingdatabasedonthetext(code)pointer,storethataddresssothatwecancontinuefromtherelater(ona.textdirective).textaddressCausethefollowingcodeanddatatobestoredinthetext(code)area.Ifanaddresswassupplied,thedatawil
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二零二五年度豪華別墅租賃定金及維護(hù)協(xié)議
- 二零二五年度理發(fā)店轉(zhuǎn)讓合同-附帶店鋪裝修及經(jīng)營策略指導(dǎo)
- 二零二五年度砂石料運(yùn)輸安全培訓(xùn)及應(yīng)急預(yù)案協(xié)議
- 基于大數(shù)據(jù)的小學(xué)數(shù)學(xué)教育分析
- 提升安保措施保障智慧旅游出行安全
- 專業(yè)育嬰師服務(wù)合同
- XX省重點(diǎn)水電工程擴(kuò)建項(xiàng)目合同2025
- 個(gè)人股權(quán)轉(zhuǎn)讓合同書
- 產(chǎn)品售后保養(yǎng)服務(wù)合同樣本
- 個(gè)人借款抵押存單合同范本
- 2024年公安機(jī)關(guān)理論考試題庫附答案【考試直接用】
- 課題申報(bào)參考:共同富裕進(jìn)程中基本生活保障的內(nèi)涵及標(biāo)準(zhǔn)研究
- 2025年浙江嘉興桐鄉(xiāng)市水務(wù)集團(tuán)限公司招聘10人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 康復(fù)醫(yī)學(xué)科患者隱私保護(hù)制度
- 環(huán)保工程信息化施工方案
- 狂犬病暴露后預(yù)防處置
- 【人教版】免疫系統(tǒng)的組成和功能課件1
- 農(nóng)信社運(yùn)營主管述職報(bào)告【三篇】
- 48個(gè)國際音標(biāo)表(打印版)已整理
- 建標(biāo) 198-2022 城市污水處理工程項(xiàng)目建設(shè)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論