計(jì)算機(jī)組成與實(shí)現(xiàn) 課件 第5章 多周期CPU_第1頁(yè)
計(jì)算機(jī)組成與實(shí)現(xiàn) 課件 第5章 多周期CPU_第2頁(yè)
計(jì)算機(jī)組成與實(shí)現(xiàn) 課件 第5章 多周期CPU_第3頁(yè)
計(jì)算機(jī)組成與實(shí)現(xiàn) 課件 第5章 多周期CPU_第4頁(yè)
計(jì)算機(jī)組成與實(shí)現(xiàn) 課件 第5章 多周期CPU_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

多周期CPU計(jì)算機(jī)組成與實(shí)現(xiàn)目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程建模多周期控制器多周期性能分析回顧:?jiǎn)沃芷跀?shù)據(jù)通路從邏輯上:數(shù)據(jù)通路總共為5個(gè)邏輯步驟公共步驟:取指令、譯碼/讀操作數(shù)所有指令均必須經(jīng)歷的2個(gè)步驟PC指令存儲(chǔ)器+4RegisterFilertrsrdALU數(shù)據(jù)存儲(chǔ)器immMUX取指令I(lǐng)FPC驅(qū)動(dòng)IM讀取指令譯碼/讀操作數(shù)DCD/RF譯碼屬于控制器范疇;可以與讀操作數(shù)并行執(zhí)行EXEALU完成算數(shù)/邏輯運(yùn)算訪存MEM讀DM或?qū)慏M回寫WBALU計(jì)算結(jié)果或IM讀出數(shù)據(jù)寫入寄存器堆1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WB運(yùn)算類指令

:理想執(zhí)行過(guò)程指令:ADD、SUB、OR。。。需求:R[rd]

R[rs]opR[rt]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodefunctrsrtrdshamt3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBX分支類指令:理想執(zhí)行過(guò)程指令:BEQ、。。。需求:PC

條件?PC+Ext(Imm):PC+4過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodersrtimmediate3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.計(jì)算EXE4.訪存MEM5.回寫WBXX跳轉(zhuǎn)指令:理想執(zhí)行過(guò)程指令:J需求:PC

PC[31:28]||target_address||00過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodetargetaddress3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBXX讀存儲(chǔ)指令:理想執(zhí)行過(guò)程指令:LW需求:RF[rt]←memory[RF[base]+offset]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WB寫存儲(chǔ)指令:理想執(zhí)行過(guò)程指令:SW需求:memory[RF[base]+offset]←RF[rt]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBX物理執(zhí)行路徑vs.理想執(zhí)行過(guò)程2個(gè)現(xiàn)象現(xiàn)象1:不同指令的理想執(zhí)行過(guò)程不同現(xiàn)象2:所有指令都有前3個(gè)階段前2階段完全相同;第3階段功能有差異啟示不同指令的理想執(zhí)行過(guò)程不同,即理想執(zhí)行時(shí)間不同不同指令能否具有不同物理執(zhí)行路徑,以對(duì)應(yīng)理想執(zhí)行過(guò)程?IFDCD/RFEXEMEMWB計(jì)算

分支

跳轉(zhuǎn)

?讀存儲(chǔ)

寫存儲(chǔ)

單周期數(shù)據(jù)通路的缺陷模型:PC

組合邏輯

寄存器堆單一組合邏輯實(shí)現(xiàn)了全部5個(gè)階段的邏輯功能必然存在關(guān)鍵路徑,且關(guān)鍵路徑導(dǎo)致每條指令延遲均相同結(jié)論:無(wú)法利用不同指令具有不同執(zhí)行需求的潛在特性PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXPCRF目錄單周期的不足破解關(guān)鍵路徑的一般性方法建模多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程建模多周期控制器多周期性能分析在關(guān)鍵路徑上均勻插入寄存器造成單周期頻率低的根本原因在于存在明顯的關(guān)鍵路徑破解關(guān)鍵路徑是時(shí)序電路優(yōu)化的核心內(nèi)容之一,基本思路是在關(guān)鍵路徑上插入一系列寄存器插入的寄存器將關(guān)鍵路徑分割為若干小的組合邏輯假設(shè)分割的比較均勻,則各組合邏輯延遲都比較小由此就可以大幅度提高系統(tǒng)的時(shí)鐘頻率在關(guān)鍵路徑上均勻插入寄存器改造前:Rs與Rd之間的所有組合邏輯都在關(guān)鍵路徑上改造后:插入R1和R2后,任意兩個(gè)寄存器之間的延遲都為TCL1RsCL2CL3Rd01

R1R201

CL3CL1CL2RsRd分段1分段2分段3

假設(shè):CL1、CL2、CL3延遲均為T;忽略MUX延遲分段1{Rs,R1}分段2{R1,R2}分段3{R2,Rd}{R1,Rd}f=1/3Tf=1/TT=TCL1+

TCL2+

TCL3

