計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn)課件_第1頁(yè)
計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn)課件_第2頁(yè)
計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn)課件_第3頁(yè)
計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn)課件_第4頁(yè)
計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn)課件_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)體系結(jié)構(gòu)課程實(shí)驗(yàn) 流水線篇12019-3-162019-3-16第1頁(yè),共29頁(yè)。主要內(nèi)容實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)原理實(shí)驗(yàn)平臺(tái)WinDLX實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)步驟實(shí)驗(yàn)要求2Computer Architecture - Pipeline第2頁(yè),共29頁(yè)。實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)該模擬實(shí)驗(yàn),進(jìn)一步掌握和鞏固的 流水線基本知識(shí);初步掌握在特定體系結(jié)構(gòu)下的匯編代碼的編寫(xiě)和優(yōu)化;培養(yǎng)運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力。 3Computer Architecture - Pipeline第3頁(yè),共29頁(yè)。實(shí)驗(yàn)原理(1/4)流水線執(zhí)行過(guò)程4Computer Architecture - Pipeline第4頁(yè),共29頁(yè)。實(shí)驗(yàn)原理(2/

2、4)流水線中的相關(guān)問(wèn)題結(jié)構(gòu)相關(guān)數(shù)據(jù)相關(guān)RAW / WAR / WAW控制相關(guān)硬件資源不夠條件分支或跳轉(zhuǎn)指令5Computer Architecture - Pipeline第5頁(yè),共29頁(yè)。實(shí)驗(yàn)原理(3/4)定向技術(shù) 在發(fā)生數(shù)據(jù)相關(guān)時(shí),等待前面計(jì)算結(jié)果的指令并不一定真的馬上就用到該計(jì)算結(jié)果,如果能夠?qū)⒃撚?jì)算結(jié)果從其產(chǎn)生的地方直接送到其他指令需要它的地方,就可以避免暫停。循環(huán)展開(kāi) 是一種犧牲程序的尺寸來(lái)加快程序的執(zhí)行速度的優(yōu)化方法??梢杂沙绦騿T完成,也可由編譯器自動(dòng)優(yōu)化完成。循環(huán)展開(kāi)通過(guò)將循環(huán)體代碼復(fù)制多次實(shí)現(xiàn)。循環(huán)展開(kāi)能夠增大指令調(diào)度的空間,減少循環(huán)分支指令的開(kāi)銷(xiāo)。循環(huán)展開(kāi)可以更好地實(shí)現(xiàn)數(shù)據(jù)預(yù)

3、取技術(shù)。6Computer Architecture - Pipeline第6頁(yè),共29頁(yè)。實(shí)驗(yàn)原理(4/4)流水線性能評(píng)價(jià)加速比吞吐率效率7Computer Architecture - Pipeline第7頁(yè),共29頁(yè)。實(shí)驗(yàn)平臺(tái)WinDLX8Computer Architecture - Pipeline第8頁(yè),共29頁(yè)。實(shí)驗(yàn)平臺(tái)WinDLX的使用步驟安裝 配置 浮點(diǎn)段配置 存儲(chǔ)器配置 模擬 代碼載入 程序推進(jìn) 機(jī)器狀態(tài)的查看 9Computer Architecture - Pipeline第9頁(yè),共29頁(yè)。WinDLX模擬器安裝WinDLX包含windlx.exe和windlx.hlp

4、文件。同時(shí),還需要一些擴(kuò)展名為.s的匯編代碼文件。本次實(shí)驗(yàn)課將使用fact.s和input.s這兩個(gè)匯編代碼文件。WinDLX的安裝非常簡(jiǎn)單,只要將WinDLX1.3文件夾拷貝到一個(gè)不含中文路徑的目錄下即可,假設(shè)將其拷貝到D盤(pán)下,然后雙擊執(zhí)行里面的windlx.exe,就可進(jìn)入Windlx模擬器。 10Computer Architecture - Pipeline第10頁(yè),共29頁(yè)。開(kāi)始和配置WinDLX為了初始化模擬器, 點(diǎn)擊File 菜單中的 Reset all 菜單項(xiàng),彈出一個(gè)“Reset DLX”對(duì)話框。然后點(diǎn)擊窗口中的“確認(rèn)”按鈕即可。 11Computer Architectur

