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

正文內(nèi)容

[工學(xué)]計(jì)算機(jī)體系結(jié)構(gòu)(2)(參考版)

2025-01-07 14:00本頁(yè)面
  

【正文】 4種方法 ?以非精確方式處理,用軟件來(lái)修正 ? 為軟件修正保存足夠的狀態(tài) ? 讓軟件仿真尚未執(zhí)行完的指令的執(zhí)行 ? 例如 Instruction 1 – A 執(zhí)行時(shí)間較長(zhǎng),引起中斷的指令 Instruction 2, instruction 3, ….instruction n 1 未執(zhí)行完的指令 Instruction n 已執(zhí)行完的指令 由于第 n條指令已執(zhí)行完,中斷返回地址為第 n+1條指令,如果我們保存所有的流水線(xiàn)的 PC值,那么軟件可以仿真 Instruction1 到Instruction n1 的執(zhí)行 ?暫停發(fā)射,直到先前的指令都無(wú)異常的完成,再發(fā)射下面的指令。 ?方法 2:緩存操作結(jié)果,直到早期發(fā)射的指令執(zhí)行完。 Repeat Interval ?延時(shí) (Latency) ? 定義為完成某一操作所需的 cycle數(shù) ? 定義為使用當(dāng)前指令所產(chǎn)生結(jié)果的指令與當(dāng)前指令間的最小間隔周期數(shù) ?循環(huán)間隔( Repeat/Initiation interval) ? 發(fā)射相同類(lèi)型的指令所需的間隔周期數(shù) ?對(duì)于 EX部件流水化的新的 DLX Function Unit Latency Repeat Interval Integer ALU 0 1 Data Memory (Integer and FP loads(1 less for store latency)) 1 1 FP Add 3 1 FP multiply 6 1 FP Divide (also integer divide and FP sqrt) 24 25 計(jì)算機(jī)體系結(jié)構(gòu) 將部分執(zhí)行部件流水化后的 DLX流水線(xiàn) 計(jì)算機(jī)體系結(jié)構(gòu) 新的相關(guān)和定向問(wèn)題 ?結(jié)構(gòu)沖突增多 ? 非流水的 Divide部件,使得 EX段增長(zhǎng) 24個(gè) cycles ? 在一個(gè)周期內(nèi)有多個(gè)寄存器寫(xiě)操作 3 FPR write ?可能指令亂序完成(亂序到達(dá) WB段)有可能存在 WAW ?由于在 ID段讀,還不會(huì)有 WAR 相關(guān) ?亂序完成導(dǎo)致異常處理復(fù)雜 ?由于指令的延遲加大導(dǎo)致 RAW 相關(guān)的 stall數(shù)增多 ?需要付出更多的代價(jià)來(lái)增加定向路徑 計(jì)算機(jī)體系結(jié)構(gòu) 新的結(jié)構(gòu)相關(guān) ?縱向檢查指令所使用的資源 ? 第 10個(gè) cycle, 三條指令同時(shí)進(jìn)入 MEM, 但由于 MULTD和 ADDD在 MEM段沒(méi)有實(shí)際動(dòng)作,這種情況沒(méi)有關(guān)系 ? 第 11個(gè) cycle, 三條指令同時(shí)進(jìn)入 WB段,存在結(jié)構(gòu)相關(guān) 計(jì)算機(jī)體系結(jié)構(gòu) 解決方法 ?Option 1 ? 在 ID段跟蹤寫(xiě)端口的使用情況,以便能暫停該指令的發(fā)射 ? 一旦發(fā)現(xiàn)沖突,暫停當(dāng)前指令的發(fā)射 ?Option 2 ? 在進(jìn)入 MEM或 WB段時(shí),暫停沖突的指令,讓有較長(zhǎng)延時(shí)的指令先做,因?yàn)檩^長(zhǎng)延時(shí)的指令,會(huì)更容易引起其他 RAW相關(guān),從而導(dǎo)致更多的 stalls 計(jì)算機(jī)體系結(jié)構(gòu) 關(guān)于數(shù)據(jù)相關(guān) ?較長(zhǎng)延時(shí)的流水線(xiàn),導(dǎo)致數(shù)據(jù)相關(guān)比例增多, stalls數(shù)增多 計(jì)算機(jī)體系結(jié)構(gòu) 新的沖突源 ?GPR與 FPR間的數(shù)據(jù)傳送造成的數(shù)據(jù)相關(guān) ? MOVI2FP and MOVFP2I instructions ?如果在 ID段進(jìn)行相關(guān)檢測(cè),指令發(fā)射前須做如下檢測(cè): ? 結(jié)構(gòu)相關(guān) 循環(huán)間隔檢測(cè) 確定寄存器寫(xiě)端口是否可用 ? RAW相關(guān) 列表所有待寫(xiě)的目的寄存器 不發(fā)射以待寫(xiě)寄存器做為源寄存器的指令,直到該寄存器值可用 ? WAW相關(guān) 仍然使用上述待寫(xiě)寄存器列表 不發(fā)射那些目的寄存器在待寫(xiě)寄存器列表中的指令,直到對(duì)應(yīng)的待寫(xiě)寄存器值可用 (完成 WB)。 ? 當(dāng)今很多高性能計(jì)算機(jī), Alpha 21164, MIPSR10000等支持精確中斷,但精確模式要滿(mǎn) 10倍,一般用在代碼調(diào)試是,很多系統(tǒng)要求精確中斷模式,如 IEEE FP標(biāo)準(zhǔn)處理程序,虛擬存儲(chǔ)器等。 最大吞吐率取決于最慢段 ? 提高流水線(xiàn)吞吐率的方法 細(xì)分 段重復(fù)設(shè)置 ? 實(shí)際吞吐率 按吞吐率定義計(jì)算 P92 計(jì)算機(jī)體系結(jié)構(gòu) 性能分析 (cont.) Page 92 ?加速比 ? 指 m段流水線(xiàn)的速度與等功能的非流水線(xiàn)的速度之比。 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ù)相關(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) 流水線(xiàn)相關(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中都在流水線(xiàn)的靠后段中確定 ?是否為分支指令是在 ID段后,此時(shí)取進(jìn)來(lái)的指令可能是錯(cuò)誤的指令 ?對(duì)于簡(jiǎn)單的 DLX流水線(xiàn) 3 cycle branch penalty ? 有效地址在 EX段才能確定 ? 條件是否為真在 MEM段才能知道 ? 因此有 3個(gè) stall ?見(jiàn) Page111 簡(jiǎn)單處理分支指令的方法及其流水線(xià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)流水線(xiàn)中的指令對(duì)流水線(xiàn)狀態(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。因?yàn)? ? 所
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1