



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.1動(dòng)態(tài)調(diào)度動(dòng)態(tài)調(diào)度 ( (Cont), Cont), 推斷執(zhí)行推斷執(zhí)行和和ILPILP計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.2Review TomasuloTomasulo 引入動(dòng)態(tài)調(diào)度的動(dòng)機(jī)引入動(dòng)態(tài)調(diào)度的動(dòng)機(jī) 在沒有專用編譯器的情況下,提高系統(tǒng)性能 解決編譯時(shí)無法判定的部分相關(guān)問題 Scoreboard 和Tomasula Tomasula 主要貢獻(xiàn)主要貢獻(xiàn) Dynamic scheduling Register renaming-消除了WAW,WAR相關(guān) Load/store disambiguation 算法的主要缺陷算法的主要缺陷 復(fù)雜 要求高速C
2、DB 性能受限于Common Data Bus 動(dòng)態(tài)硬件方案可以用硬件進(jìn)行循環(huán)展開 如何處理分支? 我們可以用硬件做循環(huán)展開必須可以解決分支指令問題 如何處理精確中斷? Out-of-order execution out-of-order completion!計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.3為什么順序發(fā)射為什么順序發(fā)射? 順序發(fā)射使我們可以進(jìn)行程序的數(shù)據(jù)流分析 我們可以知道某條指令的結(jié)果會(huì)流向哪些指令 如果我們亂序發(fā)射,可能會(huì)混淆RAW和WAR相關(guān) 每一周期發(fā)射多條指令也使用該原則將會(huì)正確地工作: 需要多端口的 “rename table” ,以便同時(shí)對(duì)一組指令所用的寄存器重命名
3、需要在單周期內(nèi)發(fā)射到多個(gè)RS中. 寄存器文件需要有2x 個(gè)讀端口和x個(gè)寫端口.計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.4關(guān)于異常處理關(guān)于異常處理? 亂序完成加大了實(shí)現(xiàn)精確中斷的難度 在前面指令還沒有完成時(shí),寄存器文件中可能會(huì)有后面指令的運(yùn)行結(jié)果. 如果這些前面的指令執(zhí)行時(shí)有中斷產(chǎn)生,怎么辦? 例如:DIVD F10, F0, F2SUBD F4, F6, F8ADDD F12, F14, F16 需要“rollback” 寄存器文件到原來的狀態(tài): 精確中斷的含義是其返回地址為:-該地址之前的所有指令都已完成-其后的指令還都沒有完成 實(shí)現(xiàn)精確中斷的技術(shù):順序完成(或提交) 即提交指令完成的順序必須
4、與指令發(fā)射的順序相同計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.5進(jìn)行循環(huán)重疊執(zhí)行需要盡快解決分支問題進(jìn)行循環(huán)重疊執(zhí)行需要盡快解決分支問題! 在循環(huán)展開的例子中,我們假設(shè)整數(shù)部件可以快速解決分支問題,以便進(jìn)行循環(huán)重疊執(zhí)行! Loop:LDF00R1MULTDF4F0F2SDF40R1SUBIR1R1#8BNEZR1Loop 如果分支依賴于multd,怎么辦? 需要能預(yù)測(cè)分支方向 如果分支成功,我們就可以重疊執(zhí)行循環(huán) 對(duì)于superscalar機(jī)器這一問題更加突出計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.6控制相關(guān)的動(dòng)態(tài)解決技術(shù)控制相關(guān)的動(dòng)態(tài)解決技術(shù) 控制相關(guān):由條件轉(zhuǎn)移或程序中斷引起的相關(guān),也稱全局相關(guān)
5、??刂葡嚓P(guān)對(duì)流水線的吞吐率和效率影響相對(duì)于數(shù)據(jù)相關(guān)要大得多 條件指令在一般程序中所占的比例相當(dāng)大 中斷雖然在程序中所占的比例不大,但中斷發(fā)生在程序中的哪一條指令,發(fā)生在一條指令執(zhí)行過程中的哪一個(gè)功能段都是不確定的 處理好條件轉(zhuǎn)移和中斷引起的控制相關(guān)是很重要的。 關(guān)鍵問題: 要確保流水線能夠正常工作 減少因斷流引起的吞吐率和效率的下降計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.7分支對(duì)性能的影響分支對(duì)性能的影響 假設(shè)在一條有K段的流水線中,在最后一段才能確定目標(biāo)地址i-1ii+1i+2i+k-3p+1p+2p+k-3i+k-2p+k-2OutputOutput當(dāng)分支方向預(yù)測(cè)錯(cuò)誤時(shí),不僅流水線中有多個(gè)功
6、能段要浪費(fèi),更嚴(yán)重的是可能造成程序執(zhí)行結(jié)果發(fā)生錯(cuò)誤,因此當(dāng)程序沿著錯(cuò)誤方向運(yùn)行后,作廢這些程序時(shí),一定不能破壞通用寄存器和主存儲(chǔ)器的內(nèi)容。計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.8條件轉(zhuǎn)移指令對(duì)流水線性能的影響條件轉(zhuǎn)移指令對(duì)流水線性能的影響 假設(shè)對(duì)于一條有K段的流水線,由于條件分支的影響,在最壞情況下,每次條件轉(zhuǎn)移將造成k-1個(gè)時(shí)鐘周期的斷流。假設(shè)條件分支在一般程序中所占的比例為p, 條件成功的概率為q。試分析分支對(duì)流水線的影響。 結(jié)論:條件轉(zhuǎn)移指令對(duì)流水線的影響很大,必須采取相關(guān)措施來減少這種影響。 預(yù)測(cè)可以是靜態(tài)預(yù)測(cè)“Static” (at compile time) 或動(dòng)態(tài)預(yù)測(cè) “Dyna
7、mic” (at runtime) 動(dòng)態(tài)分支預(yù)測(cè) vs. 靜態(tài)分支預(yù)測(cè),哪個(gè)好?計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.9Dynamic Branch Prediction 動(dòng)態(tài)分支預(yù)測(cè):預(yù)測(cè)分支的方向在程序運(yùn)行時(shí)刻動(dòng)態(tài)確定 需解決的關(guān)鍵問題是: 如何記錄轉(zhuǎn)移歷史信息 如何根據(jù)所記錄的轉(zhuǎn)移歷史信息,預(yù)測(cè)轉(zhuǎn)移的方向 主要方法 基于BPB(Branch Prediction Buffer)或BHT(Branch History Table)的方法-1-bit BHT和2-bit BHT-Correlating Branch Predictors-Tournament Predictors: Adap
8、tively Combining Local and Global Predictors High Performance Instruction Delivery-BTB-Integrated Instruction Fetch Units-Return Address Predictors Performance = (accuracy, cost of misprediction) Misprediction Flush Reorder Buffer計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.101-bit BHT Branch History Table: 分支指令的PC的低位索引1-bit
9、 BHT 該表記錄上一次轉(zhuǎn)移是否成功 不做地址檢查 例題:一個(gè)循環(huán)供循環(huán)10次,它將分支成功9次,1次不成功,假設(shè)此分支的預(yù)測(cè)位始終在緩沖區(qū)中,那么分支預(yù)測(cè)的準(zhǔn)確性是多少? 靜態(tài)預(yù)測(cè) vs. 動(dòng)態(tài)預(yù)測(cè) 問題: 在一個(gè)循環(huán)中, 1-bit BHT 將導(dǎo)致2次分支預(yù)測(cè)錯(cuò)誤(avg is 9 iteratios before exit): 最后一次循環(huán), 前面都是預(yù)測(cè)成功,而這次需要退出循環(huán) 第一次循環(huán),由于前面預(yù)測(cè)為失敗,而這次實(shí)際上為成功計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.11 解決辦法解決辦法: 2位記錄分支歷史位記錄分支歷史 Red: stop, not taken Green: go,
10、taken2-bit BHTNTTTNTPredict TakenPredict Not TakenPredict TakenPredict Not TakenTNTTNT計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.12計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.13計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.14BHT Accuracy 分支預(yù)測(cè)錯(cuò)誤的原因: 預(yù)測(cè)錯(cuò)誤 由于使用PC的低位查找BHT表,可能得到錯(cuò)誤的分支歷史記錄 BHT表的大小問題 4096 項(xiàng)的表分支預(yù)測(cè)錯(cuò)誤的比例為1% (nasa7, tomcatv) to 18% (eqntott), spice at 9% and gcc at 12%
11、 再增加項(xiàng)數(shù),對(duì)提高預(yù)測(cè)準(zhǔn)確率幾乎沒有效果(in Alpha 21164)計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.15Correlating Branch Predicator 例如: if (aa=2) aa=0; if (bb=2) bb=0; if (aa!=bb) 翻譯為DLX SUBI R3,R1,#2 BNEZ R3,L1 ; branch b1 (aa!=2) ADDI R1,R0,R0 ;aa=0 L1: SUBI R3,R2,#2 BNEZ R3,L2 ;branch b2(bb!=2) ADDI R2,R0,R0 ; bb=0 L2: SUBI R3,R1,R2 ;R3=aa
12、-bb BEQZ R3,L3 ;branch b3 (aa=bb)計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.16Correlating Branches 觀察結(jié)果:b3 與分支b2 和b1相關(guān)。如果b1和b2都分支失敗,則b3一定成功。 Correlating predictors 或 兩級(jí)預(yù)測(cè)器:分支預(yù)測(cè)器根據(jù)其他分支的行為來進(jìn)行預(yù)測(cè)。 工作原理:根據(jù)一個(gè)簡(jiǎn)單的例子我們來看其基本原理 if (d=0)d=1; if (d=1) d=0; 翻譯為DLX BNEZ R1,L1 ;branch b1(d!=0) ADDI R1,R0,#1 ;d=0, so d=1 L1: ADDI R3,R1,#-1
13、 BNEZ R3,L2 ;branch b2(d!=1) . L2:計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.17兩級(jí)預(yù)測(cè)器基本工作原理兩級(jí)預(yù)測(cè)器基本工作原理 假設(shè)d的初始值序列為0,1,2 b1 如果分支失敗,b2一定也分支失敗。 前面的兩位標(biāo)準(zhǔn)的預(yù)測(cè)方案就沒法利用這一點(diǎn),而兩級(jí)預(yù)測(cè)方案就可以。計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.18 假設(shè)d的初始值在2和0之間切換。 用1-bit預(yù)測(cè)器,初始設(shè)置為預(yù)測(cè)失敗,T表示預(yù)測(cè)成功,NT表示預(yù)測(cè)失敗。 結(jié)論:這樣的序列每次預(yù)測(cè)都錯(cuò),預(yù)測(cè)錯(cuò)誤率100計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.19Correlating Branches 基本思想:用1位作為c
14、orrelation位。即每個(gè)分支都有兩個(gè)相互獨(dú)立的預(yù)測(cè)位:一個(gè)預(yù)測(cè)位假設(shè)最近一次執(zhí)行的分支失敗時(shí)的預(yù)測(cè)位,另一個(gè)預(yù)測(cè)位是假設(shè)最近一次執(zhí)行的分支成功時(shí)的預(yù)測(cè)位。 最近一次執(zhí)行的分支通常與要預(yù)測(cè)的分支不是同一條指令 記為 (1,1)前一位表示最近一次分支失敗時(shí)的預(yù)測(cè)位,后一位表示最近一次分支成功時(shí)的預(yù)測(cè)位計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.20 Correlating 預(yù)測(cè)器的預(yù)測(cè)和執(zhí)行情況, 顯然只有在第一次d=2時(shí),預(yù)測(cè)錯(cuò)誤,其他都預(yù)測(cè)正確 記為(1,1)預(yù)測(cè)器,即根據(jù)最近一次分支的行為來選擇一對(duì)1-bit預(yù)測(cè)器中的一個(gè)。 更一般的表示為(m, n),即根據(jù)最近的m個(gè)分支,從2m個(gè)分支預(yù)測(cè)
15、器中選擇預(yù)測(cè)器,每個(gè)預(yù)測(cè)器的位數(shù)為n計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.21Correlating Branches (2,2) predictor: 2-bit global, 2-bit localBranch address (4 bits)2-bits per branch local predictorsPrediction2-bit recent global branch history(01 = not taken then taken)計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.22計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.23Tournament Predictors Tourna
16、ment predictors: 使用兩個(gè)預(yù)測(cè)器 一個(gè)基于全局信息 一個(gè)基于局部信息 再加一個(gè)選擇器 Use the predictor that tends to guess correctlyaddrhistoryPredictor APredictor B計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.24Tournament Predictor in Alpha 21264 Selector:4K 2-bit 計(jì)數(shù)器用來選擇全局預(yù)測(cè)器還是局部預(yù)測(cè)器 Global predictor: 使用4K項(xiàng),根據(jù)最近的12個(gè)分支的執(zhí)行情況來索引,每項(xiàng)為標(biāo)準(zhǔn)的2-bit預(yù)測(cè)器 12-bit pattern:
17、ith bit 0 = ith prior branch not taken; ith bit 1 = ith prior branch taken; Local predictor :兩級(jí)預(yù)測(cè)器 Top level :1024個(gè)10-bit 項(xiàng)構(gòu)成,每個(gè)10-bit項(xiàng)對(duì)應(yīng)最近10次分支的轉(zhuǎn)移方向 Next level :由Top level所選項(xiàng)中的10-bit索引找到1K 項(xiàng)中的對(duì)應(yīng)項(xiàng),每項(xiàng)由3-bit saturating counter 作為局部預(yù)測(cè)器 Total size: 4K*2 + 4K*2 + 1K*10 + 1K*3 = 29K bits!(180,000 transist
18、ors)計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.25% of predictions from local predictor in Tournament Scheme98%100%94%90%55%76%72%63%37%69%0%20%40%60%80%100%nasa7matrix300tomcatvdoducspicefppppgccespressoeqntottli計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.26Accuracy of Branch Prediction Profile: branch profile from last execution(static in that in
19、 encoded in instruction, but profile)fig 3.40計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.27Accuracy v. Size (SPEC89)0%1%2%3%4%5%6%7%8%9%10%081624324048566472808896104112120128Total predictor size (Kbits)Conditional branch misprediction rateLocalCorrelatingTournament計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.28 分支指令的地址作為BTB的索引,以得到分支預(yù)測(cè)地址 必須檢測(cè)分支指令的地址
20、是否匹配,以免用錯(cuò)誤的分支地址 從表中得到預(yù)測(cè)地址分支方向確定后,更新預(yù)測(cè)的PCSimple dynamic prediction: Branch Target Buffer (BTB)Branch PCPredicted PC=?PC of instructionFETCHExtra prediction statebitsYes: instruction is branch and use predicted PC as next PCNo: branch not predicted, proceed normally (Next PC = PC+4)計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.
21、29計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.30 Determine the total branch penalty for a branch-target buffer assuming the penalty cycles for individual mispredictions from figure 2.24. Make the following assumptions about the prediction accuracy and hit rate: Prediction accuracy is 90% (for instructions in the butter) Hit
22、 rate in the buffer is 90% (for branches predicted taken)Ans. P1 = 90%*10% P2= 10% BP = (0.09+0.1)*2 = 0.38計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.31Review 控制相關(guān)的動(dòng)態(tài)解決技術(shù)控制相關(guān)的動(dòng)態(tài)解決技術(shù) 動(dòng)態(tài)分支預(yù)測(cè):預(yù)測(cè)分支的方向在程序運(yùn)行時(shí)刻動(dòng)態(tài)確定 需解決的關(guān)鍵問題: 如何記錄轉(zhuǎn)移歷史信息 如何根據(jù)所記錄的轉(zhuǎn)移歷史信息,預(yù)測(cè)轉(zhuǎn)移的方向 主要方法 1-bit BHT和2-bit BHT Correlating Branch Predictors Tournament Predic
23、tors: Adaptively Combining Local and Global Predictors High Performance Instruction Delivery-BTB-Integrated Instruction Fetch Units-Return Address Predictors Performance = (accuracy, cost of misprediction) Misprediction Flush Reorder Buffer計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.32Accuracy of Different SchemesFrequency
24、of MispredictionsFrequency of Mispredictions0%2%4%6%8%10%12%14%16%18%nasa7matrix300tomcatvdoducdspicefppppgccespressoeqntottli0%1%5%6%6%11%4%6%5%1%4,096 entries: 2-bits per entryUnlimited entries: 2-bits/entry1,024 entries (2,2)4096 Entries 2-bit BHTUnlimited Entries 2-bit BHT1024 Entries (2,2) BHT0
25、%18%Frequency of Mispredictions計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.33HW support for More ILP 避免分支預(yù)測(cè):將分支預(yù)測(cè)轉(zhuǎn)換為有條件的執(zhí)行指令: if (x) then A = B op C else NOP 如果條件不成立,即不寫結(jié)果,也不引起異常 擴(kuò)展ISA, Alpha, MIPS, PowerPC, SPARC 的ISA , 存在條件傳送指令; PA-RISC 的“取消”分支指令 EPIC: 64 1-bit 條件位選擇有條件的執(zhí)行 帶條件的指令(conditional instructions)的缺陷: 如果取消該指令執(zhí)行,仍然
26、需要花費(fèi)時(shí)間 如果檢測(cè)條件較晚,仍然要Stall 復(fù)雜條件將降低其有效性,條件是否成立要在流水線較后段才能知道計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.34 需要硬件緩存沒有提交的指令結(jié)果: reorder buffer (ROB) 3 個(gè)域: 指令類型,目的地址, 值 Reorder buffer 可以作為操作數(shù)源 = 就像有更多的寄存器(與RS類似) 當(dāng)程序執(zhí)行階段完成后,用ROB的編號(hào)代替RS中的值 增加指令提交階段 ROB提供執(zhí)行完成階段和提交階段的操作數(shù) 一旦操作數(shù)提交,結(jié)果就寫入寄存器 這樣,在預(yù)測(cè)失敗時(shí),容易恢復(fù)推斷執(zhí)行的指令,或發(fā)生異常時(shí),容易恢復(fù)狀態(tài)ReorderBufferFP
27、OpQueueFP AdderFP AdderRes StationsRes StationsFP Regs硬件支持精確中斷硬件支持精確中斷計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.351. Issueget instruction from FP Op Queue 如果RS和ROB有空閑單元就發(fā)射指令。如果寄存器或ROB中源操作數(shù)可用,就將其發(fā)送到RS,目的地址的ROB編號(hào)也發(fā)送給RS (this stage sometimes called “dispatch”)2. Executionoperate on operands (EX) 當(dāng)操作數(shù)就緒后,開始執(zhí)行。如果沒有就緒,監(jiān)測(cè)CDB,檢查R
28、AW相關(guān)3. Write resultfinish execution (WB) 將運(yùn)算結(jié)果通過CDB傳送給所有等待結(jié)果的FU以及ROB單元,標(biāo)識(shí)RS可用4. Commitupdate register with reorder result 按ROB表中順序,如果結(jié)果已有,就更新寄存器(或存儲(chǔ)器),并將該指令從ROB表中刪除 預(yù)測(cè)失敗或有中斷時(shí),刷新ROB支持推斷執(zhí)行的支持推斷執(zhí)行的 Tomasulo 算法的四階段算法的四階段計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.36LD F6, 34(R2)LD F2, 45(R3)MULT F0, F2, F4SUBD F8, F6, F2DIVD F1
29、0, F0, F6ADDD F6, F8, F2計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.37計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.38計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.39計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.40計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.41v計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.42計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.43計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.44計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.45計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.46計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.47計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.48計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.49計(jì)算
30、機(jī)體系結(jié)構(gòu) Chapter4_3.50計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.51計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.52計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.53計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.54計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.55計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.56計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.57消除存儲(chǔ)器的二義性消除存儲(chǔ)器的二義性 : 處理對(duì)存儲(chǔ)器引用的處理對(duì)存儲(chǔ)器引用的RAW相關(guān)相關(guān) Question: 給定一個(gè)指令序列,store,load 這兩個(gè)操作是否有關(guān)? 即下列代碼是否有相關(guān)問題?Eg:st0(R2),R5 ldR6,0(R3) 我們是否可以較早
31、啟動(dòng)ld? Store的地址可能會(huì)延遲很長(zhǎng)時(shí)間才能得到. 我們也許想在同一個(gè)周期開始這兩個(gè)操作的執(zhí)行. 兩種方法: No Speculation: 不進(jìn)行l(wèi)oad操作,直到我們確信地址 0(R2) 0(R3) Speculation: 我們可以假設(shè)他們相關(guān)還是不相關(guān) (called “dependence speculation”) ,如果推測(cè)錯(cuò)誤通過ROB來修正計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.58 需要緩沖區(qū)以程序序保存所有對(duì)存儲(chǔ)器的寫操作 保存地址(地址可用時(shí))和值(值可用時(shí)) FIFO ordering: 以程序序確認(rèn)和刪除store 當(dāng)發(fā)射一個(gè)load操作時(shí),記錄當(dāng)前store隊(duì)
32、列的頭指針. 當(dāng)load的地址可用時(shí),檢查store隊(duì)列: 如果在load前存在正等待該地址的store操作,則stall該load操作 如果load地址與前面的store地址匹配,則有 memory-induced RAW hazard:-存儲(chǔ)的值可用 返回值-存儲(chǔ)的值還沒有準(zhǔn)備好 返回該store指令的ROB編號(hào) 否則發(fā)出存儲(chǔ)器請(qǐng)求 由于實(shí)際的store操作順序提交,所以不會(huì)有WAW 相關(guān).Hardware Support for Memory Disambiguation計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.59-LD F4, 10(R3)NMemory Disambiguation:ToMemoryFP addersFP multipliersReservation StationsFP OpQueueROB7ROB6ROB5ROB4ROB3ROB2ROB1F2F0- ST 10(R3), F5 LD F0,32(R2)ST 0(R3), F4NNYDone?DestDestOldestNewestfrom Memory2 32+R24 ROB3DestReorder BufferRegisters計(jì)算機(jī)體系結(jié)構(gòu) Chapter4_3.60Relationship betw
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源采購(gòu)合同終止及替代能源及節(jié)能減排協(xié)議
- 黨風(fēng)廉政責(zé)任追究與保障機(jī)制合同
- 訂購(gòu)飼料協(xié)議書范本
- 編織袋出口退稅與政策支持合作協(xié)議
- 委托撫養(yǎng)病人協(xié)議書范本
- 車輛租賃合同事故處理補(bǔ)充協(xié)議范本
- 餐廳廣告宣傳合作協(xié)議范本
- 鋼混組合梁剪力釘焊接技術(shù)
- 餐飲服務(wù)案例范文(21篇)
- 2024勞動(dòng)關(guān)系終止和解除終止解除勞動(dòng)合同(模板7篇)
- 中國(guó)美術(shù)學(xué)院非教學(xué)崗位招聘筆試真題2024
- 職業(yè)道德與法治教學(xué)課件匯總完整版電子教案
- 蒂森克虜伯電梯 MC2-B控制系統(tǒng)用戶手冊(cè)
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
- 危險(xiǎn)化學(xué)品臨界量表(參考)
- 墻柱梁板混凝土同時(shí)澆筑方案.doc
- 新生兒視覺訓(xùn)練黑白卡(整理90張必備圖卡)
- 礦山地質(zhì)環(huán)境恢復(fù)治理方案治理經(jīng)費(fèi)估算計(jì)算部分
- 大學(xué)遺傳學(xué)期末考試題庫(kù)及答案參考
- 藝術(shù)設(shè)計(jì)專業(yè)“職場(chǎng)化”工作室制實(shí)踐教學(xué)模式論文
- 工程機(jī)械銷售基本知識(shí).ppt
評(píng)論
0/150
提交評(píng)論