5、e - Pipeline第11頁(yè),共29頁(yè)。開(kāi)始和配置WinDLXWinDLX可以在多種配置下工作。可以改變流水線的結(jié)構(gòu)和時(shí)間要求、存儲(chǔ)器大小和其他幾個(gè)控制模擬的參數(shù)。12Computer Architecture - Pipeline第12頁(yè),共29頁(yè)。裝載測(cè)試程序 在開(kāi)始模擬之前,至少應(yīng)裝入一個(gè)程序到主存。我們選fact.s為例,fact.s 計(jì)算一個(gè)整型值的階乘;它的運(yùn)行還需要一個(gè)輔助文件input.s, input.s中包含一個(gè)子程序,它讀標(biāo)準(zhǔn)輸入(鍵盤(pán))并將值存入DLX處理器的通用寄存器R1中。按如下步驟操作,可將這兩個(gè)文件裝入主存。為此,選擇File / Load Code or

6、Data,窗口中會(huì)列出目錄中所有匯編程序。按如下步驟操作,可將這兩個(gè)文件裝入主存。 13Computer Architecture - Pipeline第13頁(yè),共29頁(yè)。裝載測(cè)試程序 點(diǎn)擊 fact.s點(diǎn)擊 select 按鈕點(diǎn)擊 input.s點(diǎn)擊 select按鈕點(diǎn)擊 load按鈕選擇文件的順序很關(guān)鍵,它決定了文件在存儲(chǔ)器中出現(xiàn)的順序。對(duì)話框中會(huì)顯示信息“File(s) loaded successfully. Reset DLX?”,點(diǎn)擊“是” 按鈕確認(rèn)。這樣,文件就已被裝入到主存儲(chǔ)器中了。14Computer Architecture - Pipeline第14頁(yè),共29頁(yè)。Pipe

7、line 窗口 DLX執(zhí)行指令的流水線是一個(gè)5段流水線,包括取指段(IF)、譯碼段(ID)、執(zhí)行段(EX)、訪存段(MEM)和寫(xiě)回段(WB)。15Computer Architecture - Pipeline第15頁(yè),共29頁(yè)。Code 窗口 Code窗口顯示的內(nèi)容是兩個(gè)程序(fact.s和input.s)加載到內(nèi)存中的情況。從左到右依次為:地址 (符號(hào)或數(shù)字)、命令的十六進(jìn)制機(jī)器代碼和匯編命令。 16Computer Architecture - Pipeline第16頁(yè),共29頁(yè)。Clock Cycle Diagram 窗口 它顯示流水線的時(shí)空?qǐng)D。17Computer Architect

8、ure - Pipeline第17頁(yè),共29頁(yè)。Clock Cycle Diagram 窗口在Clock cycle diagram 窗口中,有時(shí)候還可以看到在指令之間出現(xiàn)了紅和綠的箭頭。紅色箭頭表示需要一個(gè)暫停,箭頭指向處顯示了暫停的原因。R-Stall(R-暫停)表示引起暫停的原因是RAW。綠色箭頭表示定向技術(shù)的使用。18Computer Architecture - Pipeline第18頁(yè),共29頁(yè)。Breakpoint窗口 當(dāng)重復(fù)按F7執(zhí)行代碼很枯燥時(shí),我們可以通過(guò)設(shè)置斷點(diǎn)來(lái)加快此過(guò)程。該窗口詳細(xì)的顯示了我們?cè)O(shè)置的斷點(diǎn)的信息。19Computer Architecture - Pip

