版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、循環(huán)展開及指令調(diào)度實(shí)驗項目名稱實(shí)驗?zāi)康募耙髮?shí)驗內(nèi)容循環(huán)展開及指令調(diào)度加深對循環(huán)級并行性、指令調(diào)度技術(shù)、循環(huán)展開技術(shù)以及寄存器換名技術(shù)的理解;熟悉用指令調(diào)度技術(shù)來解決流水線中的數(shù)據(jù)相關(guān)的方法;了解循環(huán)展開、指令調(diào)度等技術(shù)對 CPU性能的改進(jìn)。1用指令調(diào)度技術(shù)解決流水線中的結(jié)構(gòu)相關(guān)與數(shù)據(jù)相關(guān)1) 用 MIPS 匯編語言編寫代碼文件 *.s,程序中應(yīng)包括數(shù)據(jù)相關(guān)與結(jié)構(gòu)相關(guān) (假設(shè):加法乘法除法部件各有 2 個,延遲時間都是 3 個時鐘周期)2) 通過 Configuration 菜單中的“Floating point stages” 選項,把加法乘法除法部件的個數(shù)設(shè)置為 2 個,把延遲都設(shè)置為 3
2、 個時鐘周期;3) 用 winMIPS64 運(yùn)行程序。記錄程序執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)、發(fā)生相關(guān)的指令組合,以及程序執(zhí)行的總時鐘周期數(shù);4) 采用指令調(diào)度技術(shù)對程序進(jìn)行指令調(diào)度,消除相關(guān);5) 用 winMIPS64 運(yùn)行調(diào)度后的程序, 觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時鐘周期數(shù);6) 根據(jù)記錄結(jié)果,比較調(diào)度前和調(diào)度后的性能。論述指令調(diào)度對于提高 CPU 性能的意義。用循環(huán)展開、寄存器換名以及指令調(diào)度提高性能1) 用 MIPS 匯編語言編寫代碼文件 *.s,程序中包含一個循環(huán)次數(shù)為 4 的整數(shù)倍的簡單循環(huán);2) 用 winMIPS64 運(yùn)行該程序。記錄執(zhí)行過程中各種相關(guān)發(fā)生的
3、次數(shù)以及程序執(zhí)行的總時鐘周期數(shù);3) 將循環(huán)展開 3 次,將 4 個循環(huán)體組成的代碼代替原來的循環(huán)體,并對程序做相應(yīng)的修改。然后對新的循環(huán)體進(jìn)行寄存器換名和指令調(diào)度;4) 用 winMIPS64 運(yùn)行修改后的程序, 記錄執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時鐘周期數(shù);5) 根據(jù)記錄結(jié)果,比較循環(huán)展開、指令調(diào)度前后的性能。1用指令調(diào)度技術(shù)解決流水線中的結(jié)構(gòu)相關(guān)與數(shù)據(jù)相關(guān)代 碼:divff2,f5,f6divff1,f2,f6實(shí)驗步divff3,f1,f5驟divff0,f4,f7addff14,f0,f6addff15,f5,f7multff20,f4,f6multff21,f5,f72
4、)設(shè)置運(yùn)算部件個數(shù)以及運(yùn)算時鐘周期數(shù)圖 1圖2.Pipeline 圖以下為出現(xiàn)的數(shù)據(jù)相關(guān)圖 3先寫后讀相關(guān)圖 4由于只有兩個除法部件,所以出現(xiàn)了功能部件的沖突。 總的執(zhí)行周期是 38 指令調(diào)度后代碼:將無關(guān)指令放在一起執(zhí)行,相關(guān)指令分開盡量避免數(shù)據(jù)相關(guān)divf f2,f5,f6multf f20,f4,f6multf f21,f5,f7divf f1,f2,f6addf f15,f5,f7divf f3,f1,f5divf f0,f4,f7addf f14,f0,f6圖 5.Pipeline 圖圖 6.Statistics 圖總執(zhí)行時鐘周期為 35 個。6)指令調(diào)度后,數(shù)據(jù)相關(guān)減少了,總時鐘周
5、期數(shù)減少了,效能提高了。調(diào)度前的時鐘周期數(shù)為 38,調(diào)度后的時鐘周期數(shù)減少為 35,加速比 = 38/35= 1.08用循環(huán)展開、寄存器換名以及指令調(diào)度提高性能帶循環(huán)指令代碼:求四個1 相加的和,結(jié)果存在r2 中.text.global mainmain:addi r1,r0,#4addi r2,r0,#0Loop: sgt r3,r1,r0bnez r3,Sub1trap 0 Sub1:addi r2,r2,#1subi r1,r1,#1j Loop結(jié)果:總時鐘周期是 42 個, 5 raw stalls, 循環(huán)了 4 次,結(jié)果 r2 =4圖 7循環(huán)展開:代碼:.text.global ma
6、inmain:addi r1,r0,#4addi r2,r0,#0addi r2,r2,#1subi r1,r1,#1addi r2,r2,#1subi r1,r1,#1addi r2,r2,#1subi r1,r1,#1addi r2,r2,#1subi r1,r1,#1trap 0結(jié)果:總時鐘周期是 15 個,0 raw stalls, 執(zhí)行了 4 次,結(jié)果 r2 = 4圖8原因的對比:是因為 LOOP 指令執(zhí)行完后會有一個 nop 指令的延遲。圖 9多 Cache 一致性:實(shí)驗?zāi)康?、加深對多 CACHE 一致性的理解。2、進(jìn)一步掌握解決多CACHE 一致性的目錄協(xié)議和監(jiān)聽協(xié)議的基本思想
7、。3、掌握在各種情況下,目錄協(xié)議和監(jiān)聽協(xié)議是如何工作的。給出進(jìn)行操作的類型以及 CACHE 塊狀態(tài)的變化情況模擬器使用方法簡介(目錄式)該模擬器模擬 4 個 CPU(A 、B、C、D)訪存的工作過程。每個 CPU 中都有一個 Cache,該 Cache 包含有 4 個塊,其塊地址為 0-3。分布式存儲器中有 32 個塊,其塊地址為 0-31。每個塊狀態(tài)用色塊表示,其中灰色為“無效”狀態(tài),淡青色為“共享”狀態(tài),橘紅色為“獨(dú)占” 。主存中塊的狀態(tài)由其右邊的目錄項的顏色來表示,未緩沖狀態(tài)由黃色來表示,其他兩種狀態(tài)同 Cache 塊。對于每一個 CPU 都可以指定所要進(jìn)行的訪問是讀還是寫(從列表中選)
8、 ,并在輸入框中輸入所要訪問的主存塊號,然后用鼠標(biāo)單擊在其右邊的標(biāo)有“”的按鈕,模擬器就將開始演示該訪問的工作過程。圖 10模擬器簡介(監(jiān)聽協(xié)議)該模擬器模擬 4 個 CPU(A 、B、C、D)訪存的工作過程。每個 CPU 中都有一個 Cache,該 Cache 包含有 4 個塊,其塊地址為 0-3。集中共享存儲器中有 32 個塊,其塊地址為 0-31。每個塊狀態(tài)用色塊表示,其中灰色為“無效”狀態(tài),淡青色為“共享”狀態(tài),橘紅色為“獨(dú)占” 。對于每一個 CPU 都可以指定所要進(jìn)行的訪問是讀還是寫(從列表中選) ,并在輸入框中輸入所要訪問的主存塊號,然后用鼠標(biāo)單擊在其右邊的標(biāo)有“”的按鈕,模擬器就
9、將開始演示該訪問的工作過程。圖 11實(shí)驗步驟(目錄協(xié)議)對于以下訪問序列,寫出目錄協(xié)議所進(jìn)行的操作。所進(jìn)行目錄協(xié)議所進(jìn)行的操作CPUA 1讀 ;2.不命中 ;3 本地 :向宿主結(jié)點(diǎn)讀第 6 塊 發(fā)讀不命中 (A ,6)消息; 4.宿主:把數(shù)據(jù)塊送給本地結(jié)點(diǎn); 5.共享集 CPU B 1 讀;2.不命中;3. 本地 :向宿主讀第 6塊結(jié)點(diǎn)發(fā)讀不命中 (B,6)消息;CPUD 1讀; 2.不命中; 3. 本地 :向宿主讀第 6塊 結(jié)點(diǎn)發(fā)讀不命中 (D,6)消息;CPUB 1寫; 2.命中; 3. 本地 :向宿主結(jié)寫第 6塊 點(diǎn)發(fā)寫命中 (,6)消息,宿主:向遠(yuǎn)程結(jié)點(diǎn) A 發(fā)CPUC1 讀;2.不命
10、中; 3. 本地 :向宿主結(jié)讀第 6塊點(diǎn)發(fā)讀不命中 (C ,6)消息;CPUD1寫; 2.不命中; 3. 本地 :向宿主寫第 20結(jié)點(diǎn)發(fā)寫不命中 (D,20)消息;4宿CPUA1寫; 2.不命中; 3. 本地 :向宿主寫第 20結(jié)點(diǎn)發(fā)寫不命中 (A ,20)消息;4宿CPUD1寫; 2.不命中; 3. 本地 :向宿主寫第 6塊結(jié)點(diǎn)發(fā)寫不命中 (D, 6)消息; 4.宿CPUA1寫; 2.不命中; 3.本地:向被替讀第 12換塊的宿主結(jié)點(diǎn)發(fā)寫回并修改共實(shí)驗步驟(監(jiān)聽協(xié)議)對于以下訪問序列,寫出監(jiān)聽協(xié)議所進(jìn)行的操作。所進(jìn)行是否是否發(fā)的訪問發(fā)生生寫回CPUA 否否CPUB 否否CPUC 否否CPUB 否發(fā)生CPUD 發(fā)生否CPUB 發(fā)生發(fā)生CPUA 否發(fā)生CPUC 發(fā)生發(fā)生寫第 23否否CPUBCPUB替換發(fā)生寫第 5塊監(jiān)聽協(xié)議所進(jìn)行的操作讀;不命中 ;讀不命讀;不命中 ;讀不命讀;不命中 ;讀不命寫,命中 ;作廢 A,C 讀;不命中 ;讀不命寫;不命中 ;寫不命寫;不命中 ;寫不命寫;不命中 ;寫不命中;替換 ;寫回 ;數(shù)讀;不命中 ;讀不命寫;不命中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國茶葉包裝行業(yè)發(fā)展趨勢與投資運(yùn)作模式建議報告
- 2024-2030年中國蘋果酒行業(yè)發(fā)展分析及發(fā)展趨勢預(yù)測與投資風(fēng)險研究報告
- 2024-2030年中國苯并呋喃酮行業(yè)運(yùn)行現(xiàn)狀與前景戰(zhàn)略分析研究報告
- 2024-2030年中國苯-1,4-二胺行業(yè)應(yīng)用態(tài)勢及盈利趨勢預(yù)測報告
- 2024-2030年中國船用舾裝件市場供需風(fēng)險與發(fā)展趨勢研究分析報告
- 2024-2030年中國舷外機(jī)行業(yè)經(jīng)營策略與未來發(fā)展機(jī)遇可行性報告
- 2024-2030年中國航空排氣系統(tǒng)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 西藏自治區(qū)林芝市2025屆高三下學(xué)期定位模擬考試化學(xué)試題含解析
- 2024-2030年中國自助繳費(fèi)系統(tǒng)行業(yè)市場競爭格局及發(fā)展趨勢與投資前景研究報告
- 2024-2030年中國自動豎琴行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- +協(xié)調(diào)功能評定教學(xué)課件
- 肝硬化診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 比亞迪F0說明書
- 《冷沖壓工藝與模具》課程標(biāo)準(zhǔn)
- HCCDP 云遷移認(rèn)證理論題庫
- 新生兒產(chǎn)傷討論制度
- 重力與彈力物理課件
- 2022-2023學(xué)年廣西賀州市接力版五年級上冊期中考試英語試卷(解析版)
- 建設(shè)項目施工招投標(biāo)階段造價控制存在的問題及改進(jìn)措施實(shí)用文檔
- GB/T 41428.1-2022外科植入物骨關(guān)節(jié)假體第1部分:基于膝關(guān)節(jié)CT數(shù)據(jù)生成參數(shù)化3D骨模型的流程
- GB/T 40354-2021鐵質(zhì)不粘鍋
評論
0/150
提交評論