=3T目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程建模多周期控制器多周期性能分析多周期數(shù)據(jù)通路構(gòu)思單周期的單一路徑被物理切分為多段路徑在數(shù)據(jù)通路上插入多個(gè)寄存器單一組合邏輯被切分為多段組合邏輯單一關(guān)鍵路徑的大延遲變?yōu)槎鄠€(gè)分段路徑的小延遲PC指令存儲(chǔ)器寄存器堆rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC12345擴(kuò)展imm需要的寄存器每個(gè)功能部件后面都插入寄存器RF和DM:雖然是時(shí)序部件,但在讀出操作時(shí)表現(xiàn)為組合邏輯16組合邏輯插入的寄存器用途IMIR保存指令RF(讀)A和B保存2個(gè)寄存器值擴(kuò)展單元E保存32位擴(kuò)展值A(chǔ)LUALUOut保存計(jì)算結(jié)果DM(讀)DR保存讀出的數(shù)據(jù)基礎(chǔ)多周期數(shù)據(jù)通路NPC(PC計(jì)算):完成與PC相關(guān)的一切計(jì)算PC+4;PC+imm16;PC+imm26指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]ABALUZeroOvALU結(jié)果ALUOut16擴(kuò)展01數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC261F012M1數(shù)據(jù)寄存器012寄存器堆A1A2A3WDRD1RD2123451.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBE多周期數(shù)據(jù)通路特點(diǎn)段內(nèi)執(zhí)行:每段1個(gè)Cycle,段內(nèi)模型R

C

R寄存器輸出

組合邏輯

寄存器寫入組合邏輯:如NPC、ALU等RF/DM等:在讀操作時(shí),其行為為組合邏輯段間執(zhí)行:存在邏輯依賴關(guān)系前段沒(méi)有執(zhí)行,后段執(zhí)行無(wú)意義不是不能執(zhí)行,而是執(zhí)行結(jié)果無(wú)意義例如:指令不讀入IR,讀操作數(shù)就無(wú)意義根據(jù)指令需求組合分段,構(gòu)成相應(yīng)通路不同指令執(zhí)行,占用不同的功能單元很好的映射不同指令的理想執(zhí)行過(guò)程共有階段:階段1(讀取指令)、階段2(讀操作數(shù))18

邏輯依賴是分析數(shù)據(jù)通路構(gòu)造的關(guān)鍵。多周期數(shù)據(jù)通路特點(diǎn)在推導(dǎo)某條指令的具體執(zhí)行路徑時(shí),對(duì)于任意一級(jí)寄存器Ri,只要前面任意一級(jí)的寄存器/組合邏輯包含有需要的信息,均可以將相關(guān)信息直接輸入到19R1C1R2C2R3C3Rn寄存器功能部件寄存器功能部件寄存器功能部件寄存器一條指令的相關(guān)信息流動(dòng)PC指令存儲(chǔ)器寄存器堆(讀)rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展imm寄存器堆(寫)多周期數(shù)據(jù)通路的優(yōu)勢(shì)T單=關(guān)鍵路徑=Tlwf單

=1/T單雖然每條指令都只需1個(gè)cycle,但時(shí)鐘頻率低CPI=1PC指令存儲(chǔ)器寄存器堆(讀)rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展imm寄存器堆(寫)T單多周期數(shù)據(jù)通路的優(yōu)勢(shì)T多=MAX{T取指,T讀數(shù),T計(jì)算,T訪存,T回寫}T多≈T單/5,f多

=1/T多≈5f單;時(shí)鐘頻率高每個(gè)指令需要多個(gè)cycleCPI>1lw:最多,5個(gè)cycle,CPI=5PC指令存儲(chǔ)器寄存器堆(讀)rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展imm寄存器堆(寫)T讀數(shù)T取指T計(jì)算T訪存T回寫Cycle1:取指令PC驅(qū)動(dòng)IM,讀出lw,并寫入IRPC驅(qū)動(dòng)NPC,計(jì)算PC+4,并寫入PC指令執(zhí)行案例分析:lwR[rt]MEM[R[rs]+sign_ext(imm16)]PC指令存儲(chǔ)器rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展寄存器堆imm取指令lwPC+4

1

取指令:所有指令的公共環(huán)節(jié)時(shí)序:時(shí)鐘

后,IR裝入lw,PC指向lw下一條指令Cycle2:讀取寄存器&符號(hào)擴(kuò)展IR[25:21]驅(qū)動(dòng)寄存器堆,讀出rs并寫入AIR[15:00]驅(qū)動(dòng)擴(kuò)展單元,符號(hào)擴(kuò)展結(jié)果寫入E指令執(zhí)行案例分析:lwPC指令存儲(chǔ)器rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展寄存器堆imm譯碼/讀操作數(shù)

1)由于指令沒(méi)有執(zhí)行完,PCWr和IRWr都必須為0,以防止誤加載新指令。2)寄存器堆仍然會(huì)讀出rt寄存器的值,只是沒(méi)有意義。lwPC+4

2baseoff

對(duì)于多數(shù)指令來(lái)說(shuō),這個(gè)階段是準(zhǔn)備操作數(shù)。同時(shí)指令產(chǎn)生有效譯碼結(jié)果,因此通常把該階段稱為譯碼/讀操作數(shù)Cycle3:ALU計(jì)算地址ALU執(zhí)行加法,計(jì)算出的地址寫入ALUOut指令執(zhí)行案例分析:lwPC指令存儲(chǔ)器rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展寄存器堆imm執(zhí)行l(wèi)wPC+4baseoff