9、eline第19頁(yè),共29頁(yè)。Register窗口DLX的全部寄存器及其內(nèi)容。20Computer Architecture - Pipeline第20頁(yè),共29頁(yè)。Statistics窗口 Statistics 窗口提供各個(gè)方面的信息:模擬中硬件配置情況、暫停及原因、條件分支、 Load/Store指令、浮點(diǎn)指令和traps。窗口中給出事件發(fā)生的次數(shù)和百分比,如RAW stalls:17(7.91 % of all Cycles)。21Computer Architecture - Pipeline第21頁(yè),共29頁(yè)。DLX的匯編語(yǔ)法DLX的匯編語(yǔ)法(1/2)偽指令 .data addres

10、s.text address.global label.word word1,word2,.space size.double常數(shù)、運(yùn)算符指令訪存類(lèi)、寄存器操作、算術(shù)類(lèi)、邏輯類(lèi)、控制流轉(zhuǎn)移WinDLX的Trap機(jī)制 一般地,指令(code)均被導(dǎo)入$CODE (起始地址為0 x100)而數(shù)據(jù)(data)則被導(dǎo)入$DATA (起始地址為0 x1000)22Computer Architecture - Pipeline第22頁(yè),共29頁(yè)。DLX匯編的例子DLX的匯編語(yǔ)法(2/2)例子.dataadder1:.word7adder2:.word16result:.space4.text.globa

11、l mainmain:lwr2, adder1lwr3, adder2addr1, r2, r3swresult, r1trap0; finish23Computer Architecture - Pipeline第23頁(yè),共29頁(yè)。實(shí)驗(yàn)內(nèi)容(1/2)33矩陣乘法編寫(xiě)矩陣積源程序; 手工優(yōu)化。 例如:在流水線各種資源配置下觀察程序運(yùn)行狀態(tài)。lw r3, adder1add r1, r2, r3add r5, r6, r7lw r3, adder1add r5, r6, r7add r1, r2, r324Computer Architecture - Pipeline第24頁(yè),共29頁(yè)。實(shí)驗(yàn)內(nèi)

12、容(2/2)觀察程序中出現(xiàn)的數(shù)據(jù)/控制/結(jié)構(gòu)相關(guān),指出導(dǎo)致上述現(xiàn)象的指令組合考察增加定向(forwarding)部件對(duì)性能的影響觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和轉(zhuǎn)移不成功時(shí)候的流水線開(kāi)銷(xiāo)手工優(yōu)化程序(沒(méi)有分支延遲槽)分析程序的吞吐率、加速比和效率25Computer Architecture - Pipeline第25頁(yè),共29頁(yè)。實(shí)驗(yàn)步驟學(xué)習(xí)WinDLX軟件使用;學(xué)習(xí)DLX匯編程序的編寫(xiě);編寫(xiě)33矩陣乘法匯編源程序;將程序在WinDLX上運(yùn)行調(diào)試;觀察程序中出現(xiàn)的數(shù)據(jù)/控制/結(jié)構(gòu)相關(guān);優(yōu)化代碼(在有定向功能和無(wú)定向功能兩種情況下),盡量消除相關(guān)引起的暫停;對(duì)優(yōu)化后的代碼重新模擬,并觀察優(yōu)化效果;分析實(shí)驗(yàn)結(jié)果,書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。26Computer Architecture - Pipeline第26頁(yè),共29頁(yè)。實(shí)驗(yàn)要求實(shí)驗(yàn)報(bào)告要求包括:程序源代碼實(shí)驗(yàn)結(jié)果、實(shí)驗(yàn)分析、優(yōu)化過(guò)程、性能分析 簡(jiǎn)單談?wù)勛约簩?duì)流水線技術(shù)的認(rèn)識(shí)提交形式: 實(shí)驗(yàn)源代碼 + 實(shí)驗(yàn)報(bào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論