![體系結(jié)構(gòu)第3章 第5講_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/20/bd6cc509-f00d-4508-9906-460ae402c3f6/bd6cc509-f00d-4508-9906-460ae402c3f61.gif)
![體系結(jié)構(gòu)第3章 第5講_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/20/bd6cc509-f00d-4508-9906-460ae402c3f6/bd6cc509-f00d-4508-9906-460ae402c3f62.gif)
![體系結(jié)構(gòu)第3章 第5講_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/20/bd6cc509-f00d-4508-9906-460ae402c3f6/bd6cc509-f00d-4508-9906-460ae402c3f63.gif)
![體系結(jié)構(gòu)第3章 第5講_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/20/bd6cc509-f00d-4508-9906-460ae402c3f6/bd6cc509-f00d-4508-9906-460ae402c3f64.gif)
![體系結(jié)構(gòu)第3章 第5講_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/20/bd6cc509-f00d-4508-9906-460ae402c3f6/bd6cc509-f00d-4508-9906-460ae402c3f65.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院 主講人:主講人: 教授教授 本章內(nèi)容本章內(nèi)容 1. 1. 分支指令的實(shí)現(xiàn)分支指令的實(shí)現(xiàn) u一旦分支轉(zhuǎn)移成功,正確的地址要在一旦分支轉(zhuǎn)移成功,正確的地址要在MemMem段的末段的末 尾尾才會(huì)被寫入才會(huì)被寫入PCPC u一旦一旦IDID段檢測(cè)到分支指令,就暫停執(zhí)行其后的指段檢測(cè)到分支指令,就暫停執(zhí)行其后的指 令,直到分支指令達(dá)到令,直到分支指令達(dá)到MemMem段,確定新的段,確定新的PCPC為止為止 u分支轉(zhuǎn)移成功分支轉(zhuǎn)移成功將導(dǎo)致將導(dǎo)致MIPSMIPS流水線流水線暫停暫停3 3個(gè)周期個(gè)周期 2. 2. 減少分支開(kāi)銷的途徑減少分支開(kāi)銷的途徑 u兩個(gè)基本
2、途徑:同時(shí)采用,缺一不可!兩個(gè)基本途徑:同時(shí)采用,缺一不可! - 在流水線中盡早判斷分支轉(zhuǎn)移是否成功在流水線中盡早判斷分支轉(zhuǎn)移是否成功 - 轉(zhuǎn)移成功時(shí),盡早計(jì)算出轉(zhuǎn)移目標(biāo)地址轉(zhuǎn)移成功時(shí),盡早計(jì)算出轉(zhuǎn)移目標(biāo)地址 u經(jīng)經(jīng)改進(jìn)改進(jìn),MIPSMIPS流水線可以將分支開(kāi)銷流水線可以將分支開(kāi)銷減少減少1 1拍拍 - 將將“=0?”=0?”測(cè)試提前到測(cè)試提前到IDID段段 - 在在IDID段增加一個(gè)加法器,計(jì)算分支目標(biāo)地址段增加一個(gè)加法器,計(jì)算分支目標(biāo)地址 表表3.63.6列出了改進(jìn)后流水線的分支操作列出了改進(jìn)后流水線的分支操作 u再改進(jìn)再改進(jìn),MIPSMIPS流水線可以將分支開(kāi)銷流水線可以將分支開(kāi)銷再減少
3、再減少1 1拍拍 -將分支判斷結(jié)果和目標(biāo)地址提前到將分支判斷結(jié)果和目標(biāo)地址提前到ID/EXID/EX站前站前 3. 3. 程序中分支指令的行為特點(diǎn)程序中分支指令的行為特點(diǎn) (1) (1) 各種能改變各種能改變PCPC值的指令的執(zhí)行頻度值的指令的執(zhí)行頻度 u條件分支:條件分支: - 整數(shù)程序:整數(shù)程序:14-15%14-15% - 浮點(diǎn)程序:浮點(diǎn)程序:3-12%3-12% 其中,向前分支與向后分支的比:其中,向前分支與向后分支的比:3:13:1 u無(wú)條件分支:無(wú)條件分支:4%4%(絕大多數(shù))(絕大多數(shù)) (2) (2) 條件分支轉(zhuǎn)移成功的概率條件分支轉(zhuǎn)移成功的概率 u向前轉(zhuǎn)移成功:向前轉(zhuǎn)移成功:
4、60%60%;向后轉(zhuǎn)移成功:;向后轉(zhuǎn)移成功:85%85% 4. 4. 減少流水線分支損失的方法減少流水線分支損失的方法 (1) (1) 凍結(jié)或排空流水線凍結(jié)或排空流水線 u思路:在流水線中停住或刪除分支后的指令,直思路:在流水線中停住或刪除分支后的指令,直 到知道轉(zhuǎn)移目標(biāo)地址到知道轉(zhuǎn)移目標(biāo)地址 u優(yōu)點(diǎn):簡(jiǎn)單優(yōu)點(diǎn):簡(jiǎn)單 (2) (2) 預(yù)測(cè)分支轉(zhuǎn)移失敗預(yù)測(cè)分支轉(zhuǎn)移失敗 u思路:流水線繼續(xù)照常流動(dòng),如果分支轉(zhuǎn)移成功,思路:流水線繼續(xù)照常流動(dòng),如果分支轉(zhuǎn)移成功, 將分支指令后的指令轉(zhuǎn)換為空操作,并從分支目將分支指令后的指令轉(zhuǎn)換為空操作,并從分支目 標(biāo)處開(kāi)始取指令執(zhí)行;否則照常執(zhí)行標(biāo)處開(kāi)始取指令執(zhí)行;
5、否則照常執(zhí)行 uMIPSMIPS流水線的處理過(guò)程流水線的處理過(guò)程 4. 4. 減少流水線分支損失的方法減少流水線分支損失的方法 (3) (3) 預(yù)測(cè)分支轉(zhuǎn)移成功預(yù)測(cè)分支轉(zhuǎn)移成功 u思路:始終假設(shè)分支成功,直接從分支目標(biāo)處取思路:始終假設(shè)分支成功,直接從分支目標(biāo)處取 指令執(zhí)行指令執(zhí)行 u對(duì)對(duì)MIPSMIPS流水線沒(méi)有任何好處!流水線沒(méi)有任何好處! (4) (4) 延遲分支(延遲分支(delayed branchdelayed branch) u思路:思路:分支開(kāi)銷為分支開(kāi)銷為n n的分支指令后緊跟有的分支指令后緊跟有n n個(gè)延個(gè)延 遲槽,遲槽,流水線遇到分支指令時(shí),按正常方式處理流水線遇到分支指
6、令時(shí),按正常方式處理, 順帶執(zhí)行延遲槽中的指令,從而減少分支開(kāi)銷。順帶執(zhí)行延遲槽中的指令,從而減少分支開(kāi)銷。 延遲分支及指令的執(zhí)行順序延遲分支及指令的執(zhí)行順序 4. 4. 減少流水線分支損失的方法減少流水線分支損失的方法 u具有一個(gè)分支延遲槽的具有一個(gè)分支延遲槽的MIPSMIPS流水線的流水線的執(zhí)行過(guò)程執(zhí)行過(guò)程 u什么樣的指令能否放入分支延遲槽?什么樣的指令能否放入分支延遲槽? -三種調(diào)度方法三種調(diào)度方法:從前調(diào)度;從目標(biāo)處調(diào)度;從失敗處調(diào)度:從前調(diào)度;從目標(biāo)處調(diào)度;從失敗處調(diào)度 -三種方法的要求與效果三種方法的要求與效果,存在限制因素,存在限制因素 編譯器預(yù)測(cè)分支是否成功的能力編譯器預(yù)測(cè)分支
7、是否成功的能力 放入延遲槽中的指令放入延遲槽中的指令 -取消分支取消分支(舉例舉例) 思路:分支指令中包含預(yù)測(cè)方向,若預(yù)測(cè)正確,正常執(zhí)行思路:分支指令中包含預(yù)測(cè)方向,若預(yù)測(cè)正確,正常執(zhí)行 延遲槽中的指令,否則將其轉(zhuǎn)換為空操作延遲槽中的指令,否則將其轉(zhuǎn)換為空操作 5. 5. 各種分支處理方法的性能各種分支處理方法的性能 (1) (1) 假設(shè)理想假設(shè)理想CPI=1CPI=1,則加速比,則加速比 S=D/(1+C)=D/(1+fS=D/(1+C)=D/(1+fp p分支 分支) ) 這里,這里,D D為流水線的深度,為流水線的深度,p p分支 分支為分支開(kāi)銷, 為分支開(kāi)銷,C C 為分支引起的流水線
8、暫停時(shí)鐘周期數(shù)為分支引起的流水線暫停時(shí)鐘周期數(shù)( (每條指令每條指令 的平均值的平均值) ),f f為分支的出現(xiàn)頻度。為分支的出現(xiàn)頻度。 (2) (2) 表表3.73.7列出了流水線中各種處理方法的開(kāi)銷列出了流水線中各種處理方法的開(kāi)銷 3.4 實(shí)例分析:實(shí)例分析:MIPS R4000 3.4.1 MIPS R4000的整型流水線的整型流水線 3.4.2 MIPS R4000的浮點(diǎn)流水線的浮點(diǎn)流水線 3.4.3 MIPS R4000流水線性能分析流水線性能分析 1. 1. 指令集:指令集:6464位位MIPS-3MIPS-3指令集指令集 2. MIPS R40002. MIPS R4000流水線
9、結(jié)構(gòu)流水線結(jié)構(gòu) u超流水結(jié)構(gòu)(超流水結(jié)構(gòu)(superpipelingsuperpipeling) u訪存操作流水化訪存操作流水化 3. 3. 流水線各段的功能流水線各段的功能 4. 4. 指令序列在流水線中的重疊執(zhí)行過(guò)程指令序列在流水線中的重疊執(zhí)行過(guò)程 定向定向+ +插入暫停周期插入暫停周期 5. 5. 載入延遲為兩個(gè)時(shí)鐘周期載入延遲為兩個(gè)時(shí)鐘周期 6. 6. 指令序列在流水線中的執(zhí)行時(shí)空?qǐng)D指令序列在流水線中的執(zhí)行時(shí)空?qǐng)D 7. R40007. R4000流水線的定向路徑遠(yuǎn)多于流水線的定向路徑遠(yuǎn)多于MIPSMIPS流水線流水線 ALUALU輸入端的定向源有輸入端的定向源有4 4個(gè):個(gè):EX/DF
10、EX/DF,DF/DSDF/DS, DS/TCDS/TC,TC/WBTC/WB 8. 8. 分支處理分支處理 u在在EXEX段完成分支條件的計(jì)算,基本分支延遲為段完成分支條件的計(jì)算,基本分支延遲為 3 3個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 u分支處理策略分支處理策略 - 單周期延遲分支單周期延遲分支 - 從失敗處調(diào)度從失敗處調(diào)度 時(shí)時(shí)- -空?qǐng)D空?qǐng)D u包括浮點(diǎn)除法器、浮點(diǎn)乘法器和浮點(diǎn)加法器各包括浮點(diǎn)除法器、浮點(diǎn)乘法器和浮點(diǎn)加法器各1 1個(gè)個(gè) u分為分為8 8段(段(P121 P121 表表3.93.9) u多功能非線性流水線多功能非線性流水線 u雙精度浮點(diǎn)操作指令延遲、初始化間隔和流水段的雙精度浮點(diǎn)操作指令
11、延遲、初始化間隔和流水段的 使用情況(使用情況(P121 P121 表表3.103.10) 1. 1. 引起流水線暫停的四個(gè)主要原因引起流水線暫停的四個(gè)主要原因 u載入暫停載入暫停 u分支暫停分支暫停 u浮點(diǎn)結(jié)果暫停浮點(diǎn)結(jié)果暫停 u浮點(diǎn)結(jié)構(gòu)性暫停浮點(diǎn)結(jié)構(gòu)性暫停 2. 2. 暫停對(duì)暫停對(duì)MIPS R4000MIPS R4000流水線流水線CPICPI的影響的影響 表表3.113.11 從前調(diào)度從前調(diào)度從目標(biāo)處調(diào)度從目標(biāo)處調(diào)度從失敗處調(diào)度從失敗處調(diào)度 Notake take ADD ADD If If ADD R1,R2,R3 Notake Take ADD ADD SUB SUB ADD ADD
12、 if if SUB ADD Notake Take ADD ADD If If SUB Notake take If If ADD ADD Notake Take ADD ADD SUB SUB ADD ADD if if SUB SUB ADD Notake Take ADD ADD If If SUB SUB 流水段流水段分分 支支 指指 令令 操操 作作 IF ID EX IF/ID.IR MemPC; IF/ID.NPC,PC (if ID/EX.condID/EX.NPC else PC+4); ID/EX.A RegsIF/ID.IR6.10; ID/EX.B RegsIF/ID
13、.IR11.15; ID/EX.NPC IF/ID.NPC + (IR16)16 # IR16.31; ID/EX.IR IF/ID.IR; ID/EX.cond (RegsIF/ID.IR6.10 op 0; ID/EX.Imm (IR16)16#IR16.31; MEM WB 表表3.63.6 三種方法的要求及效果三種方法的要求及效果 調(diào)度策略調(diào)度策略對(duì)調(diào)度的要求對(duì)調(diào)度的要求其作用前提其作用前提 從前調(diào)度從前調(diào)度 被調(diào)度的指令必須與分支結(jié)果被調(diào)度的指令必須與分支結(jié)果 無(wú)關(guān)無(wú)關(guān) 任何情況任何情況 從目標(biāo)從目標(biāo) 處調(diào)度處調(diào)度 必須保證在分支失敗時(shí)執(zhí)行被必須保證在分支失敗時(shí)執(zhí)行被 調(diào)度的指令不會(huì)
14、導(dǎo)致錯(cuò)誤,可調(diào)度的指令不會(huì)導(dǎo)致錯(cuò)誤,可 能需要復(fù)制指令能需要復(fù)制指令 分支成功時(shí)分支成功時(shí) 從失敗從失敗 處調(diào)度處調(diào)度 必須保證在分支成功時(shí)執(zhí)行被必須保證在分支成功時(shí)執(zhí)行被 調(diào)度的指令不會(huì)導(dǎo)致錯(cuò)誤調(diào)度的指令不會(huì)導(dǎo)致錯(cuò)誤 分支失敗時(shí)分支失敗時(shí) 表表3.7 3.7 各種減少分支損失方法的效果各種減少分支損失方法的效果 調(diào)度方法 每條分支指令的 平均分支損失 暫停流水線 預(yù)測(cè)分支成功 每條條件分支指 令的分支損失 預(yù)測(cè)分支失敗 1.00 延遲分支 每條無(wú)條 件分支指 令的損失 具有分支暫停 的有效 CPI 浮 點(diǎn) 平 均 整 型 平 均 整 型 平 均 整 型 平 均 浮 點(diǎn) 平 均 浮 點(diǎn) 平 均
15、 1.00 1.00 0.62 0.25 1.00 1.001.00 1.00 1.00 0.69 0.21 1.001.171.15 1.001.17 1.15 0.741.121.110.701.00 0.350.000.301.041.04 EarleEarle鎖存器鎖存器 u19651965年由年由J.G.EarleJ.G.Earle發(fā)明發(fā)明 u優(yōu)點(diǎn)優(yōu)點(diǎn) - 對(duì)時(shí)鐘扭曲不敏感(相對(duì)而言),一般是兩級(jí)門對(duì)時(shí)鐘扭曲不敏感(相對(duì)而言),一般是兩級(jí)門 延遲,避免了數(shù)據(jù)通過(guò)鎖存器時(shí)可能產(chǎn)生的時(shí)鐘延遲,避免了數(shù)據(jù)通過(guò)鎖存器時(shí)可能產(chǎn)生的時(shí)鐘 扭曲扭曲 - 在鎖存器中可以執(zhí)行兩級(jí)邏輯運(yùn)算,而不會(huì)增加在
16、鎖存器中可以執(zhí)行兩級(jí)邏輯運(yùn)算,而不會(huì)增加 鎖存器的延遲時(shí)間,可以隱藏鎖存器產(chǎn)生的額外鎖存器的延遲時(shí)間,可以隱藏鎖存器產(chǎn)生的額外 開(kāi)銷開(kāi)銷 表表3.9 R40003.9 R4000浮點(diǎn)流水線中浮點(diǎn)流水線中8 8個(gè)流水段個(gè)流水段 流水段流水段功能部件功能部件描述描述 A A浮點(diǎn)加法器浮點(diǎn)加法器尾數(shù)加尾數(shù)加 D D浮點(diǎn)除法器浮點(diǎn)除法器除法除法 E E浮點(diǎn)乘法器浮點(diǎn)乘法器例外測(cè)試?yán)鉁y(cè)試 MM浮點(diǎn)乘法器浮點(diǎn)乘法器乘法第一階段乘法第一階段 N N浮點(diǎn)乘法器浮點(diǎn)乘法器乘法第二階段乘法第二階段 R R浮點(diǎn)加法器浮點(diǎn)加法器舍入舍入 S S浮點(diǎn)加法器浮點(diǎn)加法器操作數(shù)移位操作數(shù)移位 U U展開(kāi)浮點(diǎn)數(shù)展開(kāi)浮點(diǎn)數(shù) 表
17、表3.10 3.10 雙精度浮點(diǎn)操作指令延遲、初雙精度浮點(diǎn)操作指令延遲、初 始化間隔和流水段的使用情況始化間隔和流水段的使用情況 浮點(diǎn)指令浮點(diǎn)指令延遲延遲初始化間隔初始化間隔使用的流水段使用的流水段 加、減加、減43U,S+A,A+R,R+S 乘乘84U,E+M,M,M,M,N,N+A,R 除除3635U,A,R,D28,D+A,D+R,D+A,D+R,A,R 求平方根求平方根112111U,E,(A+R)108,A,R 取反取反21U,S 求絕對(duì)值求絕對(duì)值21U,S 浮點(diǎn)比較浮點(diǎn)比較32U,A,R 表表3.11 3.11 暫停對(duì)暫停對(duì)R4000R4000流水線流水線CPICPI的影響的影響 整數(shù)平均:整數(shù)平均:流水線流水線CPICPI 1.54 1.54 載入暫停時(shí)鐘周期
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀教版數(shù)學(xué)八年級(jí)上冊(cè)《SAS》聽(tīng)評(píng)課記錄5
- 湘教版數(shù)學(xué)七年級(jí)下冊(cè)3.2.2《角的度量》聽(tīng)評(píng)課記錄
- (湘教版)七年級(jí)數(shù)學(xué)下冊(cè):2.1.4《多項(xiàng)式的乘法》聽(tīng)評(píng)課記錄
- 七年級(jí)道德與法治上冊(cè)第三單元 師長(zhǎng)情誼第六課師生之間第2框師生交往聽(tīng)課評(píng)課記錄(新人教版)
- 人教版七年級(jí)數(shù)學(xué)上冊(cè):4.1.2《點(diǎn)、線、面、體》聽(tīng)評(píng)課記錄1
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)1.4.1《有理數(shù)的加法》聽(tīng)評(píng)課記錄
- 部編版八年級(jí)道德與法治上冊(cè)聽(tīng)課評(píng)課記錄《9.1認(rèn)識(shí)總體國(guó)家安全觀》
- 暑假小學(xué)一年級(jí)學(xué)習(xí)計(jì)劃
- 三年級(jí)下學(xué)期班主任工作計(jì)劃
- 出租房屋合同范本
- 2024人教新目標(biāo)(Go for it)八年級(jí)英語(yǔ)下冊(cè)【第1-10單元】全冊(cè) 知識(shí)點(diǎn)總結(jié)
- 2025中國(guó)移動(dòng)安徽分公司春季社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 七年級(jí)英語(yǔ)下學(xué)期開(kāi)學(xué)考試(深圳專用)-2022-2023學(xué)年七年級(jí)英語(yǔ)下冊(cè)單元重難點(diǎn)易錯(cuò)題精練(牛津深圳版)
- 杭州市房地產(chǎn)經(jīng)紀(jì)服務(wù)合同
- 放射科護(hù)理常規(guī)
- 新時(shí)代中小學(xué)教師職業(yè)行為十項(xiàng)準(zhǔn)則
- 人教版八年級(jí)上冊(cè)英語(yǔ)1-4單元測(cè)試卷(含答案)
- 2024年大宗貿(mào)易合作共贏協(xié)議書模板
- 初中數(shù)學(xué)教學(xué)經(jīng)驗(yàn)分享
- 新聞?dòng)浾咦C600道考試題-附標(biāo)準(zhǔn)答案
- 2024年公開(kāi)招聘人員報(bào)名資格審查表
評(píng)論
0/150
提交評(píng)論