1)該階段通常被稱為執(zhí)行。2)與前階段相同,由于指令沒(méi)有執(zhí)行完,PCWr和IRWr都必須為0。

3AddrCycle4:讀存儲(chǔ)器ALUOut驅(qū)動(dòng)DM讀出數(shù)據(jù),并寫入DR指令執(zhí)行案例分析:lwPC指令存儲(chǔ)器rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展寄存器堆imm訪存lwPC+4baseoff

對(duì)于load類指令,該階段為讀存儲(chǔ)器;對(duì)于store類資料,該階段為寫存儲(chǔ)器。該階段通常被稱為訪存Addr

4DataCycle5:數(shù)據(jù)寫入寄存器堆DR和IR[21:16]驅(qū)動(dòng)RF,數(shù)據(jù)寫入rt指令執(zhí)行案例分析:lwPC指令存儲(chǔ)器rtrsrdALU數(shù)據(jù)存儲(chǔ)器NPC擴(kuò)展寄存器堆imm回寫lwPC+4baseoffAddrData

5Data寫入rt功能部件及其控制信號(hào)使用約束PC、IR、RF、DM:需要寫使能PCWr/IRWr/RFWr/DMWr:只能在特定時(shí)間有效!其他時(shí)間必須無(wú)效!A/B/E、ALUOut、DR:不需要寫使能隨時(shí)可寫多周期分段抽象模型任何一個(gè)分段都可以抽象為:Rn-CL-Rn+1Rn:前級(jí)寄存器,為組合邏輯提供輸入Rn+1:后級(jí)寄存器,保存組合邏輯的計(jì)算結(jié)果CL:組合邏輯,完成計(jì)算每個(gè)寄存器都扮演讀出/寫入的雙重身份RnRn+1CL寄存器左側(cè)代表寫入寄存器右側(cè)代表讀出多周期分段時(shí)序模型前一個(gè)時(shí)鐘上升沿前級(jí)寄存器開始輸出有效值經(jīng)過(guò)組合邏輯的計(jì)算延遲后,組合邏輯輸出正確的計(jì)算結(jié)果下一個(gè)時(shí)鐘上升沿后級(jí)寄存器更新時(shí)鐘周期前級(jí)寄存器組合邏輯后級(jí)寄存器

理解時(shí)鐘周期與時(shí)鐘上升沿的關(guān)系周期是時(shí)間,上升沿是時(shí)刻組合邏輯在周期內(nèi)完成計(jì)算;計(jì)算結(jié)果在上升沿時(shí)寫入寄存器目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程概述建模多周期控制器多周期性能分析多周期建模的基本思路多周期建模方法包含三大環(huán)節(jié)根據(jù)指令的RTL,逐條指令地建模指令的數(shù)據(jù)通路及控制信號(hào)取值將所有指令的指令級(jí)別數(shù)據(jù)通路綜合成完整數(shù)據(jù)通路將所有控制信號(hào)取值綜合成控制器里的表達(dá)式由于多周期執(zhí)行指令需要多個(gè)周期,因此單周期建模時(shí)采用的多個(gè)邏輯“環(huán)節(jié)”就被替換為物理的“時(shí)鐘周期”為便于推理,采用R-C-R的基本分段模型表示多周期數(shù)據(jù)通路周期步驟語(yǔ)義RTL功能部件控制信號(hào)RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)多周期建模的基本思路1、每條指令映射到3~5個(gè)cycle2、通過(guò)寄存器實(shí)現(xiàn)信息傳遞的相關(guān)operation必須部署在不同的cycle這是由分段數(shù)據(jù)通路的依賴性決定的3、可以提早執(zhí)行的operation就“盡早執(zhí)行”對(duì)于任一電路來(lái)說(shuō),無(wú)論其輸出是否被其他電路使用,它都始終在工作與該電路連接的其他電路只是根據(jù)條件決定是否采用其輸出值而已因此即使其他電路不需要該電路“盡早執(zhí)行”所產(chǎn)生的結(jié)果,也無(wú)所謂多周期建模的基本思路4、Cycle1:該周期只能是取指令PC驅(qū)動(dòng)IM讀出指令,并將指令寫入IR根據(jù)“盡早執(zhí)行”原則,應(yīng)同時(shí)執(zhí)行PC

PC+45、Cycle2:譯碼信號(hào)有效,并同時(shí)產(chǎn)生操作數(shù)1)IR存入指令后,控制器就可以產(chǎn)生有效譯碼結(jié)果2)IR有效,意味著RF必然輸出rs值和rt值并寫入A/B當(dāng)然,A/B存入的可能不是有意義的值(例如對(duì)于jal)3)IR同時(shí)也驅(qū)動(dòng)擴(kuò)展單元,并將擴(kuò)展立即數(shù)寫入E同理,E存入的可能不是有意義的值(例如對(duì)于add)目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Addu建模多周期控制器多周期性能分析ADDU:RTL建模(倒推1)RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)35最后cycle必是ALUOut回寫寄存器Cycle-1:回寫Op1:ALUOut寫入rd寄存器周期步驟語(yǔ)義RTL功能部件控制信號(hào)-1回寫計(jì)算結(jié)果回寫至rd寄存器RF[rd]ALUOutRFRFWr:1R[rd]

