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

正文內(nèi)容

第3章流水線技術(shù)31流水線的基本概念32dlx的基本流水線(完整版)

  

【正文】 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ù)相關(guān) 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 計(jì)算機(jī)體系結(jié)構(gòu) 流水線相關(guān)檢測(cè)部件可以檢測(cè)到的相關(guān)情況 計(jì)算機(jī)體系結(jié)構(gòu) 采用定向技術(shù)硬件所需做的修改 MEM/WR ID/EX EX/MEM Data Memory ALU mux mux Registers NextPC Immediate mux 計(jì)算機(jī)體系結(jié)構(gòu) 定向源為 RR ALU操作的定向比較判斷 計(jì)算機(jī)體系結(jié)構(gòu) 定向源為 ALU- imm操作的定向比較判斷 計(jì)算機(jī)體系結(jié)構(gòu) 定向源為 Load操作的比較判定 計(jì)算機(jī)體系結(jié)構(gòu) 控制相關(guān) ?問(wèn)題更復(fù)雜,分支需要解決兩個(gè)問(wèn)題 ? 分支目標(biāo)地址(轉(zhuǎn)移成功意謂著 PC值不是 PC+4) ? CC是否有效 CC, 這兩點(diǎn)在 DLX中都在流水線的靠后段中確定 ?是否為分支指令是在 ID段后,此時(shí)取進(jìn)來(lái)的指令可能是錯(cuò)誤的指令 ?對(duì)于簡(jiǎn)單的 DLX流水線 3 cycle branch penalty ? 有效地址在 EX段才能確定 ? 條件是否為真在 MEM段才能知道 ? 因此有 3個(gè) stall ?見(jiàn) Page111 簡(jiǎn)單處理分支指令的方法及其流水線的時(shí)空?qǐng)D 計(jì)算機(jī)體系結(jié)構(gòu) 回顧 DLX數(shù)據(jù)通路 計(jì)算機(jī)體系結(jié)構(gòu) 減少分支延時(shí)的方法 ?修改數(shù)據(jù)通路 ? 使得目標(biāo)地址和分支條件盡早確定 ? 使得其中之一盡早確定是沒(méi)有用的,這點(diǎn)都可以在 ID段結(jié)束前確定 ? 必要時(shí)使用互鎖機(jī)制來(lái)插入 Stall? ? 使用另一個(gè)加法器計(jì)算 可以在 ID段計(jì)算 BTA 即在 ID段形成下一條指令地址,兩種可能( BTA, PC+4) 選擇哪一個(gè)取決于 ID段確定的 CC ?采用軟件的方法 ?設(shè)計(jì)合適的 ISA ? . BNEZ, BEQZ on DLX 使得 CC可以在 ID段確定 ?調(diào)度一些指令放入分支的延遲槽中 ?統(tǒng)計(jì)分支成功和失敗的情況,提高預(yù)測(cè)精度 計(jì)算機(jī)體系結(jié)構(gòu) 新的 DLX數(shù)據(jù)通路 ?存在問(wèn)題 :zero的輸出應(yīng)該直接送到 IF段的 MUX的控制端 計(jì)算機(jī)體系結(jié)構(gòu) 四種可能的解決沖突的方法 1: Stall 直到分支方向確定 2: 預(yù)測(cè)分支失敗 ? 直接執(zhí)行后繼指令 ? 如果分支實(shí)際情況為分支成功,則撤銷(xiāo)流水線中的指令對(duì)流水線狀態(tài)的更新 ? DLX分支指令平均 47%為分支失敗 ? 由于 PC+4已經(jīng)計(jì)算出來(lái),因此可以用它來(lái)取下一條指令 3: 預(yù)測(cè)分支成功 ? 平均 53% DLX 分支為分支成功 ? 但分支目標(biāo)地址在 ID段才能計(jì)算出目標(biāo)地址 DLX 還是有 1個(gè) cycle branch penalty 計(jì)算機(jī)體系結(jié)構(gòu) 四種可能的解決沖突的方法 4: 延遲轉(zhuǎn)移 ? 定義分支發(fā)生在一系列指令之后 branch instruction sequential successor1 sequential successor2 ........ sequential successorn branch target if taken ? 5級(jí)流水只需要一個(gè)延遲槽就可以確定目標(biāo)地址和確定條件 ? DLX 使用這種方式 Branch delay of length n 計(jì)算機(jī)體系結(jié)構(gòu) 延遲轉(zhuǎn)移 ?從何處選擇指令來(lái)填充延遲槽? ? 分支指令之前的指令 Before branch instruction ? 從分支目標(biāo)地址處取 : 僅在分支成功時(shí)有用 ? 從分支失敗處調(diào)度:僅在分支失敗時(shí)有用 ?編譯器可以有效的調(diào)度一個(gè)延遲槽 ? 如果提供取消分支時(shí), 編譯器可以調(diào)度更多的指令填入延遲槽 計(jì)算機(jī)體系結(jié)構(gòu) 評(píng)估減少分支策略的效果 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。 2) ?Step 1 IF ? IR Mem[PC] fetch the next instruction from memory ? NPC PC + 4 pute the new PC ?Step 2 ID instruction decode and register fetch step ? A Regs[IR6..10] ? B Regs[IR11..16] ? 可能讀取的寄存器值沒(méi)有用,但沒(méi)有關(guān)系,譯碼后如果無(wú)用,以后操作就不用 ? Imm ? ((IR16)16 IR1631 計(jì)算機(jī)體系結(jié)構(gòu) 基本操作- Step 3, 執(zhí)行階段 根據(jù)譯碼的結(jié)果,有四種情況 ? Memory Reference ? ALUOutput A + (IR16)16 IR16..31 effective address ? SMD B data to be written if it is a STORE SMD (store mem data) = MDR ? Register Register ALU instruction ? ALUOutput A op B ? Register Immediate ALU instruction ? ALUOutput A op ((IR16)16 IR16..31)) ? Branch/Jump ? ALUOutput NPC + (IR16)16 IR16..31 ? cond A op 0 for conditional branches A’s value is the condition base (= for BEQZ) ? 在簡(jiǎn)單的 LoadStore機(jī)器中,不存在即需要計(jì)算存存儲(chǔ)器地址,指令地址,又要進(jìn)行 ALU運(yùn)算的指令,因此可以將計(jì)算有效地址與執(zhí)行合二為一,在一個(gè)周期內(nèi) 計(jì)算機(jī)體系結(jié)構(gòu) Step 4 amp。 ? 段長(zhǎng)相等時(shí) ? 段長(zhǎng)不等時(shí) ?效率 ? 流水線的設(shè)備利用率 計(jì)算機(jī)體系結(jié)構(gòu) 異常處理 ?流水線使得系統(tǒng)的吞吐率條 ?問(wèn)題 :由于相關(guān)會(huì)影響系統(tǒng)性能的發(fā)揮 ?更嚴(yán)重的問(wèn)題:異常 ? Why? ? 多級(jí)流水-》多周期指令 ? 異??梢园l(fā)生在任何地方 ? 指令序與異常序可能不同 ? 必須按指令序處理異常 ?采用何種策略取決于異常的類(lèi)型 計(jì)算機(jī)體系結(jié)構(gòu) 異常的類(lèi)型 ? I/O device request ? invoking an OS service from a user program ? . via an unimplemented instruction on a Mac ? tracing instruction execution ? breakpoint ? integer or FP arithmetic error such as overflow ? page fault ? misaligned memory access ? memory protection violation ? undefined instruction ? hardware malfunction like parity or ECC error ? power failure 計(jì)算機(jī)體系結(jié)構(gòu) 異常響應(yīng)請(qǐng)求的種類(lèi) ? Synchronous vs. Asynchronous ? synchronous caused by a particular instruction ? asynchronous external devices and HW failures ? User requested vs. Coerced ? requested is predictable and can happen after the instruction ? User maskable vs. user nonmaskable ? . arithmetic overflow on some machines is user maskable ? Within vs. Between instructions ? within == synchronous, key is that pletion is prevented ? some async
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1