




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 復(fù)習(xí):MIPS的三種指令類型R-Type、I-Type、J-Type大家記得是哪三種類型?312621161160°ADD and SUBSTRACT add rd, rs, rt sub rd, rs, rt°OR Immediate: ori rt, rs, imm16°LOAD and STORE lw rt, rs, imm16 sw rt, rs, imm16°BRANCH: beq rs, rt, imm16°JUMP: j target6 bits5 bits5 bits5 bits5 bits6 bits3126211606
2、bits5 bits5 bits16 bits這些指令具有代表性!有算術(shù)運(yùn)算、邏輯運(yùn)算;有RR型、RI型;有訪存指令;有條件轉(zhuǎn)移、無條件轉(zhuǎn)移。本講目標(biāo):實(shí)現(xiàn)以上7條指令對應(yīng)的數(shù)據(jù)通路! 中實(shí)現(xiàn)了11條指令,可將7條指令和11條指令的數(shù)據(jù)通路進(jìn)行對比,以深入理解設(shè)計(jì)原理。312606 bits26 bitssinglepath.2optarget addressoprsrtimmediateoprsrtrdshamtfunc 設(shè)計(jì)處理器的步驟第一步:分析每條指令的功能,并用RTL(Register Transfer Language)來表示。第二步:根據(jù)指令的功能給出所需的元件,并考慮如何將他們
3、互連。第三步:確定每個(gè)元件所需信號的取值。第四步:匯總所有指令所涉及到的號之間關(guān)系的表。信號,生成一張反映指令與信第五步:根據(jù)表得到每個(gè)信號的邏輯表達(dá)式,據(jù)此設(shè)計(jì)器電路。u 處理器設(shè)計(jì)涉及到數(shù)據(jù)通路的設(shè)計(jì)和u 數(shù)據(jù)通路中有兩種元件 操作元件:由組合邏輯電路實(shí)現(xiàn)器的設(shè)計(jì) (狀態(tài))元件:由時(shí)序邏輯電路實(shí)現(xiàn)singlepath.3 RTL: The ADD Instruction(加法指令)3126211611606 bits5 bits5 bits5 bits5 bits6 bits°add rd, rs, rt MPC從PC所指的內(nèi)存單元中取指令 Rrd Rrs + Rrt 從rs、r
4、t 所指的寄存器中取數(shù)后相加,結(jié)果送rd 所指的寄存器中 PC PC + 4PC加4,使PC指向下一條指令singlepath.4oprsrtrdshamtfunc RTL: The Load Instruction(裝入指令)3126211606 bits5 bits5 bits16 bits°lwrt, rs, imm16 MPC(同加法指令) Addr Rrs + SignExt(imm16)計(jì)算數(shù)據(jù)地址 (立即數(shù)要進(jìn)行符號擴(kuò)展) Rrt MAddr從器中取出數(shù)據(jù),裝入到寄存器中(同加法指令) PC PC + 4與R-type加法指令相比,更復(fù)雜!singlepath.5opr
5、srtimmediate數(shù)據(jù)通路中的關(guān)鍵路徑(Load操作)Load操作:RRt MRRs+Imm16°記?。杭拇嫫鹘M和理想器的定時(shí)方式寫操作時(shí),作為時(shí)序邏輯電路。即:-時(shí)鐘到達(dá)前,輸入需setup;到達(dá)后經(jīng)“Clk to Q”,寫入數(shù)據(jù)到達(dá)輸出端讀操作時(shí),作為組合邏輯電路。即:-地址有效后經(jīng)過 “access time”,輸出開始有效Critical Path (Load Operation) = PCs prop time +Instruction Memorys Access Time + Register Files Access Time +ALU to Perform a
6、 32-bit Add + Data Memory Access Time +Setup Time for Register File Write + Clock SkewClkInstruction AddressInstruction busImm16Rd5Rs5Rt5Data Address323232DataOutsinglepath.6ALUDataInClk 32ClkIdeal Data MemoryRw Ra Rb 32 32-bit RegistersIdeal Instruction MemoryPC 取指令部件(Instruction Fetch Unit)°每
7、條指令都有的公共操作: 取指令: MPC 更新PC:PC PC + 4轉(zhuǎn)移(Branch and Jump)時(shí),PC內(nèi)容再次被更新為 “轉(zhuǎn)移目標(biāo)地址”順序:先取指令,再改PC的值(具體實(shí)現(xiàn)時(shí),可以并行)絕不能先改PC的值,再取指令下地址邏輯Clk取指后,各指令功能不同,數(shù)據(jù)通路中信息過程也不同Instruction Word 32取指令部件下面分別對每條指令進(jìn)行相應(yīng)數(shù)據(jù)通路的設(shè)計(jì)singlepath.7AddressInstruction MemoryPCNext Address Logic加法和減法指令(R-type類型)首先考慮add和sub指令(R-Type指令的代表)實(shí)現(xiàn)目標(biāo)(7條指令
8、):°ADD and subtract add rd, rs, rt sub rd, rs, rt°OR Immediate: ori rt, rs, imm16°LOAD and STORE lw rt, rs, imm16 sw rt, rs, imm16°BRANCH: beq rs, rt, imm16°JUMP: j target3126211611606 bits5 bits5 bits5 bits5 bits6 bits3126211606 bits5 bits5 bits16 bits312606 bits26 bitssing
9、lepath.8optarget addressoprsrtimmediateoprsrtrdshamtfunc RR(R-type)型指令的數(shù)據(jù)通路3126211611606 bits5 bits5 bits5 bits5 bits6 bits°功能:Rrd Rrs op RrtExample: addrd, rs, rt不考慮公共操作,僅R-Type指令執(zhí)行階段的數(shù)據(jù)通路如下:rdrsrtALUctr:add/subRegbusA32busWResult32Clk32busB32“add rd, rs, rt”信號為?Ra, Rb, Rw 分別對應(yīng)指令的rs, rt, rdALU
10、ctr,RegWr: 指令譯碼后產(chǎn)生的singlepath.9ALUctr=add,RegWr=1信號ALUWr 555RwRa Rb 32 32-bit Registersoprsrtrdshamtfunc 帶立即數(shù)的邏輯指令(ori指令)實(shí)現(xiàn)目標(biāo)(7條指令):312621161160ADD and subtract°6 bits5 bits5 bits5 bits5 bits6 bitsadd rd, rs, rtsub rd, rs, rt312621160OR Immediate:°ori rt, rs, imm166 bits5 bits5 bits16 bits
11、LOAD and STORE°lw rt, rs, imm16sw rt, rs, imm162.考慮ori 指令(I-Type指令和邏輯運(yùn)算指令的代表)BRANCH:°beq rs, rt, imm16°JUMP: j target312606 bits26 bitssinglepath.10optarget addressoprsrtimmediateoprsrtrdshamtfunc RTL: The OR Immediate Instruction3126211606 bits5 bits5 bits16 bits邏輯運(yùn)算,立即數(shù)為邏輯數(shù)°ori
12、rt, rs, imm16MPC取指令(公共操作,取指部件完成)Rrt Rrs or ZeroExt(imm16)立即數(shù)零擴(kuò)展,并與rs內(nèi)容做“或”運(yùn)算PC PC + 4計(jì)算下地址(公共操作,取指部件完成)零擴(kuò)展 ZeroExt(imm16)311615016 bits16 bits思考:應(yīng)在前面數(shù)據(jù)通路上加哪些元件和連線?用何信號?singlepath.110000 0000 0000 0000immediateoprsrtimmediate 帶立即數(shù)的邏輯指令的數(shù)據(jù)通路°Rrt Rrs op ZeroExtimm16Example: orirt, rs, imm163126211
13、606 bits5 bits5 bits16 bitsR-Type類型的結(jié)果寫入RdRegDst0Dont CareMux 1(Rt)Rs5ALUctrRegWr 55busA32Rw Ra RbbusWResult3232 32-bit Registers32ClkbusB032R-Type的操作數(shù)來自busB1imm163216ALUSrcOOrrii指令的信號:RReeggDDsstt=?1;RReeggWWrr=1?;AALULUScrctr=1?;ALAULcUtSr=rco=r?singlepath.12ALUMuxZeroExtRdRt應(yīng)加蘭色部分,為什么?oprsrtimmed
14、iate 訪存指令中的數(shù)據(jù)裝入指令 (lw)實(shí)現(xiàn)目標(biāo)(7條指令):312621161160ADD and subtract°6 bits5 bits5 bits5 bits5 bits6 bitsadd rd, rs, rtsub rd, rs, rt312621160OR Immediate:°ori rt, rs, imm166 bits5 bits5 bits16 bitsLOAD and STORE°lw rt, rs, imm16sw rt, rs, imm163.考慮lw 指令(訪存指令的代表)BRANCH:°beq rs, rt, imm1
15、6°JUMP: j target312606 bits26 bitssinglepath.13optarget addressoprsrtimmediateoprsrtrdshamtfunc RTL: The Load Instruction立即數(shù)用補(bǔ)碼表示3126211606 bits5 bits5 bits16 bits°lwrt, rs, imm16MPC取指令(公共操作,取指部件完成)Addr Rrs + SignExt(imm16)單元地址 (符號擴(kuò)展!)計(jì)算Rrt M AddrPC PC + 4裝入數(shù)據(jù)到寄存器rt中計(jì)算下地址(公共操作,取指部件完成)符號擴(kuò)展(
16、 為什么不是零擴(kuò)展? ) :3116 15016 bits16 bits3116 15016 bits思考:應(yīng)在原數(shù)據(jù)通路上加哪些元件和連線?用何singlepath.1416 bits信號?1111 1111 1111 11111immediate0000 0000 00000 00000immediateoprsrtimmediate 裝入(lw)指令的數(shù)據(jù)通路°Rrt M Rrs + SignExtimm16 Example: lw16rt, rs, imm1631262106 bits5 bits5 bits16 bitsRegDst0 Mux1Dont CareRsALUc
17、tr(Rt)busA32RegWr555MemtoRegRw Ra RbbusW32 32-bit Registers032Clk 32MemWrbusB3232011Data In32Clk32imm1616ALUSrc0:零擴(kuò)展,1:符號擴(kuò)展ExtOpD信s號t=R1,eRgDegsWt, rR=e1g, WALr,UAcLtrU=catdr,dE, ExtxOtOp,pA=1L,UASLrUc,SMrce=m1W, Mr,eMmeWmrt=o0R, eMge各mt取oR何e值g=?1singlepath.15MuxALU MuxExtWrEnAdrData MemoryRdRt加蘭色部分
18、。為什么?oprsrtimmediate 訪存指令中的存數(shù)指令 (sw)實(shí)現(xiàn)目標(biāo)(7條指令):312621161160ADD and subtract°6 bits5 bits5 bits5 bits5 bits6 bitsadd rd, rs, rtsub rd, rs, rt312621160OR Immediate:°ori rt, rs, imm166 bits5 bits5 bits16 bitsLOAD and STORE°lw rt, rs, imm16sw rt, rs, imm164.考慮sw 指令(訪存指令的代表)BRANCH:°be
19、q rs, rt, imm16°JUMP: j target312606 bits26 bitssinglepath.16optarget addressoprsrtimmediateoprsrtrdshamtfunc RTL: The Store Instruction3126211606 bits5 bits5 bits16 bits°swrt, rs, imm16MPC取指令(公共操作,取指部件完成)Addr Rrs + SignExt(imm16)計(jì)算單元地址(符號擴(kuò)展?。㎝emAddr RrtPC PC + 4寄存器rt中的內(nèi)容存到內(nèi)存單元中計(jì)算下地址(公共操作,
20、取指部件完成)思考:應(yīng)在原數(shù)據(jù)通路上加哪些元件和連線?用何信號?singlepath.17oprsrtimmediate 存數(shù)(sw)指令的數(shù)據(jù)通路°M Rrs + SignExtimm16 Rrt 21Example: sw16rt, rs, imm16312606 bits5 bits5 bits16 bitstRegDst0 Mux1Rs RtALUctrRegWr 555MemWrMemtoRegbusA32Rw Ra RbbusW32 32-bit Registers032Clk 32busB320132Data In321imm163216ClkALUSrcExtOpD信
21、s號t=Rx,eRgDegsWt, rR=e0g, WALr,UAcLtrU=catdr,dE, ExtxOtOp,pA=1L,UASLrUc,SMrce=m1W, Mr,eMmeWmrt=o1R, eMge各mt取oR何e值g=?xsinglepath.18 MuxALUMuxExtWrEnAdrData MemoryRdR加蘭色部分。為什么?oprsrtimmediate 分支(條件轉(zhuǎn)移)指令(相等轉(zhuǎn)移:beq)實(shí)現(xiàn)目標(biāo)(7條指令):312621161160ADD and subtract°6 bits5 bits5 bits5 bits5 bits6 bitsadd rd, r
22、s, rtsub rd, rs, rt312621160OR Immediate:°ori rt, rs, imm166 bits5 bits5 bits16 bitsLOAD and STORE°lw rt, rs, imm16sw rt, rs, imm165.考慮beq指令(條件轉(zhuǎn)移指令的代表)BRANCH:°beq rs, rt, imm16°JUMP:31260j target6 bits26 bitssinglepath.19optarget addressoprsrtimmediateoprsrtrdshamtfunc RTL: The B
23、ranch Instruction立即數(shù)用補(bǔ)碼表示3126211606 bits5 bits5 bits16 bits°beqrs, rt, imm16MPCCond Rrs - Rrt if (COND eq 0)取指令(公共操作,取指部件完成)做減法比較rs和rt中的內(nèi)容計(jì)算下地址(根據(jù)比較結(jié)果,修改PC)-PC PC + 4 + ( SignExt(imm16) x 4 )else-PC PC + 4思考:立即數(shù)的含義是什么?是相對指令數(shù)還是相對單元數(shù)?應(yīng)在原數(shù)據(jù)通路上加哪些元件和連線?用什么信號來?singlepath.20oprsrtimmediate 條件轉(zhuǎn)移指令的數(shù)據(jù)通
24、路°beqrs, rt, imm16We need to compare Rs and Rt !3126211606 bitst5 bits5 bits16 bitsBranchRegDst0 Mux1Rs5RtALUctrimm1616RegWr 55busA32Rw Ra RbbusW3232 32-bit RegistersZeroTo Instruction MemorybusB32Clk01imm1632思考:下址邏輯如何設(shè)計(jì)?16ALUSrcExtOpRegDstt=, xR,eRgeWgrW, Ar=L0U, cAtLr,UEcxttrO=spu, bA,LEUxStO
25、rcp, =Mxe, mALWUrS, Mrce=m0,toMReemgW, Br=ra0n, cMhem各t取oR何e值g=?x,Branch=1singlepath.21ALUMuxExtNext ALogiRdRPCClkddr coprsrtimmediate 下地址計(jì)算邏輯的設(shè)計(jì)PC是一個(gè)32位地址:順序執(zhí)行時(shí): PC<31:0> = PC<31:0> + 4轉(zhuǎn)移執(zhí)行時(shí): PC<31:0> = PC<31:0> + 4 + SignExtImm16 X 4采用32位PC時(shí),可用左移2位實(shí)現(xiàn)“X4”操作,計(jì)算轉(zhuǎn)移地址用2個(gè)加法器!用更簡便
26、的方式實(shí)現(xiàn)如下:MIPS按字節(jié)編址,每條指令為32位,占4個(gè)字節(jié),故PC的值總是4的倍數(shù),即后兩位為00,因此,PC只需要30位即可。PC采用30位后,其轉(zhuǎn)移地址計(jì)算邏輯變得更加簡單。下地址計(jì)算邏輯簡化為:順序執(zhí)行時(shí):PC<31:2> = PC<31:2> + 1轉(zhuǎn)移執(zhí)行時(shí): PC<31:2> = PC<31:2> + 1 + SignExtImm16取指令時(shí): 指令地址 = PC<31:2> 串接 “00”singlepath.22 下址邏輯設(shè)計(jì)方案1: 快速但昂貴°Using a 30-bit PC:順序執(zhí)行時(shí): PC&
27、lt;31:2> = PC<31:2> + 1轉(zhuǎn)移執(zhí)行時(shí): PC<31:2> = PC<31:2> + 1 + SignExtImm16取指令時(shí): 指令地址 = PC<31:2> concat “00”3030“00”30030“1”132Clk3030imm1616Instruction<31:0>標(biāo)志位ZF,由ALU產(chǎn)生!Instruction<15:0>ZeroBranch先根據(jù)當(dāng)前PC取指令,計(jì)算的下條指令地址在下一個(gè)時(shí)鐘到來后才能寫入PC為什么這里沒有用“ALU”而是用“Adde!r”?singlepath
28、.23“ALU”和“Adder”有什么差別?MuxAdderSignExtAdderPCAddr<31:2> Addr<1:0>Instruction Memory 下址邏輯設(shè)計(jì)方案2: : 慢但便宜°為什么慢? 只能等到“Zero”有值后才能進(jìn)行地址計(jì)算°對性能有沒有影響? 沒有,因?yàn)長oad指令更慢。°為什么便宜?如果是bgt,則如何?“+1”操作用“進(jìn)位”來實(shí)現(xiàn),節(jié)省一個(gè)“Adder”3030“1”“00”Carry In“0”030Clkimm16163213030Instruction<15:0>Instruction
29、<31:0>非Branch時(shí)也不能很快得到下條指令地址BranchZerosinglepath.24AdderMuxSignExtPCAddr<31:2> Addr<1:0>Instruction Memory 無條件轉(zhuǎn)移指令實(shí)現(xiàn)目標(biāo)(7條指令):312621161160ADD and subtract°6 bits5 bits5 bits5 bits5 bits6 bitsadd rd, rs, rtsub rd, rs, rt312621160OR Immediate:°ori rt, rs, imm166 bits5 bits5 b
30、its16 bitsLOAD and STORE°lw rt, rs, imm16sw rt, rs, imm166.考慮Jump指令(無條件轉(zhuǎn)移指令的代表)BRANCH:°beq rs, rt, imm16°JUMP:31260j target6 bits26 bitssinglepath.25optarget addressoprsrtimmediateoprsrtrdshamtfunc RTL: The Jump Instruction312606 bits26 bits°jtarget MPC取指令(公共操作,取指部件完成) PC<31:2
31、> PC<31:28> 串接target<25:0>計(jì)算目標(biāo)地址FFFF FFFFF000 0000 EFFF FFFFE000 0000想:跳轉(zhuǎn)指令的轉(zhuǎn)移范圍有多大?是當(dāng)前指令后面的0x000 00000xFFF FFFC 處?不對!它不是相對尋址,而是絕對尋址AFFF FFFFA000 0000j target思考:應(yīng)在原數(shù)據(jù)通路上加哪些元件0FFF FFFF0000 0000和連線?用什么信號來?singlepath.26optarget address Instruction Fetch Unit: 取指令部件°jtargetPC<31:2
32、> PC<31:28> concattarget<25:0>3030“00”Target 4130Instruc<25:0>26030320PC的改變在下個(gè)Clk到達(dá)后發(fā)生!30“1”JumpInstruction<31:0>130Clk這是“取指部件”的完整設(shè)計(jì)3 個(gè)輸入: jump, Branch, Zero 1個(gè)輸出: 指令字imm163016Instruction<15:0>BranchZeroRegRDesgtD, sRte=gEWxtrO, pA=LAULcUtrS, rEcx=tMOepm, AtoLRUeSgr=
33、c,AMLUemctWr=rx,MReemgWtorR=e0g, ,MBermanWcrh=,0J,ump 各取何值B?ranch=0, Jump=1singlepath.27MuxMuxAdderAdderSignExtPCAddr<31:2> Addr<1:0>Instruction MemoryThe MIPS Subset(實(shí)現(xiàn)以下指令的數(shù)據(jù)通路)312621161160°ADD and subtract add rd, rs, rt sub rd, rs, rt°OR Immediate: ori rt, rs, imm16°LO
34、AD and STORE lw rt, rs, imm16 sw rt, rs, imm16°BRANCH: beq rs, rt, imm16°JUMP: j target6 bits5 bits5 bits5 bits5 bits6 bits3126211606 bits5 bits5 bits16 bits312606 bits26 bits所有指令的數(shù)據(jù)通路都已設(shè)計(jì)好,合起來的數(shù)據(jù)通路是什么樣的?singlepath.28optarget addressoprsrtimmediateoprsrtrdshamtfunc Putting it All Together:
35、 A Single Cycle DatapathInstruction<31:0>BranchJumpClkRdRtRegDst1Mux 0RsRtRdImm16MemtoRegRs5RtRegWr 5ALUctr5busA32ZeroMemWrRw Ra RbbusW- 32 32 bit Registers032Clk busB3203232Data In 32Clk11imm163216ALUSrcExtOp器 或 PC 中!器的設(shè)計(jì)內(nèi)容)指令執(zhí)行結(jié)果總是在下個(gè)時(shí)鐘到來時(shí)開始保存在 寄存器 或下一講考慮:如何產(chǎn)生信號!(這就是singlepath.29 Mux<0:15
36、><11:15><16:20><21:25>ALUMuxExtWrEnAdrData MemoryInstruction Fetch Unit 第一講小結(jié)CPU設(shè)計(jì)直接決定了時(shí)鐘周期寬度和CPI,所以對計(jì)算機(jī)性能非常重要!°°CPU主要由數(shù)據(jù)通路和器組成數(shù)據(jù)通路:實(shí)現(xiàn)指令集中所有指令的操作功能器:數(shù)據(jù)通路中各部件進(jìn)行正確操作°數(shù)據(jù)通路中包含兩種元件操作元件(組合電路):ALU、MUX、Ext.、Adder、Reg/Mem Read等狀態(tài) /元件(時(shí)序電路):PC、Reg/Mem Write°數(shù)據(jù)通路的定時(shí)數(shù)據(jù)通路
37、中的操作元件沒有在時(shí)鐘到達(dá)后clk-to-Q時(shí)功能,其操作結(jié)果必須寫到元件開始更新狀態(tài)元件中MIPS指令集的一個(gè)子集作為CPU的實(shí)現(xiàn)目標(biāo)°singlepath.30公共操作:取指令和PC+4下址計(jì)算:30位PC,三路選擇:順序、Branch(結(jié)合標(biāo)志Zero)、JumpR型:ALU兩個(gè)操作數(shù)來自rs和rt,結(jié)果寫到rd訪存:符號擴(kuò)展,數(shù)據(jù)在rt和主存單元換立即數(shù):0擴(kuò)展后的操作數(shù)送到ALU的一個(gè)輸入端第二講 單周期器的設(shè)計(jì)主 要 內(nèi) 容每條指令在數(shù)據(jù)通路中的執(zhí)行過程和涉及到的公共操作:取指令和計(jì)算下址PCR-Type指令(add / sub) 立即數(shù)指令 (ori)訪存指令(lw /
38、 sw) 分支指令 (beq)跳轉(zhuǎn)指令 (j)°信號的取值°匯總各指令的 分兩類信號取值信號:直接送往數(shù)據(jù)通路 / 送往局部單元°分析ALU操作對應(yīng)的信號與func字段之間的關(guān)系°設(shè)計(jì)ALU局部單元°設(shè)計(jì)主單元singlepath.31 The Big Picture: Where are We Now?°The Five Classic Components of a Computer°下一個(gè)目標(biāo):設(shè)計(jì)單周期數(shù)據(jù)通路的器。設(shè)計(jì)方法:1)2)根據(jù)每條指令的功能,分析信號的取值,并在表中列出。根據(jù)列出的指令和信號的關(guān)系,寫出每
39、個(gè)信號的邏輯表達(dá)式。singlepath.32OutputInputMemoryProcessorDatapathControl Add / Sub操作開始時(shí)取指部件中的動(dòng)作新指令還沒有取出譯碼,所以值還是原來指令的舊值。信號的取指令: Instruction MPC所有指令都相同新指令還沒有執(zhí)行,所以標(biāo)志也為舊值。3030PC<31:28>Target Instr<25:0>“00”426130030“1”32Instruction<31:0>030Jump = previous1Clk取出指令的第31-26位作為操作碼首先被譯碼。op=000000, 則
40、為R-type指令30imm1630Instruction<151:60>Branch = previousZero = previous取指部件由舊信號,會有問題?因?yàn)樵谙聜€(gè)Clk到來之前PC輸入端的值 證下個(gè)Clk來之前能產(chǎn)生正確的PC即可!寫入只要保single沒path有.33問題!Why?MuxMuxAdderAdderSignExtPCAddr<31:2> Addr<1:0>Instruction Memory 指令譯碼后R型指令(Add / Sub)操作過程312621161160°Rrd Rrs+ / -RrtBranch = 0J
41、ump = 0Instruction<31:0>RdRtRegDst = 1Clk1 Mux 0ALUctr = Add or SubRsRtRdImm16RsRtRegWr = 1555MemtoReg = 0MemWr = 0busA32ZerobusW0busB32Clk 320323211Data In32Clkimm163216ALUSrc = 0ExtOp = xsinglepath.34 Mux<0:15><11:15><16:20><21:25>ALUMuxExtWrEnAdrData MemoryRw Ra Rb 3
42、2 32-bit RegistersInstruction Fetch Unitoprsrtrdshamtfunc R型指令(Add /Sub)最后階段取指部件中的動(dòng)作°PC PC + 4除 Branch and Jump以外的指令都相同3030PC<31:28>“00”4Target130Instruction<25:0> 26030“1”32030Jump = 0Instruction<31:0>1Clkimm16301630Instruction<15:0>Branch = 0Zero = x信號保證了正確的PC值的產(chǎn)生,因?yàn)樾碌?/p>
43、在足夠長的時(shí)間后,下個(gè)時(shí)鐘Clk到來!singlepath.35MuxMuxAdderAdderSignExtPCAddr<31:2> Addr<1:0>Instruction Memory Register-Register(R型指令) TimingClkPC+4PCClk-to-QPC+4Old ValueNew ValuePCInstruction Memory Access TimeRs, Rt, Rd,Old ValueNew ValueOp, FuncDelay through Control LogicALUctrOld ValueNew ValueReg
44、WrOld ValueNew ValueRegister File Access TimebusA, BNew ValueOld ValueALU DelayNew ValueOld ValuebusWRdRsRtALUctrRegister Write Occurs HereRegbusA32busWResultsinglepath.36ALU323ClkbusB232Wr 555RwRaRb32 32-bit Registers ori 指令譯碼后的執(zhí)行過程312621160°Rrt Rrsor ZeroExtImm16Branch = 0Instruction<31:0&
45、gt;Jump = 0ClkRdRtRegDst = 01Mux 0Rs5RsRtRdImm16 MemtoReg = 0RtALUctr = OrRegWr = 155busA32ZeroMemWr = 0Rw Ra RbbusW32 32-bit Registers0busB32Clk 32032321WrEnAdrData Memory1Data In32imm163216ClkALUSrc = 1ExtOp = 0singlepath.37 Mux<0:15><11:15><16:20><21:25>ALUMuxExtInstructio
46、n Fetch Unitoprsrtimmediate Load指令譯碼后的執(zhí)行過程312621160°Rrt Data Memory Rrs + SignExtimm16Instruction<31:0>Branch = 0Jump = 0ClkRdRtRegDst = 01Mux 0ALUctr = AddRsRtRdImm16 MemtoReg = 1Rs5RtRegWr = 155busA32ZeroMemWr = 0Rw Ra RbbusW32 32-bit Registers0busB3232032Clk11Data In32Clk32imm163216ALUSrc = 1ExtOp = 1singlepath.38 Mux<0:15><11:15><
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025山東濟(jì)南軌道交通酒店管理有限公司招聘13人筆試參考題庫附帶答案詳解
- 黔西南民族職業(yè)技術(shù)學(xué)院《生態(tài)規(guī)劃與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 周口理工職業(yè)學(xué)院《成衣基礎(chǔ)工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 酒泉職業(yè)技術(shù)學(xué)院《熱工基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 安康職業(yè)技術(shù)學(xué)院《服務(wù)器維護(hù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 東南大學(xué)成賢學(xué)院《風(fēng)險(xiǎn)投資理論與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 衡水健康科技職業(yè)學(xué)院《花卉學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 皖西衛(wèi)生職業(yè)學(xué)院《化學(xué)設(shè)計(jì)性實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西南財(cái)經(jīng)大學(xué)《醫(yī)藥數(shù)理統(tǒng)計(jì)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 阿克蘇職業(yè)技術(shù)學(xué)院《建筑設(shè)計(jì)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 藥物化學(xué)(廣東藥科大學(xué))智慧樹知到期末考試答案2024年
- HG-T 4823-2023 電池用硫酸錳
- 四巧板制作與拼接活動(dòng)
- 射頻人體輪廓儀行業(yè)發(fā)展現(xiàn)狀及潛力分析研究報(bào)告
- 2023-2024全國初中物理競賽試題第09講杠桿(解析版)
- 小學(xué)三年級數(shù)學(xué)數(shù)據(jù)的收集和整理
- 深圳 退休 返聘 合同
- 成立物流協(xié)會可行性方案
- 山東師范大學(xué)《文獻(xiàn)學(xué)專題》期末考試復(fù)習(xí)題及參考答案
- 苗木采購?fù)稑?biāo)方案(技術(shù)方案)(技術(shù)方案)
- 《應(yīng)用統(tǒng)計(jì)學(xué)》復(fù)習(xí)題庫(含答案)
評論
0/150
提交評論