R[rs]+R[rt]讀出邏輯寫入ADDU:RTL建模(倒推2)RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)36計(jì)算結(jié)果來(lái)自ALU,計(jì)算的數(shù)據(jù)來(lái)自A/BCycle-2:計(jì)算Op1:A/B驅(qū)動(dòng)ALU計(jì)算,結(jié)果存入ALUOut周期步驟語(yǔ)義RTL功能部件控制信號(hào)-2計(jì)算執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,B)ALUALUOp:ADDR[rd]

R[rs]+R[rt]讀出邏輯寫入ADDU:RTL建模(倒推3)RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)37A/B保存的是RF讀出的rs和rtCycle-3:讀操作數(shù)Op1:IR[25:21]驅(qū)動(dòng)RF輸出rs,存入AOp2:IR[20:16]驅(qū)動(dòng)RF輸出rt,存入B周期步驟語(yǔ)義RTL功能部件控制信號(hào)-3讀操作數(shù)2個(gè)操作數(shù)存入A/BARF[rs];

BRF[rt]RF無(wú)需控制R[rd]

R[rs]+R[rt]讀出邏輯寫入ADDU:RTL建模(倒推4)RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)38寫入IR的一定是指令Cycle-4:取指令Op1:讀IM,指令寫入IROp2:NPC計(jì)算PC+4,并更新PC周期步驟語(yǔ)義RTL功能部件控制信號(hào)-4取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:1R[rd]

R[rs]+R[rt]讀出邏輯寫入目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Ori建模多周期控制器多周期性能分析ORI:RTL描述表指令時(shí)間:4個(gè)周期執(zhí)行路徑:

IR

A/E

ALUOut

RFR[rt]

R[rs]+zero_ext(imm16)周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令讀取指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)NPCPCIRIRWr:1NPCOp:+4PCWr:12讀操作數(shù)操作數(shù)存入A無(wú)符號(hào)擴(kuò)展ARF[rs];EEXT(Imm16)EXTEXTOp:UE3執(zhí)行執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUALUOp:OR4回寫計(jì)算結(jié)果回寫至rt寄存器RF[rt]ALUOutRFRFWr:1Ori的執(zhí)行與addu/sub非常類似,區(qū)別主要在于第2個(gè)操作數(shù)的來(lái)源目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Lw/sw建模多周期控制器多周期性能分析LW:RTL建模(倒推)Cycle-1:DM回寫DR無(wú)功能部件

RFCycle-2:讀DMALUOutDMDRR[rt]MEM[R[rs]+sign_ext(imm16)]周期步驟語(yǔ)義RTL功能部件控制信號(hào)-1DM回寫DR寫入rt寄存器RF[rt]DRRFRFWr:1周期步驟語(yǔ)義RTL功能部件控制信號(hào)-2讀DM讀取DM,數(shù)據(jù)存儲(chǔ)DRDRDM[ALUOut]DMLW:RTL建模(倒推)Cycle-3:計(jì)算地址A/EALUALUOutCycle-4:讀操作數(shù)IM[25:21]RFA;IM[15:0]RFER[rt]MEM[R[rs]+sign_ext(imm16)]周期步驟語(yǔ)義RTL功能部件控制信號(hào)-3計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,E)ALUALUOp:ADD周期步驟語(yǔ)義RTL功能部件控制信號(hào)-4DCD/RF讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EEXT(Imm16)EXTEXTOp:SELW:RTL建模(倒推)Cycle-5:取指令PCIMIR;PCNPCPCR[rt]MEM[R[rs]+sign_ext(imm16)]周期步驟語(yǔ)義RTL功能部件控制信號(hào)-5取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:1LW:RTL描述表指令時(shí)間:5個(gè)周期執(zhí)行路徑:

IR

A/E

ALUOut

DR

RFR[rt]MEM[R[rs]+sign_ext(imm16)]周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令讀取指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1;NPCOp:+4;PCWr:12讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EEXT(Imm16)EXTEXTOp:SE3計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUALUOp:ADD4讀存儲(chǔ)器讀取DM,數(shù)據(jù)存儲(chǔ)DRDRDM[ALUOut]DM5回寫DR寫入rt寄存器RF[rt]DRRFRFWr:1SW:RTL描述表指令時(shí)間:4個(gè)周期執(zhí)行路徑:

IR

A/E

ALUOut

DMMEM[R[rs]+sign_ext(imm16)]R[rt]周期步驟語(yǔ)義RTL功能部件控制信號(hào)1Fetch取指令讀取指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:12DCD/RF讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EEXT(Imm16)EXTEXTOp:SE3MA計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUALUOp:ADD4MW寫存儲(chǔ)器rt寄存器寫入DMDM[ALUOut]RF[rt]DMDMWr:1目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Beq建模多周期控制器多周期性能分析Cycle1:取指令Op1:讀IM,指令寫入IROp2:NPC計(jì)算PC+4,并更新PCBEQ:RTL建模(1)48PC(R[rs]==R[rt])

?

