



版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章第三章 流水線技術流水線技術 3.1 流水線的基本概念流水線的基本概念3.2 DLX的基本流水線的基本流水線3.3 流水線的相關流水線的相關3.4 異常處理異常處理3.5 DLX中多周期操作的處理中多周期操作的處理3.6 MIPS R4000流水線流水線2022-3-7中國科學技術大學chapter3.2Review:性能評測性能評測 平均平均CPI? 每類指令的使用頻度每類指令的使用頻度TypeCPIi for typeFrequency CPIi x freqIi Arith/Logic440%1.6Load530%1.5Store410%0.4branch320%0.6Averag
2、e CPI:4.12022-3-7中國科學技術大學chapter3.3是否可以使是否可以使 CPI 4.1?IdealMemoryWrAdrDinRAdr323232DoutMemWr32ALU3232ALUOpALUControl32IRWrInstruction Reg32Reg FileRaRwbusWRb5532busA32busBRegWrRsRtMux01RtRdPCWrALUSelAMux01RegDstMux0132PCMemtoRegExtendExtOpMux01320123416Imm32 2ALUSelBMux1032ZeroZeroPCWrCondPCSrc32Ior
3、DMem Data RegALU OutBA 在一條指令執(zhí)行過程中下圖有許多空閑部件在一條指令執(zhí)行過程中下圖有許多空閑部件 可以讓指令重疊執(zhí)行可以讓指令重疊執(zhí)行?2022-3-7中國科學技術大學chapter3.4 洗衣為例洗衣為例 Ann, Brian, Cathy, Dave 每人進行洗衣的動作:每人進行洗衣的動作: wash, dry, and fold washer需要需要 30 minutes Dryer 需要需要 40 minutes “Folder” 需要需要 20 minutesABCD3.1 流水線的基本概念流水線的基本概念2022-3-7中國科學技術大學chapter3.5
4、Sequential Laundry 順序完成這些任務需要順序完成這些任務需要 6 小時小時 如果采用流水作業(yè)如果采用流水作業(yè), 需要多長時間需要多長時間? ABCD3040 20 3040 20 3040 20 3040 206 PM7891011MidnightTaskOrderTime2022-3-7中國科學技術大學chapter3.6流水線作業(yè)流水線作業(yè): 盡可能讓任務重疊進行盡可能讓任務重疊進行 流水作業(yè)完成四人的洗衣任務只需要流水作業(yè)完成四人的洗衣任務只需要 3.5 hours ABCD6 PM7891011MidnightTaskOrderTime3040404040 20202
5、2-3-7中國科學技術大學chapter3.7流水線技術要點流水線技術要點 流水線技術并不能提高單個任務的執(zhí)行效率,它可以流水線技術并不能提高單個任務的執(zhí)行效率,它可以提高整個系統(tǒng)的吞吐率提高整個系統(tǒng)的吞吐率 流水線中的瓶頸流水線中的瓶頸最慢的那一段最慢的那一段 多個任務同時執(zhí)行,但使用不同的資源多個任務同時執(zhí)行,但使用不同的資源 其潛在的加速比流水線的級數(shù)其潛在的加速比流水線的級數(shù) 流水段所需時間不均衡將降低加速比流水段所需時間不均衡將降低加速比 流水線存在裝入時間和排空時間,使得加速比降低流水線存在裝入時間和排空時間,使得加速比降低 由于存在相關問題,會導致流水線停頓由于存在相關問題,會導
6、致流水線停頓2022-3-7中國科學技術大學chapter3.8 指令流水線:指令流水線:CPU執(zhí)行大量的指令,指令吞吐率非常重要執(zhí)行大量的指令,指令吞吐率非常重要 DLX 的指令格式的指令格式3.2 DLX的基本流水線的基本流水線Op312601516202125rsrtimmediateOp3126025Op312601516202125rsrtoffset added to PCrdRegister-Register (R-type)ADD R1, R2, R3561011Register-Immediate (I-type)SUB R1, R2, #3Jump / Call (J-ty
7、pe)JUMP endfunc(jump, jump and link, trap and return from exception)所有指令相同長度所有指令相同長度在指令格式中寄存器位于同一位置在指令格式中寄存器位于同一位置只有只有Loads和和Stores可以對存儲器操作可以對存儲器操作2022-3-7中國科學技術大學chapter3.9DLX數(shù)據(jù)通路一種簡單實現(xiàn)數(shù)據(jù)通路一種簡單實現(xiàn) MemoryAccessWriteBackInstructionFetchInstr. DecodeReg. FetchExecuteAddr. CalcLMDALUMUXMemoryReg FileMUX
8、 MUXDataMemoryMUXSignExtend4AdderZero?Next SEQ PCAddressNext PCWB DataInstRDRS1RS2Imm2022-3-7中國科學技術大學chapter3.10基本操作基本操作(Step 1 & 2) Step 1 - IF IR - MemPC - fetch the next instruction from memory NPC - PC + 4 - compute the new PC Step 2 - ID - instruction decode and register fetch step A - Regs
9、IR6.10 B - RegsIR11.16 可能讀取的寄存器值沒有用,但沒有關系,譯碼后如果無用,以可能讀取的寄存器值沒有用,但沒有關系,譯碼后如果無用,以后操作就不用后操作就不用 Imm (IR16)16 # IR16-312022-3-7中國科學技術大學chapter3.11基本操作基本操作Step 3, 執(zhí)行階段執(zhí)行階段根據(jù)譯碼的結果,有四種情況 Memory Reference ALUOutput - A + (IR16)16 # IR16.31- effective address SMD - B - data to be written if it is a STORE - SM
10、D (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 As value is the condition base (= for BEQZ) 在簡單的在簡單的 Loa
11、d-Store機器中,不存在即需要計算存儲器地址,指令地址機器中,不存在即需要計算存儲器地址,指令地址,又要進行,又要進行ALU運算的指令,因此可以將計算有效地址與執(zhí)行合二為一運算的指令,因此可以將計算有效地址與執(zhí)行合二為一,在一個流水段中進行。,在一個流水段中進行。2022-3-7中國科學技術大學chapter3.12Step 4 & Step5Step 4 MEM - memory access/branch completion memory reference LMD - MemALUOutput - if its a load; LMD (load memory data)
12、= MDR 或 MemALUOutput - SMD branch if (cond) then PC - ALUOutput else PC - NPC for Jumps the condition is always trueStep 5 WB - write back Reg - Reg ALU RegsIR16.20 - ALUOutput Reg - Immed ALU RegsIR11.15 - ALUOutput Load RegsIR11.15 - LMD2022-3-7中國科學技術大學chapter3.13這種結構是否可行這種結構是否可行 模型是正確的,但沒有優(yōu)化模型是正確
13、的,但沒有優(yōu)化 還有其他選擇還有其他選擇 指令和數(shù)據(jù)存儲器是否可以分開指令和數(shù)據(jù)存儲器是否可以分開 采用一個長周期還是采用一個長周期還是5個短周期實現(xiàn)個短周期實現(xiàn)2022-3-7中國科學技術大學chapter3.14單周期和多周期控制 多周期控制可實現(xiàn)指令重疊執(zhí)行多周期控制可實現(xiàn)指令重疊執(zhí)行2022-3-7中國科學技術大學chapter3.15DLX的基本流水線的基本流水線 假設流水線周期為每步所花費的時間假設流水線周期為每步所花費的時間2022-3-7中國科學技術大學chapter3.16為什么用流水線為什么用流水線? 假設執(zhí)行假設執(zhí)行100條指令條指令 單周期機器單周期機器 45 ns/c
14、ycle x 1 CPI x 100 inst = 4500 ns 多周期機器多周期機器 10 ns/cycle x 4.6 CPI (due to inst mix) x 100 inst = 4600 ns 理想流水線機器理想流水線機器 10 ns/cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 ns2022-3-7中國科學技術大學chapter3.17為什么用流水線為什么用流水線(cont.)?資源利用率高資源利用率高Instr.OrderTime (clock cycles)Inst 0Inst 1Inst 2Inst 4Inst 3
15、ALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmReg2022-3-7中國科學技術大學chapter3.18流水線正常工作的基本條件流水線正常工作的基本條件 各段間需要使用寄存器文件保存當前段傳送到各段間需要使用寄存器文件保存當前段傳送到下一段的數(shù)據(jù)和控制信息下一段的數(shù)據(jù)和控制信息 存儲器帶寬是非流水的存儲器帶寬是非流水的5倍倍2022-3-7中國科學技術大學chapter3.19新的新的DLX數(shù)據(jù)通路(圖數(shù)據(jù)通路(圖3.12 Page 88)2022-3-7中國科學技術大學chapter3.202022-3-7中國科
16、學技術大學chapter3.21Review lecture5 流水線技術要點流水線技術要點 流水線技術并不能提高單個任務的執(zhí)行效率,它可以提高整個流水線技術并不能提高單個任務的執(zhí)行效率,它可以提高整個系統(tǒng)的吞吐率系統(tǒng)的吞吐率 流水線中的瓶頸流水線中的瓶頸最慢的那一段最慢的那一段 多個任務同時執(zhí)行,但使用不同的資源多個任務同時執(zhí)行,但使用不同的資源 其潛在的加速比流水線的級數(shù)其潛在的加速比流水線的級數(shù) 流水段所需時間不均衡將降低加速比流水段所需時間不均衡將降低加速比 流水線存在裝入時間和排空時間,使得加速比降低流水線存在裝入時間和排空時間,使得加速比降低 由于存在相關問題,會導致流水線停頓由于
17、存在相關問題,會導致流水線停頓 流水線正常工作的基本條件流水線正常工作的基本條件 增加寄存器文件保存當前段傳送到下一段的數(shù)據(jù)和控制信息增加寄存器文件保存當前段傳送到下一段的數(shù)據(jù)和控制信息 存儲器帶寬是非流水的存儲器帶寬是非流水的5倍倍2022-3-7中國科學技術大學chapter3.22新的新的DLX數(shù)據(jù)通路(圖數(shù)據(jù)通路(圖3.12 Page 88)2022-3-7中國科學技術大學chapter3.23在新的在新的Datapath下各段的操作下各段的操作 IF IF/ID.IR MemPC; IF/ID.NPC,PC (if (EX/MEM.opcode = branch) & EX/
18、MEM.cond) EX/MEM.ALUOutput else PC+4); ID ID/EX.A RegsIF/ID.IRrs; ID/EX.B RegsIF/ID.IRrt; ID/EX.NPCIF/ID.NPC; ID/EX/IR IF/ID.IR; ID/EX/Imm sign-extend(IF/ID.IRimmediate field); EX ALU instruction EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A func ID/EX.B; or EX/MEM.ALUOoutput ID/EX.A op ID/EX.Imm;202
19、2-3-7中國科學技術大學chapter3.24 Load or store instruction EX/MEM.IR ID/EX.IR EX/MEM.ALUOutput ID/EX.A + ID/EX.Imm EX/MEM.B ID/EX.B Branch instruction EX/MEM.ALUOutput ID/EX.NPC + (ID/EX.Imm synchronous, key is that completion is prevented some asynchronous are also within Resume vs. Terminate program impli
20、cations for how much state must be preserved2022-3-7中國科學技術大學chapter3.74例如例如2022-3-7中國科學技術大學chapter3.75最困難的問題最困難的問題 異常發(fā)生在指令中,并且要求恢復執(zhí)行異常發(fā)生在指令中,并且要求恢復執(zhí)行 要求要求=流水線必須安全地流水線必須安全地 shut down PC必須保存必須保存 如果重新開始的是一條分支指令,它需要重新執(zhí)行如果重新開始的是一條分支指令,它需要重新執(zhí)行 這意味著條件碼狀態(tài)必須沒有改變這意味著條件碼狀態(tài)必須沒有改變 在在DLX中的處理步驟中的處理步驟 強制強制trap指令在下一
21、個指令在下一個IF段進入流水線段進入流水線 封鎖引起故障的指令的所有寫操作和流水線中后繼指令的寫操作封鎖引起故障的指令的所有寫操作和流水線中后繼指令的寫操作 讓所有前序指令執(zhí)行完(如果能)讓所有前序指令執(zhí)行完(如果能) 保存重新執(zhí)行時的地址(保存重新執(zhí)行時的地址(PC) PC 或或 PC + 1 調(diào)用調(diào)用OS處理異常處理異常 2022-3-7中國科學技術大學chapter3.76 考慮延遲轉移時,假設有兩個延遲槽的分支考慮延遲轉移時,假設有兩個延遲槽的分支I Branch Instr1I+1 Delay instr1I+2Delay Instr2I+3instI+4inst 假設假設branc
22、h指令是好的指令是好的 第第1個延遲指令引起缺頁中斷個延遲指令引起缺頁中斷 第第2條指令封鎖條指令封鎖 異常處理后,缺省的恢復點是第一條延遲指令異常處理后,缺省的恢復點是第一條延遲指令 不會有不會有Branch指令 因此需要保存的PC值不止一個,根據(jù)具體情況進行恢復2022-3-7中國科學技術大學chapter3.77精確中斷與非精確中斷精確中斷與非精確中斷 引起異常的指令前面的指令都已執(zhí)行完,故障后的指令可以重新從故引起異常的指令前面的指令都已執(zhí)行完,故障后的指令可以重新從故障點后執(zhí)行障點后執(zhí)行 理想情況,引起故障的指令沒有改變機器的狀態(tài)理想情況,引起故障的指令沒有改變機器的狀態(tài) 要正確的處
23、理這類異常請求,必須保證故障指令不產(chǎn)生副作用要正確的處理這類異常請求,必須保證故障指令不產(chǎn)生副作用 在有些機器上,浮點數(shù)異常在有些機器上,浮點數(shù)異常 流水線段數(shù)多,在發(fā)現(xiàn)故障前,故障點后的指令就已經(jīng)寫了結果,在這種情況下流水線段數(shù)多,在發(fā)現(xiàn)故障前,故障點后的指令就已經(jīng)寫了結果,在這種情況下,必須有辦法處理。,必須有辦法處理。 當今很多高性能計算機,當今很多高性能計算機,Alpha 21164,MIPSR10000等支持精確中等支持精確中斷,但精確模式要慢斷,但精確模式要慢10倍,一般用在代碼調(diào)試時,很多系統(tǒng)要求精確倍,一般用在代碼調(diào)試時,很多系統(tǒng)要求精確中斷模式,如中斷模式,如IEEE FP標
24、準處理程序,虛擬存儲器等。標準處理程序,虛擬存儲器等。 精確中斷對整數(shù)流水線而言,不是太難實現(xiàn)精確中斷對整數(shù)流水線而言,不是太難實現(xiàn)2022-3-7中國科學技術大學chapter3.78DLX中的異常中的異常 IF page fault, misaligned address, memory protection violation ID undefined or illegal opcode EX arithmetic exception MEM page fault, misaligned address, memory protection violation WB none2022-3
25、-7中國科學技術大學chapter3.79Review 控制相關控制相關 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法 凍結或排空流水線凍結或排空流水線 預測分支成功預測分支成功 預測分支失敗預測分支失敗 延遲轉移延遲轉移 異常異常 異常的分類異常的分類 精確中斷和非精確中斷精確中斷和非精確中斷2022-3-7中國科學技術大學chapter3.80Review- 相關的處理相關的處理 結構相關結構相關 概念:由于爭用資源而引起的概念:由于爭用資源而引起的 解決辦法解決辦法 數(shù)據(jù)相關數(shù)據(jù)相關 概念:由于存在實際的通信,而引起的概念:由于存在實際的通信,而引起的 解決辦法:解決辦法:
26、 硬件:定向技術(硬件:定向技術(forwarding) 軟件軟件: 指令級調(diào)度指令級調(diào)度 控制相關控制相關 概念:由于控制類指令引起的概念:由于控制類指令引起的 解決辦法解決辦法 ?2022-3-7中國科學技術大學chapter3.81Review (續(xù))(續(xù)) 控制相關控制相關 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法-轉移地址,條件碼轉移地址,條件碼靜態(tài)處理:靜態(tài)處理: 凍結或排空流水線凍結或排空流水線 預測分支成功預測分支成功 預測分支失敗預測分支失敗 延遲轉移延遲轉移 異常異常 異常的分類異常的分類 精確中斷和非精確中斷精確中斷和非精確中斷2022-3-7中國科學技
27、術大學chapter3.823.5 DLX中多周期操作的處理中多周期操作的處理 問題問題 浮點操作在浮點操作在12個個cycles完成是不現(xiàn)實的,一般要花費較長時間完成是不現(xiàn)實的,一般要花費較長時間 在在DLX中如何處理中如何處理 在在1到到2個個cycles時間內(nèi)完成的處理方法時間內(nèi)完成的處理方法 采用較慢的時鐘源,或采用較慢的時鐘源,或 在在FP部件中延遲其部件中延遲其EX段段 現(xiàn)假設現(xiàn)假設FP指令與整數(shù)指令采用相同的流水線,那么指令與整數(shù)指令采用相同的流水線,那么 EX 段需要循環(huán)多次來完成段需要循環(huán)多次來完成FP操作,循環(huán)次數(shù)取決于操作類型操作,循環(huán)次數(shù)取決于操作類型 有多個有多個FP
28、功能部件,如果發(fā)射出的指令導致結構或數(shù)據(jù)相關,需功能部件,如果發(fā)射出的指令導致結構或數(shù)據(jù)相關,需暫停暫停2022-3-7中國科學技術大學chapter3.83對對DLX的擴充的擴充四個功能部件四個功能部件 Integer 部件處理:部件處理:Loads, Store, Integer ALU操作和操作和Branch FP/Integer 乘法部件:處理浮點數(shù)和整數(shù)乘法乘法部件:處理浮點數(shù)和整數(shù)乘法 FP加法器:處理加法器:處理FP加,減和類型轉換加,減和類型轉換 FP/Integer除法部件:處理浮點數(shù)和整數(shù)除法除法部件:處理浮點數(shù)和整數(shù)除法 這些功能部件未流水化這些功能部件未流水化2022-
29、3-7中國科學技術大學chapter3.84擴展的擴展的DLX流水線流水線2022-3-7中國科學技術大學chapter3.85Latency & Repeat Interval 延時(Latency) 定義為完成某一操作所需的cycle數(shù) 定義為使用當前指令所產(chǎn)生結果的指令與當前指令間的最小間隔周期數(shù) 循環(huán)間隔(Repeat/Initiation interval) 發(fā)射相同類型的操作所需的間隔周期數(shù) 對于對于EX部件流水化的新的部件流水化的新的DLXFunction UnitLatencyRepeat IntervalInteger ALU01Data Memory (Intege
30、r and FP loads(1 less for store latency)11FP Add31FP multiply61FP Divide (also integer divide and FP sqrt)24252022-3-7中國科學技術大學chapter3.86將部分執(zhí)行部件流水化后的將部分執(zhí)行部件流水化后的DLX流水線流水線2022-3-7中國科學技術大學chapter3.87新的相關和定向問題新的相關和定向問題 結構沖突增多非流水的Divide部件,使得EX段增長24個cycles在一個周期內(nèi)可能有多個寄存器寫操作 可能指令亂序完成(亂序到達WB段)有可能存在WAW 由于在ID
31、段讀,還不會有 WAR 相關 亂序完成導致異常處理復雜 由于指令的延遲加大導致RAW 相關的stall數(shù)增多 需要付出更多的代價來增加定向路徑2022-3-7中國科學技術大學chapter3.88新的結構相關新的結構相關 縱向檢查指令所使用的資源縱向檢查指令所使用的資源 第第10個個cycle,三條指令同時進入三條指令同時進入MEM,但由于但由于MULTD和和ADDD在在MEM段沒有實際動作,這種情況沒有關系段沒有實際動作,這種情況沒有關系 第第11個個cycle,三條指令同時進入三條指令同時進入WB段,存在結構相關段,存在結構相關2022-3-7中國科學技術大學chapter3.89解決方法
32、解決方法 Option 1 在ID段跟蹤寫端口的使用情況,以便能暫停該指令的發(fā)射 一旦發(fā)現(xiàn)沖突,暫停當前指令的發(fā)射 Option 2 在進入MEM或WB段時,暫停沖突的指令,讓有較長延時的指令先做,因為較長延時的指令,會更容易引起其他RAW相關,從而導致更多的stalls2022-3-7中國科學技術大學chapter3.90關于數(shù)據(jù)相關關于數(shù)據(jù)相關 較長延時的流水線,導致數(shù)據(jù)相關比例增多,較長延時的流水線,導致數(shù)據(jù)相關比例增多,stalls數(shù)增多數(shù)增多2022-3-7中國科學技術大學chapter3.91新的沖突源新的沖突源 GPR與與FPR間的數(shù)據(jù)傳送造成的數(shù)據(jù)相關間的數(shù)據(jù)傳送造成的數(shù)據(jù)相關
33、 MOVI2FP and MOVFP2I instructions 如果在如果在ID段進行相關檢測,指令發(fā)射前須做如下檢測:段進行相關檢測,指令發(fā)射前須做如下檢測: 結構相關結構相關 循環(huán)間隔檢測循環(huán)間隔檢測 確定寄存器寫端口是否可用確定寄存器寫端口是否可用 RAW相關相關 列表所有待寫的目的寄存器列表所有待寫的目的寄存器 不發(fā)射以待寫寄存器做為源寄存器的指令,直到該寄存器值可用不發(fā)射以待寫寄存器做為源寄存器的指令,直到該寄存器值可用 WAW相關相關 仍然使用上述待寫寄存器列表仍然使用上述待寫寄存器列表 不發(fā)射那些目的寄存器在待寫寄存器列表中的指令,直到對應的待不發(fā)射那些目的寄存器在待寫寄存器
34、列表中的指令,直到對應的待寫寄存器值可用寫寄存器值可用(完成完成WB)。2022-3-7中國科學技術大學chapter3.92精確中斷與長流水線精確中斷與長流水線 例如DIVF F0,F2,F4ADDF F10,F10,F8SUBF F12,F12,F14 ADDF 和SUBF都在DIVF前完成 如果DIVF導致異常,會如何?非精確中斷 Ideas?2022-3-7中國科學技術大學chapter3.93處理中斷4種可能的辦法 方法方法1:忽略這種問題,當非精確處理:忽略這種問題,當非精確處理 原來的原來的supercomputer的方法的方法 但現(xiàn)代計算機對但現(xiàn)代計算機對IEEE 浮點標準的異
35、常處理,虛擬存儲的異常處理要求必浮點標準的異常處理,虛擬存儲的異常處理要求必須是精確中斷。須是精確中斷。 方法方法2:緩存操作結果,直到早期發(fā)射的指令執(zhí)行完。:緩存操作結果,直到早期發(fā)射的指令執(zhí)行完。 當指令運行時間較長時,當指令運行時間較長時,Buffer區(qū)較大區(qū)較大 Future file (Power PC620 MIPS R10000) 緩存執(zhí)行結果,按指令序確認緩存執(zhí)行結果,按指令序確認 history file (CYBER 180/990) 盡快確認盡快確認 緩存區(qū)存放原來的操作數(shù),如果異常發(fā)生,回卷到合適的狀態(tài)緩存區(qū)存放原來的操作數(shù),如果異常發(fā)生,回卷到合適的狀態(tài)2022-3-
36、7中國科學技術大學chapter3.94第第3 & 4種方法種方法 以非精確方式處理,用軟件來修正以非精確方式處理,用軟件來修正 為軟件修正保存足夠的狀態(tài)為軟件修正保存足夠的狀態(tài) 讓軟件仿真尚未執(zhí)行完的指令的執(zhí)行讓軟件仿真尚未執(zhí)行完的指令的執(zhí)行 例如例如 Instruction 1 A 執(zhí)行時間較長,引起中斷的指令執(zhí)行時間較長,引起中斷的指令 Instruction 2, instruction 3, .instruction n-1 未執(zhí)行完的指令未執(zhí)行完的指令 Instruction n 已執(zhí)行完的指令已執(zhí)行完的指令 由于第由于第n條指令已執(zhí)行完,中斷返回地址為第條指令已執(zhí)行完,中
37、斷返回地址為第n+1條指令,如果我們條指令,如果我們保存所有的流水線的保存所有的流水線的PC值,那么軟件可以仿真值,那么軟件可以仿真Instruction1 到到Instruction n-1 的執(zhí)行的執(zhí)行 暫停發(fā)射,直到確定先前的指令都可無異常的完成,再發(fā)暫停發(fā)射,直到確定先前的指令都可無異常的完成,再發(fā)射下面的指令。射下面的指令。 在在EX段的前期確認(段的前期確認(MIPS流水線在前三個周期中)流水線在前三個周期中) MIPS R2K to R4K 以及以及Pentium使用這種方法使用這種方法2022-3-7中國科學技術大學chapter3.95Review lecture7 控制相關
38、控制相關 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法-轉移地址,條件碼轉移地址,條件碼靜態(tài)處理:靜態(tài)處理: 凍結或排空流水線凍結或排空流水線 預測分支成功預測分支成功 預測分支失敗預測分支失敗 延遲轉移延遲轉移 異常異常 異常的分類異常的分類 精確中斷和非精確中斷精確中斷和非精確中斷 DLX中多周期操作的處理中多周期操作的處理 對對DLX的擴充的擴充擴展的擴展的DLX流水線流水線 新的問題:沖突源增加,異常處理,新的問題:沖突源增加,異常處理,2022-3-7中國科學技術大學chapter3.96DLX流水線的性能流水線的性能Stalls per FP operation fo
39、r each major type of FP operation for the SPEC89 FP benchmarks2022-3-7中國科學技術大學chapter3.97平均每條指令的平均每條指令的stall數(shù)數(shù)The stalls occurring for the MIPS FP pipeline for five for the SPEC89 FP benchmarks.2022-3-7中國科學技術大學chapter3.98MIPS R4000實際的實際的 64-bit 機器機器主頻主頻100MHz 200MHz較深的流水線(級數(shù)較多)較深的流水線(級數(shù)較多)(有時也稱為有時也稱
40、為 superpipelining)指令集與指令集與DLX非常類似非常類似2022-3-7中國科學技術大學chapter3.99MIPS R4000的的8 級整數(shù)流水線級整數(shù)流水線 IF取指階段的前半部分;選擇取指階段的前半部分;選擇PC值,初始化指令值,初始化指令cache的訪問的訪問 IS取指階段的后半部分,主要完成訪問指令取指階段的后半部分,主要完成訪問指令cache的操的操作作 RF指令譯碼,寄存器讀取,相關檢測以及指令指令譯碼,寄存器讀取,相關檢測以及指令cache命命中檢測中檢測 EX執(zhí)行,包括:計算有效地址,進行執(zhí)行,包括:計算有效地址,進行ALU操作,計算分操作,計算分支目標地
41、址和檢測分支條件支目標地址和檢測分支條件 DF取數(shù)據(jù),訪問數(shù)據(jù)取數(shù)據(jù),訪問數(shù)據(jù)cache的前半部分的前半部分 DS訪問數(shù)據(jù)訪問數(shù)據(jù)cache的后半部分的后半部分 TCtag 檢測,確定數(shù)據(jù)檢測,確定數(shù)據(jù)cache是否命中是否命中 WBLoad操作和操作和R-R操作的結果寫回操作的結果寫回2022-3-7中國科學技術大學chapter3.100需注意的問題需注意的問題 在使用定向技術的情況下,在使用定向技術的情況下,Load 延遲為延遲為2個個cycles Load和與其相關的指令間必須有和與其相關的指令間必須有2條指令或兩個條指令或兩個bubbles 原因:原因:load的結果在的結果在DS結
42、束時可用結束時可用 分支延遲分支延遲3個個cycles 分支與目標指令間需要分支與目標指令間需要3條指令或條指令或3個個bubbles 原因:目標地址在原因:目標地址在EX段后才能知道段后才能知道 R4000的流水線中,到的流水線中,到ALU輸入端有四個定向源輸入端有四個定向源 EX/DF, DF/DS, DS/ TC, TC/WB2022-3-7中國科學技術大學chapter3.101圖示圖示IFISIFRFISIFEXRFISIFDFEXRFISIFDSDFEXRFISIFTCDSDFEXRFISIFWBTCDSDFEXRFISIFTWO CycleLoad LatencyIFISIFRF
43、ISIFEXRFISIFDFEXRFISIFDSDFEXRFISIFTCDSDFEXRFISIFWBTCDSDFEXRFISIFTHREE CycleBranch Latency(conditions evaluated during EX phase)Delay slot plus two stallsBranch likely cancels delay slot if not taken2022-3-7中國科學技術大學chapter3.102MIPS R4000 浮點數(shù)操作浮點數(shù)操作 3個功能部件組成:個功能部件組成:FP Adder, FP Multiplier, FP Divider 在乘在乘/除操作的最后一步要除操作的最后一步要 使用使用FP A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新西蘭教育體系解析
- 【南京】2025年江蘇南京雨花經(jīng)濟開發(fā)區(qū)招聘職員5人筆試歷年典型考題及考點剖析附帶答案詳解
- 【國家】中科院軟件所中文信息處理實驗室招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 廣播稿教學課件
- 廣告文案教學課件
- 幼兒書包的課件
- 散打說課課件
- 【南京】2025年江蘇南京市民政局所屬事業(yè)單位招聘衛(wèi)技人員55人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年下半年四川省疾病預防控制中心招聘工作人員擬聘人員(一)筆試歷年典型考題及考點剖析附帶答案詳解
- 【寧波】2025年浙江寧波北侖區(qū)人民醫(yī)院第二批招聘事業(yè)編制博士研究生筆試歷年典型考題及考點剖析附帶答案詳解
- 2025-2030中國功率半導體器件市場格局與投資方向報告
- 統(tǒng)編版五年級升六年級語文暑期銜接《課外閱讀》專項測試卷及答案
- 2025年 煙草陜西公司招聘考試筆試試題附答案
- 2025年老年教育課程設置:藝術修養(yǎng)與審美教學探索報告
- 2025年河北高考真題化學試題+解析(參考版)
- 護理事業(yè)十五五發(fā)展規(guī)劃(2026-2030)
- 2025至2030中國數(shù)字出版行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國中藥材種植行業(yè)運作模式與競爭格局分析報告
- 武漢大學2020年強基計劃物理試題(原卷版)
- 2025年隨州國投集團公開招聘42名工作人員筆試參考題庫附帶答案詳解
- 2025泰和安消防產(chǎn)品選型手冊
評論
0/150
提交評論