




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章第三章 流水線技術(shù)流水線技術(shù) 3.1 流水線的基本概念流水線的基本概念3.2 DLX的基本流水線的基本流水線3.3 流水線的相關(guān)流水線的相關(guān)3.4 異常處理異常處理3.5 DLX中多周期操作的處理中多周期操作的處理3.6 MIPS R4000流水線流水線2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.2Review:性能評測性能評測 平均平均CPI? 每類指令的使用頻度每類指令的使用頻度TypeCPIi for typeFrequency CPIi x freqIi Arith/Logic440%1.6Load530%1.5Store410%0.4branch320%0.6Avera
2、ge CPI:4.12022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.3是否可以使是否可以使 CPI 4.1?IdealMemoryWrAdrDinRAdr323232DoutMemWr32ALU3232ALUOpALUControl32IRWrInstruction Reg32Reg FileRaRwbusWRb5532busA32busBRegWrRsRtMux01RtRdPCWrALUSelAMux01RegDstMux0132PCMemtoRegExtendExtOpMux01320123416Imm32 2ALUSelBMux1032ZeroZeroPCWrCondPCSrc32I
3、orDMem Data RegALU OutBA 在一條指令執(zhí)行過程中下圖有許多空閑部件在一條指令執(zhí)行過程中下圖有許多空閑部件 可以讓指令重疊執(zhí)行可以讓指令重疊執(zhí)行?2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.4 洗衣為例洗衣為例 Ann, Brian, Cathy, Dave 每人進(jìn)行洗衣的動作:每人進(jìn)行洗衣的動作: wash, dry, and fold washer需要需要 30 minutes Dryer 需要需要 40 minutes “Folder” 需要需要 20 minutesABCD3.1 流水線的基本概念流水線的基本概念2022-3-20中國科學(xué)技術(shù)大學(xué)chapte
4、r3.5Sequential Laundry 順序完成這些任務(wù)需要順序完成這些任務(wù)需要 6 小時小時 如果采用流水作業(yè)如果采用流水作業(yè), 需要多長時間需要多長時間? ABCD3040 20 3040 20 3040 20 3040 206 PM7891011MidnightTaskOrderTime2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.6流水線作業(yè)流水線作業(yè): 盡可能讓任務(wù)重疊進(jìn)行盡可能讓任務(wù)重疊進(jìn)行 流水作業(yè)完成四人的洗衣任務(wù)只需要流水作業(yè)完成四人的洗衣任務(wù)只需要 3.5 hours ABCD6 PM7891011MidnightTaskOrderTime3040404040
5、202022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.7流水線技術(shù)要點流水線技術(shù)要點 流水線技術(shù)并不能提高單個任務(wù)的執(zhí)行效率,它可以流水線技術(shù)并不能提高單個任務(wù)的執(zhí)行效率,它可以提高整個系統(tǒng)的吞吐率提高整個系統(tǒng)的吞吐率 流水線中的瓶頸流水線中的瓶頸最慢的那一段最慢的那一段 多個任務(wù)同時執(zhí)行,但使用不同的資源多個任務(wù)同時執(zhí)行,但使用不同的資源 其潛在的加速比流水線的級數(shù)其潛在的加速比流水線的級數(shù) 流水段所需時間不均衡將降低加速比流水段所需時間不均衡將降低加速比 流水線存在裝入時間和排空時間,使得加速比降低流水線存在裝入時間和排空時間,使得加速比降低 由于存在相關(guān)問題,會導(dǎo)致流水線停頓由于存在相
6、關(guān)問題,會導(dǎo)致流水線停頓2022-3-20中國科學(xué)技術(shù)大學(xué)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 / Cal
7、l (J-type)JUMP endfunc(jump, jump and link, trap and return from exception)所有指令相同長度所有指令相同長度在指令格式中寄存器位于同一位置在指令格式中寄存器位于同一位置只有只有Loads和和Stores可以對存儲器操作可以對存儲器操作2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.9DLX數(shù)據(jù)通路一種簡單實現(xiàn)數(shù)據(jù)通路一種簡單實現(xiàn) MemoryAccessWriteBackInstructionFetchInstr. DecodeReg. FetchExecuteAddr. CalcLMDALUMUXMemoryReg
8、 FileMUX MUXDataMemoryMUXSignExtend4AdderZero?Next SEQ PCAddressNext PCWB DataInstRDRS1RS2Imm2022-3-20中國科學(xué)技術(shù)大學(xué)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
9、 A - RegsIR6.10 B - RegsIR11.16 可能讀取的寄存器值沒有用,但沒有關(guān)系,譯碼后如果無用,以可能讀取的寄存器值沒有用,但沒有關(guān)系,譯碼后如果無用,以后操作就不用后操作就不用 Imm (IR16)16 # IR16-312022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.11基本操作基本操作Step 3, 執(zhí)行階段執(zhí)行階段根據(jù)譯碼的結(jié)果,有四種情況 Memory Reference ALUOutput - A + (IR16)16 # IR16.31- effective address SMD - B - data to be written if it is a
10、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 As value is the condition base (= for BEQZ) 在簡
11、單的在簡單的 Load-Store機(jī)器中,不存在即需要計算存儲器地址,指令地址機(jī)器中,不存在即需要計算存儲器地址,指令地址,又要進(jìn)行,又要進(jìn)行ALU運算的指令,因此可以將計算有效地址與執(zhí)行合二為一運算的指令,因此可以將計算有效地址與執(zhí)行合二為一,在一個流水段中進(jìn)行。,在一個流水段中進(jìn)行。2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.12Step 4 & Step5Step 4 MEM - memory access/branch completion memory reference LMD - MemALUOutput - if its a load; LMD (load me
12、mory data) = 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-20中國科學(xué)技術(shù)大學(xué)chapter3.13這種結(jié)構(gòu)是否可行這種結(jié)構(gòu)是否可行 模型是正確
13、的,但沒有優(yōu)化模型是正確的,但沒有優(yōu)化 還有其他選擇還有其他選擇 指令和數(shù)據(jù)存儲器是否可以分開指令和數(shù)據(jù)存儲器是否可以分開 采用一個長周期還是采用一個長周期還是5個短周期實現(xiàn)個短周期實現(xiàn)2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.14單周期和多周期控制 多周期控制可實現(xiàn)指令重疊執(zhí)行多周期控制可實現(xiàn)指令重疊執(zhí)行2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.15DLX的基本流水線的基本流水線 假設(shè)流水線周期為每步所花費的時間假設(shè)流水線周期為每步所花費的時間2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.16為什么用流水線為什么用流水線? 假設(shè)執(zhí)行假設(shè)執(zhí)行100條指令條指令 單周期
14、機(jī)器單周期機(jī)器 45 ns/cycle x 1 CPI x 100 inst = 4500 ns 多周期機(jī)器多周期機(jī)器 10 ns/cycle x 4.6 CPI (due to inst mix) x 100 inst = 4600 ns 理想流水線機(jī)器理想流水線機(jī)器 10 ns/cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 ns2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.17為什么用流水線為什么用流水線(cont.)?資源利用率高資源利用率高Instr.OrderTime (clock cycles)Inst 0Inst 1In
15、st 2Inst 4Inst 3ALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmRegALUImRegDmReg2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.18流水線正常工作的基本條件流水線正常工作的基本條件 各段間需要使用寄存器文件保存當(dāng)前段傳送到各段間需要使用寄存器文件保存當(dāng)前段傳送到下一段的數(shù)據(jù)和控制信息下一段的數(shù)據(jù)和控制信息 存儲器帶寬是非流水的存儲器帶寬是非流水的5倍倍2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.19新的新的DLX數(shù)據(jù)通路(圖數(shù)據(jù)通路(圖3.12 Page 88)2022-3-20中國科學(xué)技術(shù)大學(xué)cha
16、pter3.202022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.21Review lecture5 流水線技術(shù)要點流水線技術(shù)要點 流水線技術(shù)并不能提高單個任務(wù)的執(zhí)行效率,它可以提高整個流水線技術(shù)并不能提高單個任務(wù)的執(zhí)行效率,它可以提高整個系統(tǒng)的吞吐率系統(tǒng)的吞吐率 流水線中的瓶頸流水線中的瓶頸最慢的那一段最慢的那一段 多個任務(wù)同時執(zhí)行,但使用不同的資源多個任務(wù)同時執(zhí)行,但使用不同的資源 其潛在的加速比流水線的級數(shù)其潛在的加速比流水線的級數(shù) 流水段所需時間不均衡將降低加速比流水段所需時間不均衡將降低加速比 流水線存在裝入時間和排空時間,使得加速比降低流水線存在裝入時間和排空時間,使得加速比降低
17、 由于存在相關(guān)問題,會導(dǎo)致流水線停頓由于存在相關(guān)問題,會導(dǎo)致流水線停頓 流水線正常工作的基本條件流水線正常工作的基本條件 增加寄存器文件保存當(dāng)前段傳送到下一段的數(shù)據(jù)和控制信息增加寄存器文件保存當(dāng)前段傳送到下一段的數(shù)據(jù)和控制信息 存儲器帶寬是非流水的存儲器帶寬是非流水的5倍倍2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.22新的新的DLX數(shù)據(jù)通路(圖數(shù)據(jù)通路(圖3.12 Page 88)2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.23在新的在新的Datapath下各段的操作下各段的操作 IF IF/ID.IR MemPC; IF/ID.NPC,PC (if (EX/MEM.opco
18、de = branch) & EX/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
19、/EX.A op ID/EX.Imm;2022-3-20中國科學(xué)技術(shù)大學(xué)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.
20、Terminate program implications for how much state must be preserved2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.74例如例如2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.75最困難的問題最困難的問題 異常發(fā)生在指令中,并且要求恢復(fù)執(zhí)行異常發(fā)生在指令中,并且要求恢復(fù)執(zhí)行 要求要求=流水線必須安全地流水線必須安全地 shut down PC必須保存必須保存 如果重新開始的是一條分支指令,它需要重新執(zhí)行如果重新開始的是一條分支指令,它需要重新執(zhí)行 這意味著條件碼狀態(tài)必須沒有改變這意味著條件碼狀態(tài)必須沒有改變 在在DLX中
21、的處理步驟中的處理步驟 強(qiáng)制強(qiáng)制trap指令在下一個指令在下一個IF段進(jìn)入流水線段進(jìn)入流水線 封鎖引起故障的指令的所有寫操作和流水線中后繼指令的寫操作封鎖引起故障的指令的所有寫操作和流水線中后繼指令的寫操作 讓所有前序指令執(zhí)行完(如果能)讓所有前序指令執(zhí)行完(如果能) 保存重新執(zhí)行時的地址(保存重新執(zhí)行時的地址(PC) PC 或或 PC + 1 調(diào)用調(diào)用OS處理異常處理異常 2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.76 考慮延遲轉(zhuǎn)移時,假設(shè)有兩個延遲槽的分支考慮延遲轉(zhuǎn)移時,假設(shè)有兩個延遲槽的分支I Branch Instr1I+1 Delay instr1I+2Delay Inst
22、r2I+3instI+4inst 假設(shè)假設(shè)branch指令是好的指令是好的 第第1個延遲指令引起缺頁中斷個延遲指令引起缺頁中斷 第第2條指令封鎖條指令封鎖 異常處理后,缺省的恢復(fù)點是第一條延遲指令異常處理后,缺省的恢復(fù)點是第一條延遲指令 不會有不會有Branch指令 因此需要保存的PC值不止一個,根據(jù)具體情況進(jìn)行恢復(fù)2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.77精確中斷與非精確中斷精確中斷與非精確中斷 引起異常的指令前面的指令都已執(zhí)行完,故障后的指令可以重新從故引起異常的指令前面的指令都已執(zhí)行完,故障后的指令可以重新從故障點后執(zhí)行障點后執(zhí)行 理想情況,引起故障的指令沒有改變機(jī)器的狀態(tài)
23、理想情況,引起故障的指令沒有改變機(jī)器的狀態(tài) 要正確的處理這類異常請求,必須保證故障指令不產(chǎn)生副作用要正確的處理這類異常請求,必須保證故障指令不產(chǎn)生副作用 在有些機(jī)器上,浮點數(shù)異常在有些機(jī)器上,浮點數(shù)異常 流水線段數(shù)多,在發(fā)現(xiàn)故障前,故障點后的指令就已經(jīng)寫了結(jié)果,在這種情況下流水線段數(shù)多,在發(fā)現(xiàn)故障前,故障點后的指令就已經(jīng)寫了結(jié)果,在這種情況下,必須有辦法處理。,必須有辦法處理。 當(dāng)今很多高性能計算機(jī),當(dāng)今很多高性能計算機(jī),Alpha 21164,MIPSR10000等支持精確中等支持精確中斷,但精確模式要慢斷,但精確模式要慢10倍,一般用在代碼調(diào)試時,很多系統(tǒng)要求精確倍,一般用在代碼調(diào)試時,很
24、多系統(tǒng)要求精確中斷模式,如中斷模式,如IEEE FP標(biāo)準(zhǔn)處理程序,虛擬存儲器等。標(biāo)準(zhǔn)處理程序,虛擬存儲器等。 精確中斷對整數(shù)流水線而言,不是太難實現(xiàn)精確中斷對整數(shù)流水線而言,不是太難實現(xiàn)2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.78DLX中的異常中的異常 IF page fault, misaligned address, memory protection violation ID undefined or illegal opcode EX arithmetic exception MEM page fault, misaligned address, memory protec
25、tion violation WB none2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.79Review 控制相關(guān)控制相關(guān) 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法 凍結(jié)或排空流水線凍結(jié)或排空流水線 預(yù)測分支成功預(yù)測分支成功 預(yù)測分支失敗預(yù)測分支失敗 延遲轉(zhuǎn)移延遲轉(zhuǎn)移 異常異常 異常的分類異常的分類 精確中斷和非精確中斷精確中斷和非精確中斷2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.80Review- 相關(guān)的處理相關(guān)的處理 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān) 概念:由于爭用資源而引起的概念:由于爭用資源而引起的 解決辦法解決辦法 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) 概念:由于存在實際的通信,而引
26、起的概念:由于存在實際的通信,而引起的 解決辦法:解決辦法: 硬件:定向技術(shù)(硬件:定向技術(shù)(forwarding) 軟件軟件: 指令級調(diào)度指令級調(diào)度 控制相關(guān)控制相關(guān) 概念:由于控制類指令引起的概念:由于控制類指令引起的 解決辦法解決辦法 ?2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.81Review (續(xù))(續(xù)) 控制相關(guān)控制相關(guān) 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法-轉(zhuǎn)移地址,條件碼轉(zhuǎn)移地址,條件碼靜態(tài)處理:靜態(tài)處理: 凍結(jié)或排空流水線凍結(jié)或排空流水線 預(yù)測分支成功預(yù)測分支成功 預(yù)測分支失敗預(yù)測分支失敗 延遲轉(zhuǎn)移延遲轉(zhuǎn)移 異常異常 異常的分類異常的分類 精確
27、中斷和非精確中斷精確中斷和非精確中斷2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.823.5 DLX中多周期操作的處理中多周期操作的處理 問題問題 浮點操作在浮點操作在12個個cycles完成是不現(xiàn)實的,一般要花費較長時間完成是不現(xiàn)實的,一般要花費較長時間 在在DLX中如何處理中如何處理 在在1到到2個個cycles時間內(nèi)完成的處理方法時間內(nèi)完成的處理方法 采用較慢的時鐘源,或采用較慢的時鐘源,或 在在FP部件中延遲其部件中延遲其EX段段 現(xiàn)假設(shè)現(xiàn)假設(shè)FP指令與整數(shù)指令采用相同的流水線,那么指令與整數(shù)指令采用相同的流水線,那么 EX 段需要循環(huán)多次來完成段需要循環(huán)多次來完成FP操作,循環(huán)
28、次數(shù)取決于操作類型操作,循環(huán)次數(shù)取決于操作類型 有多個有多個FP功能部件,如果發(fā)射出的指令導(dǎo)致結(jié)構(gòu)或數(shù)據(jù)相關(guān),需功能部件,如果發(fā)射出的指令導(dǎo)致結(jié)構(gòu)或數(shù)據(jù)相關(guān),需暫停暫停2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.83對對DLX的擴(kuò)充的擴(kuò)充四個功能部件四個功能部件 Integer 部件處理:部件處理:Loads, Store, Integer ALU操作和操作和Branch FP/Integer 乘法部件:處理浮點數(shù)和整數(shù)乘法乘法部件:處理浮點數(shù)和整數(shù)乘法 FP加法器:處理加法器:處理FP加,減和類型轉(zhuǎn)換加,減和類型轉(zhuǎn)換 FP/Integer除法部件:處理浮點數(shù)和整數(shù)除法除法部件:處理浮
29、點數(shù)和整數(shù)除法 這些功能部件未流水化這些功能部件未流水化2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.84擴(kuò)展的擴(kuò)展的DLX流水線流水線2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.85Latency & Repeat Interval 延時(Latency) 定義為完成某一操作所需的cycle數(shù) 定義為使用當(dāng)前指令所產(chǎn)生結(jié)果的指令與當(dāng)前指令間的最小間隔周期數(shù) 循環(huán)間隔(Repeat/Initiation interval) 發(fā)射相同類型的操作所需的間隔周期數(shù) 對于對于EX部件流水化的新的部件流水化的新的DLXFunction UnitLatencyRepeat Inter
30、valInteger ALU01Data Memory (Integer and FP loads(1 less for store latency)11FP Add31FP multiply61FP Divide (also integer divide and FP sqrt)24252022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.86將部分執(zhí)行部件流水化后的將部分執(zhí)行部件流水化后的DLX流水線流水線2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.87新的相關(guān)和定向問題新的相關(guān)和定向問題 結(jié)構(gòu)沖突增多非流水的Divide部件,使得EX段增長24個cycles在一個周期內(nèi)可能有多個寄
31、存器寫操作 可能指令亂序完成(亂序到達(dá)WB段)有可能存在WAW 由于在ID段讀,還不會有 WAR 相關(guān) 亂序完成導(dǎo)致異常處理復(fù)雜 由于指令的延遲加大導(dǎo)致RAW 相關(guān)的stall數(shù)增多 需要付出更多的代價來增加定向路徑2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.88新的結(jié)構(gòu)相關(guān)新的結(jié)構(gòu)相關(guān) 縱向檢查指令所使用的資源縱向檢查指令所使用的資源 第第10個個cycle,三條指令同時進(jìn)入三條指令同時進(jìn)入MEM,但由于但由于MULTD和和ADDD在在MEM段沒有實際動作,這種情況沒有關(guān)系段沒有實際動作,這種情況沒有關(guān)系 第第11個個cycle,三條指令同時進(jìn)入三條指令同時進(jìn)入WB段,存在結(jié)構(gòu)相關(guān)段
32、,存在結(jié)構(gòu)相關(guān)2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.89解決方法解決方法 Option 1 在ID段跟蹤寫端口的使用情況,以便能暫停該指令的發(fā)射 一旦發(fā)現(xiàn)沖突,暫停當(dāng)前指令的發(fā)射 Option 2 在進(jìn)入MEM或WB段時,暫停沖突的指令,讓有較長延時的指令先做,因為較長延時的指令,會更容易引起其他RAW相關(guān),從而導(dǎo)致更多的stalls2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.90關(guān)于數(shù)據(jù)相關(guān)關(guān)于數(shù)據(jù)相關(guān) 較長延時的流水線,導(dǎo)致數(shù)據(jù)相關(guān)比例增多,較長延時的流水線,導(dǎo)致數(shù)據(jù)相關(guān)比例增多,stalls數(shù)增多數(shù)增多2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.91新的沖突
33、源新的沖突源 GPR與與FPR間的數(shù)據(jù)傳送造成的數(shù)據(jù)相關(guān)間的數(shù)據(jù)傳送造成的數(shù)據(jù)相關(guān) MOVI2FP and MOVFP2I instructions 如果在如果在ID段進(jìn)行相關(guān)檢測,指令發(fā)射前須做如下檢測:段進(jìn)行相關(guān)檢測,指令發(fā)射前須做如下檢測: 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān) 循環(huán)間隔檢測循環(huán)間隔檢測 確定寄存器寫端口是否可用確定寄存器寫端口是否可用 RAW相關(guān)相關(guān) 列表所有待寫的目的寄存器列表所有待寫的目的寄存器 不發(fā)射以待寫寄存器做為源寄存器的指令,直到該寄存器值可用不發(fā)射以待寫寄存器做為源寄存器的指令,直到該寄存器值可用 WAW相關(guān)相關(guān) 仍然使用上述待寫寄存器列表仍然使用上述待寫寄存器列表 不發(fā)射那
34、些目的寄存器在待寫寄存器列表中的指令,直到對應(yīng)的待不發(fā)射那些目的寄存器在待寫寄存器列表中的指令,直到對應(yīng)的待寫寄存器值可用寫寄存器值可用(完成完成WB)。2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.92精確中斷與長流水線精確中斷與長流水線 例如DIVF F0,F2,F4ADDF F10,F10,F8SUBF F12,F12,F14 ADDF 和SUBF都在DIVF前完成 如果DIVF導(dǎo)致異常,會如何?非精確中斷 Ideas?2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.93處理中斷4種可能的辦法 方法方法1:忽略這種問題,當(dāng)非精確處理:忽略這種問題,當(dāng)非精確處理 原來的原來的su
35、percomputer的方法的方法 但現(xiàn)代計算機(jī)對但現(xiàn)代計算機(jī)對IEEE 浮點標(biāo)準(zhǔn)的異常處理,虛擬存儲的異常處理要求必浮點標(biāo)準(zhǔn)的異常處理,虛擬存儲的異常處理要求必須是精確中斷。須是精確中斷。 方法方法2:緩存操作結(jié)果,直到早期發(fā)射的指令執(zhí)行完。:緩存操作結(jié)果,直到早期發(fā)射的指令執(zhí)行完。 當(dāng)指令運行時間較長時,當(dāng)指令運行時間較長時,Buffer區(qū)較大區(qū)較大 Future file (Power PC620 MIPS R10000) 緩存執(zhí)行結(jié)果,按指令序確認(rèn)緩存執(zhí)行結(jié)果,按指令序確認(rèn) history file (CYBER 180/990) 盡快確認(rèn)盡快確認(rèn) 緩存區(qū)存放原來的操作數(shù),如果異常發(fā)生
36、,回卷到合適的狀態(tài)緩存區(qū)存放原來的操作數(shù),如果異常發(fā)生,回卷到合適的狀態(tài)2022-3-20中國科學(xué)技術(shù)大學(xué)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í)行
37、完的指令已執(zhí)行完的指令 由于第由于第n條指令已執(zhí)行完,中斷返回地址為第條指令已執(zhí)行完,中斷返回地址為第n+1條指令,如果我們條指令,如果我們保存所有的流水線的保存所有的流水線的PC值,那么軟件可以仿真值,那么軟件可以仿真Instruction1 到到Instruction n-1 的執(zhí)行的執(zhí)行 暫停發(fā)射,直到確定先前的指令都可無異常的完成,再發(fā)暫停發(fā)射,直到確定先前的指令都可無異常的完成,再發(fā)射下面的指令。射下面的指令。 在在EX段的前期確認(rèn)(段的前期確認(rèn)(MIPS流水線在前三個周期中)流水線在前三個周期中) MIPS R2K to R4K 以及以及Pentium使用這種方法使用這種方法202
38、2-3-20中國科學(xué)技術(shù)大學(xué)chapter3.95Review lecture7 控制相關(guān)控制相關(guān) 概念:概念: 減少性能損失的基本方法減少性能損失的基本方法-轉(zhuǎn)移地址,條件碼轉(zhuǎn)移地址,條件碼靜態(tài)處理:靜態(tài)處理: 凍結(jié)或排空流水線凍結(jié)或排空流水線 預(yù)測分支成功預(yù)測分支成功 預(yù)測分支失敗預(yù)測分支失敗 延遲轉(zhuǎn)移延遲轉(zhuǎn)移 異常異常 異常的分類異常的分類 精確中斷和非精確中斷精確中斷和非精確中斷 DLX中多周期操作的處理中多周期操作的處理 對對DLX的擴(kuò)充的擴(kuò)充擴(kuò)展的擴(kuò)展的DLX流水線流水線 新的問題:沖突源增加,異常處理,新的問題:沖突源增加,異常處理,2022-3-20中國科學(xué)技術(shù)大學(xué)chapte
39、r3.96DLX流水線的性能流水線的性能Stalls per FP operation for each major type of FP operation for the SPEC89 FP benchmarks2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.97平均每條指令的平均每條指令的stall數(shù)數(shù)The stalls occurring for the MIPS FP pipeline for five for the SPEC89 FP benchmarks.2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.98MIPS R4000實際的實際的 64-bit 機(jī)器機(jī)器主頻主
40、頻100MHz 200MHz較深的流水線(級數(shù)較多)較深的流水線(級數(shù)較多)(有時也稱為有時也稱為 superpipelining)指令集與指令集與DLX非常類似非常類似2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.99MIPS R4000的的8 級整數(shù)流水線級整數(shù)流水線 IF取指階段的前半部分;選擇取指階段的前半部分;選擇PC值,初始化指令值,初始化指令cache的訪問的訪問 IS取指階段的后半部分,主要完成訪問指令取指階段的后半部分,主要完成訪問指令cache的操的操作作 RF指令譯碼,寄存器讀取,相關(guān)檢測以及指令指令譯碼,寄存器讀取,相關(guān)檢測以及指令cache命命中檢測中檢測 EX
41、執(zhí)行,包括:計算有效地址,進(jìn)行執(zhí)行,包括:計算有效地址,進(jìn)行ALU操作,計算分操作,計算分支目標(biāo)地址和檢測分支條件支目標(biāo)地址和檢測分支條件 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操作的結(jié)果寫回操作的結(jié)果寫回2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.100需注意的問題需注意的問題 在使用定向技術(shù)的情況下,在使用定向技術(shù)的情況下,Load 延遲為延遲為2個個cycles Load和與其相關(guān)的指令間必須有和與其相
42、關(guān)的指令間必須有2條指令或兩個條指令或兩個bubbles 原因:原因:load的結(jié)果在的結(jié)果在DS結(jié)束時可用結(jié)束時可用 分支延遲分支延遲3個個cycles 分支與目標(biāo)指令間需要分支與目標(biāo)指令間需要3條指令或條指令或3個個bubbles 原因:目標(biāo)地址在原因:目標(biāo)地址在EX段后才能知道段后才能知道 R4000的流水線中,到的流水線中,到ALU輸入端有四個定向源輸入端有四個定向源 EX/DF, DF/DS, DS/ TC, TC/WB2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.101圖示圖示IFISIFRFISIFEXRFISIFDFEXRFISIFDSDFEXRFISIFTCDSDFEX
43、RFISIFWBTCDSDFEXRFISIFTWO CycleLoad LatencyIFISIFRFISIFEXRFISIFDFEXRFISIFDSDFEXRFISIFTCDSDFEXRFISIFWBTCDSDFEXRFISIFTHREE CycleBranch Latency(conditions evaluated during EX phase)Delay slot plus two stallsBranch likely cancels delay slot if not taken2022-3-20中國科學(xué)技術(shù)大學(xué)chapter3.102MIPS R4000 浮點數(shù)操作浮點數(shù)操作 3個功能部件組成:個功能部件組成:FP Adder, FP Multiplier, FP Divider 在乘在乘/除操作的最后一步要除操作的最后一步要 使用使用FP Add
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 度森林資源使用權(quán)轉(zhuǎn)讓合同
- 裝修工程勞動合同合同樣本
- 區(qū)域合作分銷合同協(xié)議
- 合同履行完畢確認(rèn)聲明書
- 黃山風(fēng)景區(qū)國內(nèi)旅游合同
- 私人借款合同樣本及還款細(xì)則
- 境外就業(yè)派遣合同
- 商業(yè)綜合體停車位租賃合同范本
- 商標(biāo)糾紛和解合同細(xì)則
- 木材加工企業(yè)的品牌形象宣傳與公關(guān)活動考核試卷
- 2024 年袋鼠數(shù)學(xué)競賽 等級E(中國區(qū))
- 【《海信電器企業(yè)作業(yè)成本法下的物流成本核算分析》8500字】
- 2024年南京旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫匯編
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及一套參考答案
- 2022年袋鼠數(shù)學(xué)競賽真題一二年級組含答案
- JJF 2104-2024 海水溶解氧測量儀校準(zhǔn)規(guī)范
- 情緒管理團(tuán)體輔導(dǎo)專項方案
- 一年級美術(shù)課后輔導(dǎo)方案-1
- 《鍛造安全生產(chǎn)》課件
- 小學(xué)數(shù)學(xué)1-6年級(含奧數(shù))找規(guī)律專項及練習(xí)題附詳細(xì)答案
- 《同濟(jì)大學(xué)簡介》課件
評論
0/150
提交評論