PC+4+(sign_ext(imm16)||00):PC+4RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:1讀出邏輯寫入Cycle2:讀操作數(shù)Op1:IR[25:21]驅(qū)動(dòng)RF輸出rs,存入AOp2:IR[20:16]驅(qū)動(dòng)RF輸出rt,存入BBEQ:RTL建模(2)49PC(R[rs]==R[rt])

?

PC+4+(sign_ext(imm16)||00):PC+4RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)周期步驟語(yǔ)義RTL功能部件控制信號(hào)2讀操作數(shù)2個(gè)操作數(shù)存入A/BARF[rs];

BRF[rt]RF無(wú)需控制讀出邏輯寫入問(wèn)題:cycle3可否條件寫PC?取決于:1)分支地址是否就緒;2)Zero是否就緒?分支地址:NPC于cycle2就完成計(jì)算cycle1:beq存入IR;PC+4存入PCcycle2:因?yàn)镹PCOp/imm已有效,所以可計(jì)算Zero:ALU于cycle3產(chǎn)生有效狀態(tài)結(jié)論:PC寫入的前提條件在cycle3均已產(chǎn)生BEQ:RTL建模(3)50PC(R[rs]==R[rt])

?

PC+4+(sign_ext(imm16)||00):PC+4RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)Cycle3:條件寫PCOp1:ALU比較A和B,根據(jù)Zero決定是否寫PCBEQ:RTL建模(3)51PC(R[rs]==R[rt])

?

PC+4+(sign_ext(imm16)||00):PC+4周期步驟語(yǔ)義RTL功能部件控制信號(hào)3條件寫分支地址執(zhí)行減法,并根據(jù)Zero寫PCZeroALU(A,B)PCZero?

NPC(PC,imm16):PCALUNPCPCALUOp:SUBNPC:BNPCPCWr:ZeroRCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)讀出邏輯寫入BEQ:RTL描述表指令時(shí)間:3個(gè)cycle執(zhí)行路徑:

IR

A/B

PC

PC+4:cycle1;

PC+4+偏移:cycle3周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令讀取指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)NPCPCIRIRWr:1NPCOp:+4PCWr:12讀操作數(shù)RS操作數(shù)存入A;32位無(wú)符號(hào)擴(kuò)展ARF[rs];

BRF[rt]RF3計(jì)算并寫分支地址執(zhí)行減法,判斷ZeroZeroALU(A,B)PCZero?

NPC(PC,imm16):PCALUNPCPCALUOp:SUBNPC:BNPCPCWr:Zero目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Jal建模多周期控制器多周期性能分析JAL:RTL建模分析54PCPC[31:28]||imm26||00R[31]PC+4更新PC的前提:PCWr:IR存入jal后就可以產(chǎn)生imm26:IR存入jal后就可以產(chǎn)生回寫寄存器的前提:RFWr:IR存入jal后就可以產(chǎn)生PC+4:第1個(gè)cycle后,PC+4就計(jì)算完畢以上分析表明:寫寄存器&更新PC,僅僅依賴于IR是否存儲(chǔ)了jalJAL:RTL描述表55指令時(shí)間:2個(gè)cycle執(zhí)行路徑:

IR

PC/RFjal存入IR后,就可以啟動(dòng)寫寄存器和更新PC周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令讀取指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)NPCPCIRIRWr:1NPCOp:+4PCWr:12跳轉(zhuǎn)計(jì)算并保存轉(zhuǎn)移PC;保存PCRF[31]PCPCNPC(PC,imm26)RFNPCPCRFWr:1NPCOp:JNPCPCWr:1PCPC[31:28]||imm26||00R[31]PC+4目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程Lui建模多周期控制器多周期性能分析Cycle-1:回寫寄存器Op1:E寫入rt寄存器LUI:RTL建模(倒推1)57RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)周期步驟語(yǔ)義RTL功能部件控制信號(hào)1回寫擴(kuò)展數(shù)據(jù)回寫至rt寄存器RF[rt]ERFRFWr:1R[rt]

imm16||016讀出邏輯寫入Cycle-2:高位擴(kuò)展Op1:IR[15:0]驅(qū)動(dòng)EXT高位擴(kuò)展,結(jié)果寫入ELUI:RTL建模(倒推2)58RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)周期步驟語(yǔ)義RTL功能部件控制信號(hào)1高位擴(kuò)展高位擴(kuò)展,結(jié)果寫EE

EXT(Imm16)EXTEXTOp:HER[rt]

imm16||016讀出邏輯寫入LUI:RTL建模(倒推3)59Cycle-3:讀取指令Op1:讀IM,指令寫入IROp2:NPC計(jì)算PC+4,并更新PC周期步驟語(yǔ)義RTL功能部件控制信號(hào)-3取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:1RCRCRCRCRCRPCIMIRRFA/BALUALUOutDMDRRF(寫)NPCPC(寫)EXTEDM(寫)R[rt]

imm16||016讀出邏輯寫入LUI:RTL描述表60指令時(shí)間:3個(gè)cycle執(zhí)行路徑:

IR

E

RFlui存入IR后,就可以啟動(dòng)寫寄存器和更新PC周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)IRNPCPCIRWr:1NPCOp:+4PCWr:12高位擴(kuò)展高位擴(kuò)展,結(jié)果寫EE

EXT(Imm16)EXTEXTOp:HE3回寫擴(kuò)展數(shù)據(jù)回寫至rt寄存器RF[rt]ERFRFWr:1R[rt]

