freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第3章流水線技術31流水線的基本概念32dlx的基本流水線(編輯修改稿)

2024-11-16 13:40 本頁面
 

【文章內(nèi)容簡介】 段流水線不會有此類相關因為 : ? 所有的指令都是 5段 , 并且 ? 讀操作總是在第 2段,而 ? 寫操作在第 5段 I: sub r4,r1,r3 J: add r1,r2,r3 K: mul r6,r1,r7 計算機體系結構 ? 寫后寫相關( Write After Write (WAW)) InstrJ writes operand before InstrI writes it. ? 編譯器編寫者稱之為 “output dependence” , 也是由于重復使用寄存器名 “r1”引起的 . ? 在 DLX 5段流水線中,也不會發(fā)生。因為 ? 所有指令都是 5段,并且寫操作都在第 5段 ? 在后面的復雜的流水線中我們將會看到 WAR 和 WAW 相關 I: sub r1,r4,r3 J: add r1,r2,r3 K: mul r6,r1,r7 計算機體系結構 采用定向技術避免數(shù)據(jù)相關(圖 Page 102) Time (clock cycles) I n s t r. O r d e r add r1,r2,r3 sub r4,r1,r3 and r6,r1,r7 or r8,r1,r9 xor r10,r1,r11 Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg 計算機體系結構 I n s t r. O r d e r lw r1, 0(r2) sub r4,r1,r6 and r6,r1,r7 or r8,r1,r9 采用定向技術仍然存在相關 (圖 Page 153) Time (clock cycles) Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg Reg ALU DMem Ifetch Reg 計算機體系結構 DMem Time (clock cycles) or r8,r1,r9 I n s t r. O r d e r lw r1, 0(r2) sub r4,r1,r6 and r6,r1,r7 Reg ALU DMem Ifetch Reg Reg Ifetch ALU DMem Reg Bubble Ifetch ALU DMem Reg Bubble Reg Ifetch ALU Bubble Reg 計算機體系結構 Try producing fast code for a = b + c。 d = e – f。 assuming a, b, c, d ,e, and f in memory. Slow code: LW Rb,b LW Rc,c ADD Ra,Rb,Rc SW a,Ra LW Re,e LW Rf,f SUB Rd,Re,Rf SW d,Rd 采用軟件方法避免數(shù)據(jù)相關 Fast code: LW Rb,b LW Rc,c LW Re,e ADD Ra,Rb,Rc LW Rf,f SW a,Ra SUB Rd,Re,Rf SW d,Rd 計算機體系結構 流水線相關檢測部件可以檢測到的相關情況 計算機體系結構 采用定向技術硬件所需做的修改 MEM/WR ID/EX EX/MEM Data Memory ALU mux mux Registers NextPC Immediate mux 計算機體系結構 定向源為 RR ALU操作的定向比較判斷 計算機體系結構 定向源為 ALU- imm操作的定向比較判斷 計算機體系結構 定向源為 Load操作的比較判定 計算機體系結構 控制相關 ?問題更復雜,分支需要解決兩個問題 ? 分支目標地址(轉移成功意謂著 PC值不是 PC+4) ? CC是否有效 CC, 這兩點在 DLX中都在流水線的靠后段中確定 ?是否為分支指令是在 ID段后,此時取進來的指令可能是錯誤的指令 ?對于簡單的 DLX流水線 3 cycle branch penalty ? 有效地址在 EX段才能確定 ? 條件是否為真在 MEM段才能知道 ? 因此有 3個 stall ?見 Page111 簡單處理分支指令的方法及其流水線的時空圖 計算機體系結構 回顧 DLX數(shù)據(jù)通路 計算機體系結構 減少分支延時的方法 ?修改數(shù)據(jù)通路 ? 使得目標地址和分支條件盡早確定 ? 使得其中之一盡早確定是沒有用的,這點都可以在 ID段結束前確定 ? 必要時使用互鎖機制來插入 Stall? ? 使用另一個加法器計算 可以在 ID段計算 BTA 即在 ID段形成下一條指令地址,兩種可能( BTA, PC+4) 選擇哪一個取決于 ID段確定的 CC ?采用軟件的方法 ?設計合適的 ISA ? . BNEZ, BEQZ on DLX 使得 CC可以在 ID段確定 ?調(diào)度一些指令放入分支的延遲槽中 ?統(tǒng)計分支成功和失敗的情況,提高預測精度 計算機體系結構 新的 DLX數(shù)據(jù)通路 ?存在問題 :zero的輸出應該直接送到 IF段的 MUX的控制端 計算機體系結構 四種可能的解決沖突的方法 1: Stall 直到分支方向確定 2: 預測分支失敗 ? 直接執(zhí)行后繼指令 ? 如果分支實際情況為分支成功,則撤銷流水線中的指令對流水線狀態(tài)的更新 ? DLX分支指令平均 47%為分支失敗 ? 由于 PC+4已經(jīng)計算出來,因此可以用它來取下一條指令 3: 預測分支成功 ? 平均 53% DLX 分支為分支成功 ? 但分支目標地址在 ID段才能計算出目標地址 DLX 還是有 1個 cycle branch penalty 計算機體系結構 四種可能的解決沖突的方法 4: 延遲轉移 ? 定義分支發(fā)生在一系列指令之后 branch instruction sequential successor1 sequential successor2 ........ sequential successorn branch target if taken ? 5級流水只需要一個延遲槽就可以確定目標地址和確定條件 ? DLX 使用這種方式 Branch delay of length n 計算機體系結構 延遲轉移 ?從何處選擇指令來填充延遲槽? ? 分支指令之前的指令 Before branch instruction ? 從分支目標地址處取 : 僅在分支成功時有用 ? 從分支失敗處調(diào)度:僅在分支失敗時有用 ?編譯器可以有效的調(diào)度一個延遲槽 ? 如果提供取消分支時, 編譯器可以調(diào)度更多的指令填入延遲槽 計算機體系結構 評估減少分支策略的效果 Scheduling Branch CPI speedup v. speedup v. scheme penalty unpipelined stall Stall pipeline 3 Predict taken 1 Predict not taken 1 Delayed branch = 1+1*14%*65% Conditional amp。 Unconditional = 14%, 65% change PC P i pe l i n e s pe e du p = P i pe l i n e de pt h1 + Br a nc h fr e qu e nc y ? Br a nc h pe n a l t y計算機體系結構 小結 : Pipelining ?通過指令重疊減小 CPI ?充分利用數(shù)據(jù)通路 ? 當前指令執(zhí)行時,啟動下一條指令 ? 其性能受限于花費時間最長的段 ? 檢測和消除相關 ?如何有利于流水線技術的應用 ? 所有的指令都等長 ? 只有很少的指令格式 ? 只用 Load/Store來進行存儲器訪問 ?難度何在 ? 相關問題 計算機體系結構 性能分析 ?基本度量參數(shù) ? 吞吐率 ? 加速比 ? 效率 ?吞吐率 ? 衡量流水線速度的重要指標,指單位時間內(nèi)流水線所完成的任務數(shù)或輸出結果的數(shù)量 ? 最大吞吐率:指流水線在連續(xù)流動達到穩(wěn)定狀態(tài)后所得到的吞吐率 如果流水線各段時間相等,則其為 Page 90 如果流水線各段時間不等。
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1