![北郵計算機系統(tǒng)結(jié)構(gòu)-WINDLX模擬器實驗報告_第1頁](http://file4.renrendoc.com/view/f1ade5b2e7f89447935021d0098a0df4/f1ade5b2e7f89447935021d0098a0df41.gif)
![北郵計算機系統(tǒng)結(jié)構(gòu)-WINDLX模擬器實驗報告_第2頁](http://file4.renrendoc.com/view/f1ade5b2e7f89447935021d0098a0df4/f1ade5b2e7f89447935021d0098a0df42.gif)
![北郵計算機系統(tǒng)結(jié)構(gòu)-WINDLX模擬器實驗報告_第3頁](http://file4.renrendoc.com/view/f1ade5b2e7f89447935021d0098a0df4/f1ade5b2e7f89447935021d0098a0df43.gif)
![北郵計算機系統(tǒng)結(jié)構(gòu)-WINDLX模擬器實驗報告_第4頁](http://file4.renrendoc.com/view/f1ade5b2e7f89447935021d0098a0df4/f1ade5b2e7f89447935021d0098a0df44.gif)
![北郵計算機系統(tǒng)結(jié)構(gòu)-WINDLX模擬器實驗報告_第5頁](http://file4.renrendoc.com/view/f1ade5b2e7f89447935021d0098a0df4/f1ade5b2e7f89447935021d0098a0df45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、-. z.實驗報告學院:計算機學院課程名稱:計算機系統(tǒng)構(gòu)造實驗名稱: WINDL*模擬器實驗班級:*:*:實驗一 WINDL*模擬器安裝及使用略實驗二指令流水線相關性分析實驗類別驗證實驗實驗目的通過使用WINDL*模擬器,對程序中的三種相關現(xiàn)象進展觀察,并對使用專用通路,增加運算部件等技術(shù)對性能的影響進展考察,加深對流水線和RISC處理器的特點的理解。實驗環(huán)境Windows *P操作系統(tǒng)WinDL*模擬器實驗原理指令流水線中主要有構(gòu)造相關、數(shù)據(jù)相關、控制相關。相關影響流水線性能。數(shù)據(jù)相關定義:原有先后順序的兩條指令I1,I2)在對共享變量位置進展讀、寫時,指令流水線中實際完成的讀、寫順序與原有
2、順序不一致,導致流水線輸出錯誤。三類數(shù)據(jù)相關:寫讀(WR)相關讀寫(RW)相關寫寫(WW)相關解決方法技術(shù):1. 使*些流水線指令延遲、停頓一或多個周期。2.雙端口存儲器:如果指令和數(shù)據(jù)放在同一個存儲器。3.設置兩個存儲器:一個數(shù)據(jù)存儲,一個為指令存儲器。4.軟件優(yōu)化編譯:通過指令重新排序,消除數(shù)據(jù)相關。5.定向技術(shù):又稱旁路技術(shù)或?qū)S猛芳夹g(shù),是使后續(xù)指令提前得到前指令的運算結(jié)果(適合ALU類指令2構(gòu)造相關定義:如果*指令在流水線重疊執(zhí)行過程中,硬件資源滿足不了指令重疊執(zhí)行的要求,會產(chǎn)生資源沖突或競爭,稱為流水線構(gòu)造相關解決方法技術(shù):1. 延遲技術(shù):使*些指令延遲、停頓一或多個時鐘周期2.
3、雙端口存儲器:允許同時讀兩個數(shù)據(jù)或指令3. 設置雙存儲器哈弗構(gòu)造:一個數(shù)據(jù)存儲,一個指令存儲。 4軟件優(yōu)化編譯:通過指令重新排序消除構(gòu)造相關。3控制相關定義:控制相關是指因程序執(zhí)行轉(zhuǎn)移類指令而引起的沖突相關。包括無條件轉(zhuǎn)移、條件轉(zhuǎn)移、子程序調(diào)用、中斷等,它們屬于分支指令,執(zhí)行中可能改變程序方向,造成流水線斷流。解決方法技術(shù):靜態(tài)分支技術(shù)靜態(tài)轉(zhuǎn)移預測技術(shù)(猜想法) ;延遲轉(zhuǎn)移;提前形成條件碼,生成轉(zhuǎn)移目標地址;改良循環(huán)程序;動態(tài)分支預測技術(shù)轉(zhuǎn)移歷史表BHT;轉(zhuǎn)移目標緩沖棧BTB;轉(zhuǎn)移目標指令緩沖棧BTIB;實驗步驟1觀察程序中出現(xiàn)的數(shù)據(jù)/控制/構(gòu)造相關。指出程序中出現(xiàn)上述現(xiàn)象的指令組合。2考察增
4、加浮點運算部件對性能的影響。3考察增加forward部件對性能的影響。4觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和轉(zhuǎn)移不成功時候的流水線開銷。注意:除2以外,浮點加、乘、除部件都只有一個;本問題中所有浮點運算部件的延時都請設定為4個周期。實驗過程在開場模擬之前,將fact.s和input.s加載至WinDL*中。加載完后點擊Code后可以看到如下列圖所示。證明加載成功,即可進展以下實驗。1觀察程序中出現(xiàn)的數(shù)據(jù)/控制/構(gòu)造相關。指出程序中出現(xiàn)上述現(xiàn)象的指令組合。數(shù)據(jù)相關如下圖lbu r3,00(r2)要在WB周期寫回r3中的數(shù)據(jù);而下一條指令seqi r5,r3,0a要在intE*周期中讀取r3中的數(shù)據(jù)。上述過程
5、發(fā)生了WR沖突,即寫讀相關。為了防止此類沖突,seq r5,r4,0a的intE*指令延遲了一個周期進展。則發(fā)生數(shù)據(jù)相關的指令為1.2控制相關可知第0*00000130條指令jfact.Loop為循環(huán)指令,指令在E*時刻才能判別指令是否發(fā)生轉(zhuǎn)移,此時發(fā)生了控制相關。如下所示,此時指令跳轉(zhuǎn)成功,故順序取出的指令必須中斷,并且轉(zhuǎn)向取出轉(zhuǎn)移到的指令。jfact.Loop在E*時發(fā)現(xiàn)跳轉(zhuǎn)成功,則在E*階段馬上完畢指令順序取出的指令sd PrintfValue(r0),f0,轉(zhuǎn)而執(zhí)行l(wèi)ed f0/4指令的取指階段ID。由于此控制相關使得流水線斷流一個時鐘周期。1.3 構(gòu)造相關上圖說明了addi r2,r
6、2,01的詳細信息。該指令與它前一條指令add r1,r1,r3發(fā)生了構(gòu)造相關。并且由于此處的沖突,需要暫停2個周期。在ID段暫停后,則開場進圖intE*段。所以這條指令addi r2,r2,01你不能進入ID流水段,譯碼局部占用,發(fā)生了構(gòu)造相關。該局部的指令為:2考察增加浮點運算部件對性能的影響。取N=12設置浮點運算部件的配置。由于實驗手冊上面要求Delay=4,所以我們將Delay這一欄改成4,而Count可以任意,為了比照,我們第一次浮點運算部件取全部為2,第二次浮點運算部件取全部為4。分別運行50個cycles后,數(shù)據(jù)比照方下:比擬各個數(shù)據(jù),發(fā)現(xiàn)沒有變化。無論怎么增加浮點運算部件,統(tǒng)
7、計結(jié)果都一樣。原因在于此程序中浮點計算指令沒有重疊,所以并行度沒有增加,性能沒有提高。所以,浮點運算部件的增減對效率無影響。3考察增加forward部件對性能的影響。為了比照有無forward部件的性能。需要在勾選enable forwarding,以及不勾選enable configuration來看性能數(shù)據(jù)的比照。不使用forward部件:使用forward部件:從上面的數(shù)據(jù)我們可以看出增加forward部件后,總的周期數(shù)由200減少至158,RAW由原來占總時鐘周期的32.5%減少至16.46%,RAW個數(shù)由原來的65減少至26。增加forward部件使得控制相關比例增加了。所以,使用f
8、orward部件后,總的時鐘周期減少,數(shù)據(jù)相關減少,流水線的性能得到一定的改善。4觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和轉(zhuǎn)移不成功時候的流水線開銷??芍獥l件分支指令總共有15條,其中有2條轉(zhuǎn)移成功13.33%,有13條轉(zhuǎn)移不成功。轉(zhuǎn)移不成功的指令就順序執(zhí)行,故不會影響程序的運行,不會導致流水線斷流;而轉(zhuǎn)移成功的指令會導致流水線的斷流,要廢棄預先讀入的指令,重新從轉(zhuǎn)移成功處讀入指令,執(zhí)行效率會下降。經(jīng)分析可知,兩次斷流都會導致一個周期的流水線斷流。實驗總結(jié)1.在流水線中,硬件資源滿足不了指令重疊執(zhí)行的要求,會產(chǎn)生資源沖突或競爭,稱為流水線構(gòu)造相關,而解決流水線相關的途徑之一是設置雙存儲器哈弗構(gòu)造:一個數(shù)據(jù)存儲
9、,一個指令存儲。實際上,本身實現(xiàn)DL*指令的硬件設備已經(jīng)考慮到了這一點,本身已有兩個存儲器,一個為數(shù)據(jù)存儲器,一個為指令存儲器。故本身就解決了局部構(gòu)造相關問題。并且fact.s中的指令并不會導致其他資源沖突,故無法表達資源相關。試驗中多參加浮點數(shù)部件,運行效率等沒有變化。通過觀察指令的運行情況,因為不會發(fā)生構(gòu)造相關硬件資源沖突,在流水線中的部件線性使用,故參加部件也不會對結(jié)果有直接的影響。2.本次實驗,主要通過對于三種相關的觀察,分析出現(xiàn)相關時的指令,分析浮點運算部件和forward部件對性能的影響,觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和不成功時的流水線開銷,這些實驗一步一步,通過WinDL*形象生動的表示
10、,使我在實踐中更加深入的認識了流水線。 3. 通過本次實驗,我熟悉了指令執(zhí)行的每個階段的任務,對時空圖的理解也更深了一步,對流水線中的三種相關性問題有了認識,同時通過此實驗學習到了解決這些相關問題的方法,從而對課上所學的知識有了更系統(tǒng)的認識。實驗三 DL*處理器程序設計實驗類別綜合型實驗實驗目的學習使用DL*匯編語言編程,進一步分析相關現(xiàn)象實驗環(huán)境Windows *P操作系統(tǒng)DL*匯編語言環(huán)境實驗原理掌握向量運算算法和編程方法。實驗步驟1熟悉DL*匯編語言。2編寫兩雙精度浮點一維向量的加法運算程序。3對此程序完成上面實驗二中1)、2)、3)、4)方面的分析。六實驗過程代碼清單和注釋說明.dat
11、a VectorLength: .word 16 Vector1: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 Vector2: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 ; 聲明向量長度以及聲明向量 1、2 Printf1: .asciiz Vector = Printf2: .asciiz %f .align 2 PrintPrompt: .word Printf1 PrintPar: .word Printf2 Result: .space 4 ; 存放打印數(shù)據(jù)的空間申請.te*t main:
12、addi r14,r0,PrintPrompt trap 5 lw r20,VectorLength addi r2,r0,0 Loop: ld f10,Vector1(r2) ld f12,Vector2(r2) ; 循環(huán)體中讀入向量cvti2d f0,f10 cvti2d f2,f12 addd f4,f2,f0 ; 加法運算Finish:;* Finish,write result into stdout sd Result,f4 addi r14,r0,PrintPar trap 5 ; 系統(tǒng)中斷,輸出結(jié)果addi r2,r2,4 subi r20,r20,1 bnez r20,Loo
13、p ;End trap 0運行結(jié)果2觀察程序中出現(xiàn)的數(shù)據(jù)/控制/構(gòu)造相關。指出程序中出現(xiàn)上述現(xiàn)象的指令組合。無構(gòu)造相關,有控制相關15次和數(shù)據(jù)相關64次。數(shù)據(jù)相關:以當對當前指令的操作數(shù)存放器進展操作E*的時候,前幾條指令的運算結(jié)果還未寫回WB結(jié)果存放器,由此產(chǎn)生數(shù)據(jù)相關。構(gòu)造相關:由于只做了一次加法,所以沒有產(chǎn)生構(gòu)造相關第一條命令在WB段,第二條命令在intE*段,第四條命令在IF段。而第三條命令指示為aborted。此處發(fā)生了控制相關。3考察增加浮點運算部件對性能的影響。設置浮點運算部件的配置。由于實驗手冊上面要求Delay=4,所以我們將Delay這一欄改成4,而Count可以任意,為了
14、比照,我們第一次浮點運算部件取全部為2,第二次浮點運算部件取全部為4。數(shù)據(jù)比照方下:比擬各個數(shù)據(jù),發(fā)現(xiàn)沒有變化。無論怎么增加浮點運算部件,統(tǒng)計結(jié)果都一樣。原因在于此程序中浮點計算指令沒有重疊,所以并行度沒有增加,性能沒有提高。所以,浮點運算部件的增減對效率無影響。4考察增加forward部件對性能的影響。為了比照有無forward部件的性能。需要在勾選enable forwarding,以及不勾選enable configuration來看性能數(shù)據(jù)的比照。不使用forward部件:使用forward部件:從上面的數(shù)據(jù)我們可以看出增加forward部件后,總的周期數(shù)由413減少至315,RAW由
15、原來占總時鐘周期的39.22%減少至20.32%,RAW個數(shù)由原來的162減少至64。增加forward部件使得控制相關比例增加了。所以,使用forward部件后,總的時鐘周期減少,數(shù)據(jù)相關減少,流水線的性能得到一定的改善。5觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和轉(zhuǎn)移不成功時候的流水線開銷。可知條件分支指令總共有16條,其中有15條轉(zhuǎn)移成功93.75%,有1條轉(zhuǎn)移不成功。轉(zhuǎn)移不成功的指令就順序執(zhí)行,故不會影響程序的運行,不會導致流水線斷流;而轉(zhuǎn)移成功的指令會導致流水線的斷流,要廢棄預先讀入的指令,重新從轉(zhuǎn)移成功處讀入指令,執(zhí)行效率會下降。經(jīng)分析可知,兩次斷流都會導致一個周期的流水線斷流。實驗總結(jié)通過此次實驗
16、我對實驗二所進展的數(shù)據(jù)相關、控制相關、構(gòu)造相關的性能分析做了更深入的了解,以及對于功能部件對流水線的影響,forwarding技術(shù)對流水線的影響,還有就是靜態(tài)指令調(diào)度等。通過自行編寫向量矢量算法,在代碼中初始化兩個向量,按照分量順序進展運算。當然,如果想要改變源向量,直接處理代碼中的相關數(shù)據(jù)即可??傊搶嶒炛饕貙Ω↑c運算以及對于流水線的相關影響及性能分析,使我受益匪淺。實驗四代碼優(yōu)化實驗類別綜合實驗實驗目的學習簡單編譯優(yōu)化方法,觀察采用編譯優(yōu)化方法所帶來的性能的提高。實驗環(huán)境Windows *P操作系統(tǒng)DL*匯編語言環(huán)境實驗原理采用靜態(tài)調(diào)度方法重排指令序列,減少相關,優(yōu)化程序?qū)嶒灢襟E1使
17、用靜態(tài)調(diào)度方法手工優(yōu)化實驗2或?qū)嶒?的代碼2對優(yōu)化程序,重復實驗二中1、2、3、4工作。六實驗過程對實驗三中的兩雙精度浮點一維向量的加法運算程序代碼進展優(yōu)化,如下所示:.dataVectorLength: .word 16 Vector1: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 Vector2: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 Printf1: .asciiz Vector = Printf2: .asciiz %f .align 2 PrintPrompt: .word Printf
18、1 PrintPar: .word Printf2 Result: .space 4 .te*t main: addi r14,r0,PrintPrompt trap 5 addi r2,r0,0 lw r20,VectorLength Loop: ld f10,Vector1(r2) ld f12,Vector2(r2) addi r2,r2,4 cvti2d f0,f10 cvti2d f2,f12 subi r20,r20,1 addd f4,f2,f0 ;此處進展優(yōu)化,之前插入一條指令,防止f2的RAW沖突sd Result,f4 addi r14,r0,PrintPar trap 5 ;addi r2,r2,4 ;subi r20,r20,1 bnez r20,Loop trap 0 運行結(jié)果一樣程序相性分析優(yōu)化前優(yōu)化后由上述兩圖比照可以看出,數(shù)據(jù)相關:其RAW相關由優(yōu)化前的20.32%減少為16.05%,性能改善很多;構(gòu)造相關沒有發(fā)生改變;控制相關:由原來的4.76%變?yōu)?.02%,沒有改善。因此,可以看出,我所進展的代碼優(yōu)化對性能方面改善并不是很強烈,主要影響還是在數(shù)據(jù)相關方面。考察增加浮點運算部件對性能的影響。由此可以看出,其浮點運算部件個數(shù)對統(tǒng)計結(jié)果并無影響。原因為該運算過程中不存在構(gòu)造相關,因此并行度沒有增加,程序影響不大,部件增加對于系統(tǒng)的性能并沒有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 45185-2024眼視光產(chǎn)品成品眼鏡安全技術(shù)規(guī)范
- SMARCA2-ligand-13-生命科學試劑-MCE-7252
- Nonanoylcarnitine-C9-carnitine-生命科學試劑-MCE-3656
- CP-LC-1254-生命科學試劑-MCE-4991
- 3-Hydroxy-desalkylflurazepam-生命科學試劑-MCE-8942
- 二零二五年度瓷磚產(chǎn)品出口退稅代理服務合同
- 二零二五年度泳池水上運動項目推廣合作合同
- 二零二五年度環(huán)境污染責任賠償調(diào)解協(xié)議
- 質(zhì)量控制在提高實驗室效率中的作用
- 注塑生產(chǎn)過程控制流程
- 教科版六年級科學下冊 (廚房里的物質(zhì)與變化)教學課件
- 一年級下冊口算題(可直接打印)
- 公務員面試應急應變題目大全及解析
- 學校年級組長工作計劃
- 浙江省炮制規(guī)范2015版電子版
- 冰心《童年的春節(jié)》
- 鄭州小吃詳細地點
- 上海高考英語詞匯手冊
- 2021年江蘇省淮安市淮陰中學高一政治下學期期末試題含解析
- 公共政策工具-課件
評論
0/150
提交評論