imm16||016LUI:RTL描述表(4cycle)指令時(shí)間:4個(gè)cycle執(zhí)行路徑:

IR

A/E

ALUOut

RF借用R型計(jì)算注意$0的用途:可以體會(huì)MIPS指令格式定義的巧妙周期步驟語(yǔ)義RTL功能部件控制信號(hào)1取指令從IM讀出指令;計(jì)算下條指令地址IR

IM[PC];PC

NPC(PC)NPCPCIRIRWr:1NPCOp:+4PCWr:12讀操作數(shù)$0存入A無(wú)符號(hào)擴(kuò)展ARF[0]E

EXT(Imm16)EXTEXTOp:HE3執(zhí)行執(zhí)行OR,結(jié)果存入ALUOutALUOutALU(A,E)ALUALUOp:OR4回寫計(jì)算結(jié)果回寫至rt寄存器RF[rt]ALUOutRFRFWr:1Lui的第2種思路是借用ALU的運(yùn)算功能,于是與addu/sub/ori等類似,需要4個(gè)時(shí)鐘周期目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程多周期執(zhí)行的時(shí)序綜合多周期數(shù)據(jù)通路綜合多周期控制器多周期性能分析時(shí)序分析的目的1、時(shí)序是數(shù)字電路的理解與設(shè)計(jì)難點(diǎn)之一理解不正確,設(shè)計(jì)/調(diào)試就易于出錯(cuò)2、有利于后續(xù)狀態(tài)機(jī)的設(shè)計(jì)與理解更好的理解寄存器的數(shù)據(jù)準(zhǔn)備與數(shù)據(jù)寫入的關(guān)系3、多周期時(shí)序復(fù)雜度適中,適于講解時(shí)序變化:PC、IR、A/B、DR、RF、DM會(huì)發(fā)生變化穩(wěn)定:在1條指令內(nèi)只變化1次(PC除外)時(shí)序分析要點(diǎn):RTL制導(dǎo)RTL制導(dǎo)分析需要哪些必要環(huán)節(jié)并非所有環(huán)節(jié)都需要(多周期的基本特點(diǎn))只需關(guān)注前序寄存器與后繼寄存器間關(guān)系前序寄存器經(jīng)過(guò)組合計(jì)算后的值,在時(shí)鐘沿到來(lái)后寫入后繼寄存器

注意時(shí)鐘周期的概念2個(gè)時(shí)鐘邊沿之間的時(shí)間CLK1LW時(shí)序分析:Cycle1Cycle1:取指令(公共周期)讀取IM至IR;同時(shí)PC自增4X:代表其值無(wú)意義邊沿后的顏色:代表延遲周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPClw地址PC+4IMlw[PC+4]IR前條指令lwRF(讀出)X基地址A/BXXExtX偏移EXXALUXXALUOutXXDM(讀出)XXDRXXFetchCycle1CLK1TCycle1之后,IR存入了lw。于是在clk1上升沿之后(即cycle2),在IR驅(qū)動(dòng)控下:1)控制器開始譯碼產(chǎn)生各種控制信號(hào)2)RF讀出2個(gè)寄存器值3)EXT產(chǎn)生32位擴(kuò)展數(shù)LW時(shí)序分析:Cycle2Cycle2:讀操作數(shù)(公共周期)讀操作數(shù),同時(shí)開始譯碼擴(kuò)展單元產(chǎn)生32位擴(kuò)展數(shù)周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPClw地址PC+4PC+4IMlw[PC+4][PC+4]IR前條指令lwlwRF(讀出)X基地址基地址A/BXX基地址ExtX偏移偏移EXX偏移ALUXXDM地址ALUOutXXXDM(讀出)XXXDRXXXFetchCycle1DCD/RFCycle2CLK1CLK2LW時(shí)序分析:Cycle3Cycle3:計(jì)算地址計(jì)算地址并存入ALUOut周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPClw地址PC+4PC+4PC+4IMlw[PC+4][PC+4][PC+4]IR前條指令lwlwlwRF(讀出)X基地址基地址基地址A/BXX基地址基地址ExtX偏移偏移偏移EXX偏移偏移ALUXXDM地址DM地址ALUOutXXXDM地址DM(讀出)XXX數(shù)據(jù)DRXXXXFetchCycle1DCD/RFCycle2MACycle3CLK1CLK2CLK3LW時(shí)序分析:Cycle4Cycle4:讀存儲(chǔ)器ALUOut驅(qū)動(dòng)DM,數(shù)據(jù)寫入DR周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPClw地址PC+4PC+4PC+4PC+4IMlw[PC+4][PC+4][PC+4][PC+4]IR前條指令LwLwLwlwRF(讀出)X基地址基地址基地址基地址A/BXX基地址基地址基地址ExtX偏移偏移偏移偏移EXX偏移偏移偏移ALUXXDM地址DM地址DM地址ALUOutXXXDM地址DM地址DM(讀出)XXX數(shù)據(jù)數(shù)據(jù)DRXXXX數(shù)據(jù)FetchCycle1DCD/RFCycle2MACycle3MRCycle4CLK1CLK2CLK3CLK4PClw地址PC+4PC+4PC+4PC+4PC+4IMlw[PC+4][PC+4][PC+4][PC+4][PC+4]IR前條指令lwlwlwlwlwRF(讀出)X基地址基地址基地址基地址基地址A/BXX基地址基地址基地址基地址ExtX偏移偏移偏移偏移偏移EXX偏移偏移偏移偏移ALUXXDM地址DM地址DM地址DM地址ALUOutXXXDM地址DM地址DM地址DM(讀出)XXX數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)DRXXXX數(shù)據(jù)數(shù)據(jù)LW時(shí)序分析:Cycle5Cycle5:寫寄存器DM讀出數(shù)據(jù)寫入RFFetchCycle1DCD/RFCycle2MACycle3MRCycle4MemWBCycle5周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRCLK1CLK2CLK3CLK4CLK5LW時(shí)序分析:簡(jiǎn)明版可以不考慮延遲只關(guān)注前后依賴關(guān)系周期步驟RTLCycle1FetchIR

