資源描述:
《MIPS指令多周期CPU設(shè)計.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一、單周期CPU性能分析二、MIPS指令多周期CPU設(shè)計4.4MIPS指令多周期CPU設(shè)計一、單周期CPU性能分析完整的單周期CPU結(jié)構(gòu)單周期CPU特點優(yōu)點每條指令占用一個CPU周期邏輯設(shè)計簡單,時鐘設(shè)計也簡單缺點各組成部件的利用率不高各部件大部分時間在保持信號時鐘周期將滿足執(zhí)行時間最長指令的要求Load指令CPI=1假定某單周期CPU各主要部件的延遲為:存儲器(Memory):2ns運算器(ALU/Adder):2ns寄存器組(RegisterFile):1ns指令周期比較長所有指令都必須使用
2、最長的周期假設(shè)某單周期CPU,執(zhí)行100條指令:25%的Load指令10%的Store指令45%的算邏指令20%的跳轉(zhuǎn)指令單周期的執(zhí)行時間100*8=800ns可能的優(yōu)化25*8+10*7+45*6+20*5=640nsSpeedup=800/640=1.25單周期CPU其他問題事實上,指令和數(shù)據(jù)都保存在同一個存儲器中;許多部件保持?jǐn)?shù)據(jù)的時間過長,無法復(fù)用。例如,Adder是否可以利用ALU?二、MIPS指令多周期CPU設(shè)計多周期數(shù)據(jù)通路設(shè)計構(gòu)思在組合邏輯中插入寄存器,切分?jǐn)?shù)據(jù)通路大組合邏輯被切
3、分為若干小組合邏輯大延遲變?yōu)槎鄠€分段小延遲不同指令執(zhí)行占用不同的功能單元(不必5個環(huán)節(jié)都走完)PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXMIPS指令多周期CPU控制器設(shè)計思路確定數(shù)據(jù)通路劃分指令執(zhí)行步驟指令流程圖安排每條指令每個步驟的功能,并給出相應(yīng)的控制信號指令流程表為指令執(zhí)行步驟設(shè)計狀態(tài)機為每個步驟的控制信號設(shè)計控制信號生成邏輯MIPS計算機硬件系統(tǒng)組成由存儲器、寄存器堆、ALU部件、控制部件4部分組成控制部件由節(jié)拍發(fā)
4、生器和控制信號產(chǎn)生線路組成,分別完成標(biāo)明指令執(zhí)行步驟和向各個部件提供控制信號的功能。存儲器存指令和數(shù)據(jù)。讀指令時由PC提供地址,讀出的指令保存到IR;讀寫數(shù)據(jù)時由結(jié)果寄存器提供地址,讀操作的讀出數(shù)據(jù)保存到DR;寫操作的寫入數(shù)據(jù)由B寄存器給出。寄存器堆由32個寄存器組成,可以用N1(rs)、N2(rt)同時讀出兩個寄存器的內(nèi)容,分別存于A、B寄存器;可以用ND(rd或rt)把DI端的數(shù)據(jù)寫入;被寫入數(shù)據(jù)來自結(jié)果寄存器或DR。ALU完成算術(shù)和邏輯運算,兩路輸入分別為A和B,其中A路輸入可選擇A寄存器
5、或PC,B路輸入可選擇B寄存器或常數(shù)4、IR.immediate經(jīng)符號擴展或擴展后又左移兩位的值。ALU的運算數(shù)據(jù):AOPBAOP擴展的ImmePC+4PC+擴展的Imme×4MIPS的ADD指令的執(zhí)行過程譯碼周期:A←[rs]B←[rt]取指IR←MEM[PC]周期:PC←PC+4執(zhí)行C←A+B周期:寫回寄存器堆[rd]←C周期:R型指令的實現(xiàn)(ADD)取指令I(lǐng)ODR=0,ALUsrcA=0,ALUsrcB=01,ALUop=00,PCsrc=00MEMread,IRwrite,PCwrite
6、譯碼/取操作數(shù)ALUsrcA=0,ALUsrcB=11,ALUop=00執(zhí)行運算ALUsrcA=0,ALUsrcB=00,ALUop=00寫回寄存器RegDST=1RegWriteMemtoReg=0MIPS的LW指令的執(zhí)行過程譯碼周期:A←[rs]取指IR←MEM[PC]周期:PC←PC+4執(zhí)行C←A+擴展imm周期:內(nèi)存DR←MEM[C]周期:寫回寄存器堆[rt]←DR周期:MIPS的BEQ指令的執(zhí)行過程取指IR←MEM[PC]周期:PC←PC+4執(zhí)行C←A-B周期:PC←結(jié)果寄存器譯碼周期
7、:結(jié)果寄存器←PC+SignExt(imm)MIPS的J指令的執(zhí)行過程譯碼周期:PC←PC[31..28]target《2取指IR←MEM[PC]周期:PC←PC+4Branch型Lw指令Sw指令R類型J指令I(lǐng)R←MEM[PC]PC←PC+4SifSidSexeSmemSwbJ指令非J指令Branch指令SW指令LW指令SW/LW指令非Branch/SW/LW指令指令步驟讀取指令指令譯碼執(zhí)行運算內(nèi)存讀寫數(shù)據(jù)寫回C←AopBC←A+符號擴展(Imm)若條件成立則PC←R狀態(tài)轉(zhuǎn)移圖和指令各執(zhí)行步驟的
8、操作功能PC←PC[31..28]‖(target<<2)Mem[C]←BReg[rd]←CDR←Mem[C]Reg[rt]←DRC←PC+(符號擴展(imm)<<2)取指周期譯碼周期執(zhí)行周期訪存周期寫回周期A←Reg[rs]B←Reg[rt]ControlUnitMainControllerFSM:FetchMainControllerFSM:FetchMainControllerFSM:DecodeMainControllerFSM:AddressCalculationMainControl