IM[PC];PC

NPC(PC)Cycle2DCD/RFARF[rs]E

EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPClw地址PC+4PC+4PC+4PC+4PC+4IMlw[PC+4][PC+4][PC+4][PC+4][PC+4]IR前條指令lwlwlwlwlwRF(讀出)X基地址基地址基地址基地址基地址A/BXX基地址基地址基地址基地址ExtX偏移偏移偏移偏移偏移EXX偏移偏移偏移偏移ALUXXDM地址DM地址DM地址DM地址ALUOutXXXDM地址DM地址DM地址DM(讀出)XXX數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)DRXXXX數(shù)據(jù)數(shù)據(jù)FetchCycle1DCD/RFCycle2MACycle3MRCycle4MemWBCycle5CLK1CLK2CLK3CLK4CLK5目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程綜合多周期數(shù)據(jù)通路綜合多周期控制器多周期性能分析多周期數(shù)據(jù)通路描述表多周期建模方法與單周期思路完全一致數(shù)據(jù)通路表中多了IR、A/B、E、ALUOut、DR對(duì)于所有指令,這些寄存器輸入源都是固定的IR—IMA/B—RF.RD1/RF.RD2E—EXT;ALUOut—ALUDR—DM72部件輸入任意指令NPCPCImmPCNPCIMAIRIM.DORFWDA3ARF.RD1BRF.RD2EXTImmEEXTALUABALUOutALU.CDMADIDRDM.DOlw:從RTL到數(shù)據(jù)通路部分部件的輸入源改為寄存器(注意紅色信號(hào))73部件輸入lwNPCPCPC.PCImm

PCDINPC.NPCIMAPC.DOIRIM.DORFWDDRA3IR[20:16]ARF.RD1BRF.RD2EXTImmIR[15:0]EEXTALUAABEXTALUOutALUDMAALUOutWD

DRDM.RD周期RTL控制信號(hào)1IR

IR[PC];PC

NPC(PC)IRWr:1;NPCOp:+4;PCWr:12ARF[rs]EEXT(Imm16)EXTOp:SE3ALUOutALU(A,EXT)ALUOp:ADD4DRDM[ALUOut]5RF[rt]DRRFWr:1lwDM.DOIM[20:16]IM[15:0]EXT.ExtRF.RD1EXT.ExtALU.C

單周期多周期jal:從RTL到數(shù)據(jù)通路74部件輸入jalNPCPCPC.PCImmIR[25:0]PCDINPC.NPCIMAPC.DOIRIMRFWDPC.DOA30x1FABEXTImmEALUABALUOutDMAWDDR周期RTL控制信號(hào)1IR

IM[PC];PC

NPC(PC)IRWr:1NPCOp:+4PCWr:12RF[31]PCPCNPC(PC,imm26)RFWr:1NPCOp:JNPCPCWr:1在單周期中,RF的回寫數(shù)據(jù)來(lái)源于NPC.PC4。在多周期中,由于PC已經(jīng)在cycle1完成了PC+4計(jì)算,因此我們不再需要NPC.PC4了。用同樣方法建模

其他指令的多周期數(shù)據(jù)通路75綜合形成完整的數(shù)據(jù)通路單周期數(shù)據(jù)通路表中插入寄存器76部件輸入adduoribeqlwswjal綜合NPCPCPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOImm

IR[15:0]

IR[25:0]IR[25:0]PCDINPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCIMAPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOIRIMIMIMIMIMIMIMRFWDALUOutALUOut

DR

PCALUOutDRPCA3IR[15:11]IR[20:16]

IR[20:16]

0x1FIR[15:11]IR[20:16]0x1F

ARF.RD1RF.RD1RF.RD1RF.RD1RF.RD1RF.RD1BRF.RD2RF.RD2RF.RD2EXTImm

IR[15:0]

IR[15:0]IR[15:0]

IR[15:0]EEXT.ExtEXT.ExtEXT.ExtEXT.ExtALUAAAAAA

ABBEBEE

BE

ALUOutALU.CALU.CALU.CALU.CALU.CDMA

ALUOutALUOut

ALUOutWD

B

BDRDM.RDDM.RD構(gòu)造MUX單周期數(shù)據(jù)通路表中插入寄存器77部件輸入adduoribeqlwswjal綜合NPCPCPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOImm

IR[15:0]

IR[25:0]IR[25:0]PCDINPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCIMAPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOIRIMIMIMIMIMIMIMRFWDALUOutALUOut

DR

PC0:ALUOut1:DR2:PCA3IR[15:11]IR[20:16]

IR[20:16]

0x1F0:IR[15:11]1:IR[20:16]2:0x1F

ARF.RD1RF.RD1RF.RD1RF.RD1RF.RD1RF.RD1BRF.RD2RF.RD2RF.RD2EXTImm

IR[15:0]

IR[15:0]IR[15:0]

IR[15:0]EEXT.ExtEXT.ExtEXT.ExtEXT.ExtALUAAAAAA

ABBEBEE

0:B1:E

ALUOutALU.CALU.CALU.CALU.CALU.CDMA

ALUOutALUOut

ALUOutWD

B

BDRDM.RDDM.RDMRFWDMRFA3MALUB構(gòu)造MUX單周期數(shù)據(jù)通路表中插入寄存器78部件輸入adduoribeqlwswjal綜合NPCPCPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOImm

IR[15:0]

IR[25:0]IR[25:0]PCDINPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCIMAPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOIRIMIMIMIMIMIMIMRFWDALUOutALUOut

DR

PC0:ALUOut1:DR2:PCA3IR[15:11]IR[20:16]

IR[20:16]

0x1F0:IR[15:11]1:IR[20:16]2:0x1F

ARF.RD1RF.RD1RF.RD1RF.RD1RF.RD1RF.RD1BRF.RD2RF.RD2RF.RD2EXTImm

IR[15:0]

IR[15:0]IR[15:0]

IR[15:0]EEXT.ExtEXT.ExtEXT.ExtEXT.ExtALUAAAAAA

ABBEBEE

0:B1:EALUOutALUALUALUALUALUDMAd

ALUOutALUOut

ALUOutDin

B

BDRDM.DODM.DO00000110MRFWD00010110MRFA301011MALUBMRFWDMRFA3MALUB建立指令與MUX控制信號(hào)的取值對(duì)應(yīng)關(guān)系以addu為例,回寫數(shù)據(jù)來(lái)自ALUOut,而ALUOut連接至MRFWD的0端口,所以MRFWD的控制信號(hào)取值應(yīng)為00構(gòu)造MUX單周期數(shù)據(jù)通路表中插入寄存器79部件輸入adduoribeqlwswjal綜合NPCPCPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOImm

IR[15:0]

IR[25:0]IR[25:0]PCDINPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCNPC.NPCIMAPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOPC.DOIRIMIMIMIMIMIMIMRFWDALUOutALUOut

DR

PC0:ALUOut1:DR2:PCA3IR[15:11]IR[20:16]

IR[20:16]

0x1F0:IR[15:11]1:IR[20:16]2:0x1F

ARF.RD1RF.RD1RF.RD1RF.RD1RF.RD1RF.RD1BRF.RD2RF.RD2RF.RD2EXTImm

IR[15:0]

IR[15:0]IR[15:0]

IR[15:0]EEXT.ExtEXT.ExtEXT.ExtEXT.ExtALUAAAAAA

ABBEBEE

0:B1:E

ALUOutALUALUALUALUALUDMAd

ALUOutALUOut

ALUOutDin

B

BDRDM.DODM.DO`ALU`ALU`MEM`PCMRFWD`RD`RT`RT`R31MRFA3`B`EXT`B`EXT`EXTMALUBMRFWDMRFA3MALUB建立指令與MUX控制信號(hào)的取值對(duì)應(yīng)關(guān)系建議在Verilog中使用宏,而不是直接用00,01,10例如:`ALU~2’b00,`MEM~2’b01,`PC~2’b10目錄單周期的不足破解關(guān)鍵路徑的一般性方法多周期數(shù)據(jù)通路建模多周期數(shù)據(jù)通路執(zhí)行過(guò)程綜合多周期數(shù)據(jù)通路綜合多周期控制器多周期性能分析多周期控制器概述由于多周期CPU執(zhí)行一條指令需要多個(gè)周期,因此多周期控制就必須具備如下特點(diǎn):1)需要一種能夠根據(jù)不同指令產(chǎn)生不同個(gè)時(shí)鐘周期的基礎(chǔ)性電路2)控制信號(hào)既與指令編碼(opcode/funct)有關(guān),還與時(shí)鐘周期有關(guān)例如,addu需要4個(gè)時(shí)鐘周期,但RF的寫使能只能在第4個(gè)時(shí)鐘周期有效多周期控制器概述由于多周期CPU執(zhí)行一條指令需要多個(gè)周期,因此多周期控制就必須具備如下特點(diǎn):1)需要一種能夠根據(jù)不同指令產(chǎn)生不同個(gè)時(shí)鐘周期的基礎(chǔ)性電路2)控制信號(hào)既與指令編碼(opcode/funct)有關(guān),還與時(shí)鐘周期有關(guān)例如,addu需要4個(gè)時(shí)鐘周期,但RF的寫使能只能在第4個(gè)時(shí)鐘周期有效AND陣列OR陣列指令周期發(fā)生器周期指令變量op,f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論