第5章 中央處理器1_第1頁(yè)
第5章 中央處理器1_第2頁(yè)
第5章 中央處理器1_第3頁(yè)
第5章 中央處理器1_第4頁(yè)
第5章 中央處理器1_第5頁(yè)
已閱讀5頁(yè),還剩104頁(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)介

1、電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)(第(第2 2版)版)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院復(fù)習(xí):計(jì)算機(jī)復(fù)習(xí):計(jì)算機(jī)5 5大組成部件大組成部件ProcessorControlDatapathOutputInputMemory100101001011000000101001010100011111011101100110100101001011000010010100101100001001010010110000電子科技大學(xué)計(jì)算機(jī)

2、科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指令取指令分析指令分析指令執(zhí)行指令執(zhí)行指令取操作數(shù)取操作數(shù)寫(xiě)結(jié)果寫(xiě)結(jié)果PCPC下一條指令跳轉(zhuǎn)指令電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 指令執(zhí)行過(guò)程中數(shù)據(jù)所經(jīng)過(guò)的路徑。 組合邏輯部件 加法器、ALU、多路選擇器、符號(hào)擴(kuò)展器 存儲(chǔ)部件 寄存器、寄存器堆、存儲(chǔ)器電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 n 時(shí)鐘方法(Clocking Methodology) 什么時(shí)候可以從存儲(chǔ)單元中讀數(shù)據(jù) 什么時(shí)候可以將數(shù)據(jù)寫(xiě)入存儲(chǔ)單元n 典型時(shí)鐘方法 電平觸發(fā)(高電平觸發(fā)、低電平觸發(fā))高電平觸發(fā)高電平觸發(fā)低電平觸

3、發(fā)低電平觸發(fā)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 邊沿觸發(fā)(上升沿、下降沿) 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 n 操作時(shí)序 組合控制Clock(寄存器)輸出MUX(寄存器)輸入第1個(gè)時(shí)鐘上升沿輸出變化 組合邏輯處理第2個(gè)時(shí)鐘上升沿存儲(chǔ) 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 邏輯設(shè)計(jì)慣例ClockMUXn 時(shí)序的安排對(duì)硬件邏輯設(shè)計(jì)非常重要 傳播延時(shí) 建立延時(shí)ADD電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 組合邏輯單元組合邏輯單元組合邏輯(電路)元件,不受時(shí)鐘信號(hào)的控制,組合邏輯的輸出

4、只取決于當(dāng)前輸入。電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 狀態(tài)元件狀態(tài)元件狀態(tài)元件具有存儲(chǔ)功能,其狀態(tài)可以被改變和讀出。D QClkClkDQSetupHold電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 時(shí)序控制時(shí)序控制 同步系統(tǒng)同步系統(tǒng)(Synchronous system)(Synchronous system) 所有動(dòng)作有專(zhuān)門(mén)時(shí)序信號(hào)來(lái)定時(shí) 由時(shí)序信號(hào)規(guī)定何時(shí)發(fā)出什么動(dòng)作 例如,指令執(zhí)行過(guò)程每一步都有控制信號(hào)控制,由定時(shí)信號(hào)確定控制信號(hào)何時(shí)發(fā)出、作用時(shí)間多長(zhǎng) 什么是時(shí)序信號(hào)?什么是時(shí)序信號(hào)? 同步系統(tǒng)中用于進(jìn)行同步控制的定時(shí)信號(hào),如時(shí)鐘信號(hào)

5、電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 時(shí)序控制時(shí)序控制 指令周期指令周期 取并執(zhí)行一條指令的時(shí)間 每條指令的指令周期肯定一樣嗎?電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 時(shí)序控制(早期計(jì)算機(jī)的三級(jí)時(shí)序控制)時(shí)序控制(早期計(jì)算機(jī)的三級(jí)時(shí)序控制)機(jī)器周期節(jié)拍脈沖取指取指計(jì)算計(jì)算存結(jié)果存結(jié)果電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 現(xiàn)代計(jì)算機(jī)的時(shí)鐘周期現(xiàn)代計(jì)算機(jī)的時(shí)鐘周期Clk寄存器的輸入可變化SetupHold.Setup HoldClkClk電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 早期累加器型指

6、令系統(tǒng)數(shù)據(jù)通路早期累加器型指令系統(tǒng)數(shù)據(jù)通路最簡(jiǎn)單的數(shù)據(jù)通路結(jié)構(gòu) 取指令數(shù)據(jù)路徑為: PCMAR, Read M, MMBRIBRIR取操作數(shù)、運(yùn)算、送結(jié)果的數(shù)據(jù)路徑為: 操作數(shù)地址MAR, Read M, MMBRALU輸入端, ACALU輸入端, ALU操作, ALU結(jié)果AC, AC MBR, Write M電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 單總線數(shù)據(jù)通路單總線數(shù)據(jù)通路電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 實(shí)現(xiàn)方式概述實(shí)現(xiàn)方式概述n 一條指令的執(zhí)行步驟:一條指令的執(zhí)行步驟: 取指令取指令根據(jù)PC寄存器的值取出要執(zhí)行的指令,然后PC

7、內(nèi)容加4。 取操作數(shù)取操作數(shù)根據(jù)指令中操作數(shù)字段,選擇讀取1或2寄存器、或立即數(shù)送ALU(運(yùn)算器)。電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 實(shí)現(xiàn)方式概述實(shí)現(xiàn)方式概述 分析指令分析指令將指令中的操作碼送控制器,分析指令的功能,產(chǎn)生相應(yīng)的控制信號(hào)。 執(zhí)行指令執(zhí)行指令A(yù)LU根據(jù)控制器產(chǎn)生的控制信號(hào)完成指令規(guī)定的操作。電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 實(shí)現(xiàn)方式概述實(shí)現(xiàn)方式概述n 分析分析MIPS指令非常規(guī)整,分指令非常規(guī)整,分3類(lèi):類(lèi):1. 存儲(chǔ)訪問(wèn)存儲(chǔ)訪問(wèn)sw、lw2. 算術(shù)邏輯算術(shù)邏輯add、sub等:操作均為寄存器addi、subi等:有

8、一個(gè)操作數(shù)為立即數(shù)3. 分支分支beq、j等電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 實(shí)現(xiàn)方式概述實(shí)現(xiàn)方式概述寄存器寄存器堆堆ALU數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器指令指令存儲(chǔ)器存儲(chǔ)器MUXMUX加法器加法器加法器加法器MUXPC4n 一個(gè)MIPS子集的基本實(shí)現(xiàn)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 4.1.2 實(shí)現(xiàn)方式概述實(shí)現(xiàn)方式概述n 硬件的設(shè)計(jì)硬件的設(shè)計(jì) 從存儲(chǔ)器中取出指令 執(zhí)行指令規(guī)定的操作n 設(shè)計(jì)時(shí)需要考慮的因素設(shè)計(jì)時(shí)需要考慮的因素 代價(jià) 速度 功耗電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 設(shè)計(jì)步驟:設(shè)計(jì)步驟:1. 分析指

9、令集;2. 數(shù)據(jù)路徑的需求;3. 選擇數(shù)據(jù)部件;4. 時(shí)鐘建立方法;5. 按要求形成數(shù)據(jù)路徑;6. 為每條指令確定控制信號(hào);7. 形成產(chǎn)生控制信號(hào)的控制邏輯;電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 要實(shí)現(xiàn)的要實(shí)現(xiàn)的MIPSMIPS指令指令 R R型指令型指令指令31:2625:2120:1615:1110:65:0add000000rsrtrd00000100000sub000000rsrtrd00000100010subu000000rsrtrd00000100011slt000000rsrtrd00000101010sltu000000rsrtrd00000101

10、011電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 要實(shí)現(xiàn)的要實(shí)現(xiàn)的MIPSMIPS指令指令 I I型指令型指令指令31:2625:2120:1615:0ori000110rsrtimmediateaddiu001001rsrtimmediatelw100011rsrtimmediatesw101011rsrtimmediatebeq000100rsrtimmediate電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 要實(shí)現(xiàn)的要實(shí)現(xiàn)的MIPSMIPS指令指令 J J型指令型指令指令31:2625:0功能j000010address跳轉(zhuǎn)電子科技大學(xué)計(jì)算機(jī)科學(xué)

11、與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 MIPSMIPS指令格式指令格式oprsrtrdshamtfunc6位5位5位5位5位6位31 2625 2120 1615 1110 650oprsrtimmediate6位5位5位16位31 2625 2120 1615 0opaddress6位26位31 26250R R型型I I型型J J型型電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 MIPSMIPS指令指令集集需求需求n 存儲(chǔ)器存儲(chǔ)器 取出指令 讀寫(xiě)操作數(shù)n 寄存器寄存器(32位位) 讀數(shù)據(jù)(根據(jù)指令中的rs或rd) 寫(xiě)數(shù)據(jù)(根據(jù)指令中的rd或rt)n PC電子科技大

12、學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 MIPSMIPS指令指令集集需求需求n 符號(hào)擴(kuò)展部件符號(hào)擴(kuò)展部件n ALUn 加加4運(yùn)算器運(yùn)算器電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的組合部件數(shù)據(jù)通路中的組合部件n 3232位加法器位加法器AdderADDA32B3232SUM該信號(hào)該信號(hào)32位位電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的組合部件n 3232位運(yùn)算器位運(yùn)算器ALUALUcrtALUA32B3232ResultZeronn與ALU能執(zhí)行運(yùn)算類(lèi)型有關(guān),若ALU能完成m種運(yùn)算,則:Overflow電子科

13、技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的組合部件n 3232位位2 2選選1 1選擇器選擇器MUXMUXA32B3232CSelect32位4選1選擇器?思考題:電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的組合部件n 16-3216-32符號(hào)擴(kuò)展器符號(hào)擴(kuò)展器EXTNDEXTND1632Sign extender16-32符號(hào)擴(kuò)展方法: 設(shè)符號(hào)位為S,S0,1 在原數(shù)前加16個(gè)S,構(gòu)成32位數(shù)例如:0110010100001100111001010000110001100101000011001110010100001100111

14、11111111111110000000000000000電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的存儲(chǔ)部件32位寄存器RegisterEnableData InData Out3232Clockn Enable: :使能信號(hào)使能信號(hào) 0:0:時(shí)鐘邊沿到來(lái)時(shí)輸出不變時(shí)鐘邊沿到來(lái)時(shí)輸出不變 1:1:時(shí)鐘邊沿到來(lái)時(shí)輸出變?yōu)闀r(shí)鐘邊沿到來(lái)時(shí)輸出變?yōu)檩斎胼斎胱⒁猓鹤⒁猓喝裘總€(gè)時(shí)鐘邊沿都寫(xiě)則不需若每個(gè)時(shí)鐘邊沿都寫(xiě)則不需要要EnableEnable信號(hào)。信號(hào)。電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的存儲(chǔ)部件寄存器堆(Register

15、file)RaA3232ClockRbRwDataB3232 32-bitRegisters555n 2個(gè)輸出(組合邏輯) A輸出由Ra給出地址 B輸出由Rb給出地址n 1個(gè)寫(xiě)端口(時(shí)序邏輯)寫(xiě)使能Wn=1時(shí),當(dāng)時(shí)鐘邊沿到來(lái)時(shí),將Data端口送來(lái)的數(shù)據(jù)寫(xiě)入Rw指定的寄存器。Wn電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)通路中的存儲(chǔ)部件理想寄存器堆(Memory)Memory32ClockData In32AddrR/WData Outn 讀操作(組合邏輯)n 寫(xiě)操作(時(shí)序邏輯)R/W=1時(shí),當(dāng)Clock邊沿到來(lái)時(shí),將Data In端口送來(lái)的數(shù)據(jù)寫(xiě)入Addr指定的寄存

16、器。R/W=0時(shí),當(dāng)Clock邊沿到來(lái)時(shí),將Addr指定寄存器的內(nèi)容從Data Out端口輸出。電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 建立數(shù)據(jù)通路n 一條指令執(zhí)行的過(guò)程 從存儲(chǔ)器中取指令 分析指令 執(zhí)行指令 寫(xiě)結(jié)果,形成下一條指令的地址電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指令(Instruction Fetch)R型指令型指令I(lǐng)nstruction - MEMPCInstructionmemoryPCADDRDATAInstructionADD4PC - PC + 4Clock電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工

17、程學(xué)院 R型指令取型指令取指電路的設(shè)計(jì)指電路的設(shè)計(jì)PCADD4CLKResetinstnext_pcaddrInstmemR-Fetch Circuit電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑R型指令型指令OprsrtrdshamtfuncRaClockRbRwDataRegfileALUZero譯碼譯碼ALUctrWnOverflow電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑R型指令add/sub/and/or/xor)Fetch-RRegfilersrtrdControl UnitRaRbRwopfuncALUDat

18、aZeroSUMClockl Control Unit:控制器,產(chǎn)生各種控制信號(hào);l Regfile:32個(gè)32位寄存器堆。ALUctrWnOverflow電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑I型型指令指令(1)OprsrtimmediateRaClockRbRwDataRegFileALU譯碼譯碼ZeroOverflowAWn電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑Load指令指令Oprsrtoffset/immediateRaClockRbRwDataRegFileALUMemoryAddrR/W譯碼譯

19、碼ZeroOverflowWn電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 Fetch-RRegfilersrtControl UnitRa RwopALUDataZero/OverflowClockALUctrWn數(shù)據(jù)路徑數(shù)據(jù)路徑Load指令指令immMEMAddrR/We電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑Store指令Oprsrtoffset/immediateRaClockRbRwALUZeroMemoryAddrR/W譯碼譯碼OverflowRegFile電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路

20、徑數(shù)據(jù)路徑分支指令分支指令n 分支指令:beq功能:電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑分支指令分支指令Oprsrtoffset/immediateRaClockRbRwData32 32-bitRegistersALUZero/Overflow2ADDPC+4ADDPC+4PC4PC電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 opaddress 226位位28位位4位位PCMemory字?jǐn)?shù)據(jù)路徑數(shù)據(jù)路徑跳轉(zhuǎn)指令跳轉(zhuǎn)指令電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑跳轉(zhuǎn)指令跳轉(zhuǎn)指令Opadd

21、ress2PC+4PC電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 數(shù)據(jù)路徑數(shù)據(jù)路徑合并合并目標(biāo):把各種功能的數(shù)據(jù)路徑合并 取指令 R型指令 Load/Store指令 分支指令n 基本方法:使用多路選擇器。MUXA32B3232CSelect電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指電路(滿足取指電路(滿足3 3種類(lèi)型指令)種類(lèi)型指令)關(guān)鍵:主要是確定下一條指令的地址。 R型指令: 轉(zhuǎn)移指令: 轉(zhuǎn)移指令:電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指電路(滿足取指電路(滿足3 3種類(lèi)型指令)種類(lèi)型指令)Fetch Circ

22、uit電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指電路(滿足取指電路(滿足3 3種類(lèi)型指令)種類(lèi)型指令)n 功能描述當(dāng)Clk產(chǎn)生上 升沿跳變時(shí):電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 取指電路(滿足取指電路(滿足3 3種類(lèi)型指令)種類(lèi)型指令)Fetch CircuitADDPCADDMUX4InstMem電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R R型指令與型指令與Load/StoreLoad/Store指令合并指令合并n 指令操作碼差異R R型型Load/StoreLoad/Store指令指令譯碼譯碼0 0 0 0

23、 0 00 0 0 0 0 01 0 0 0 1 11 0 0 0 1 11 0 1 0 1 11 0 1 0 1 1譯碼譯碼電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R R型指令與型指令與Load/StoreLoad/Store指令合并指令合并譯碼譯碼n 指令操作碼合并電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與型指令與Load/Store指令差異(指令差異(2)OprsrtrdshamtfuncR R型型Oprsrtoffset/immediateLoadLoad/ /StoreStore指令指令RaRbRw32 32-bit Reg

24、istersRaRbRw32 32-bit Registers電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與型指令與Load/Store指令差異(指令差異(2)- 合并處理合并處理 Oprsrtoffset/immediateOprsrtrdshamtfuncR型指令Load/Store指令RaRbRw32 32-bit RegistersMUXRegrt電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與型指令與Load/Store指令差異(指令差異(3)R R型型Load/StoreLoad/Store指令指令32 32-bitRegi

25、stersALUOprsrtoffset/immediate32 32-bitRegistersALUMemory電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與型指令與Load/Store指令差異(指令差異(3)- 合并處理合并處理32 32-bitRegistersALUMUXaluimmMemory電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 MemoryR型指令與型指令與Load/Store指令差異(指令差異(4)R R型型Load/StoreLoad/Store指令指令32 32-bitRegistersALU32 32-bitRegi

26、stersALU電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與型指令與Load/Store指令差異(指令差異(4)- 合并處理合并處理ALUMemoryMUXMemtoReg電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與Load/Store指令合并MemoryOprsrtoffset/immediateRaClockRbRwData32 32-bitRegistersALUZeroADDRWDRDWeReOprsrtrdshamtfuncMUXMUXaluimmm2regOperationR型指令Load/Store指令MUXregr

27、t電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 MemoryOprsrtRaClockRbRwData32 32-bitRegistersALUZeroADDRWDRDWeRerd000000funcMUXMUXaluimmm2regOperationMUXregrtR型指令與Load/Store指令合并(執(zhí)行R型指令)Aluimm = 0m2reg = 1regrt = 1offset/immediate00電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與Load/Store指令合并(執(zhí)行Load(lw)型指令)MemoryOprsrtRaCl

28、ockRbRwData32 32-bitRegistersALUZeroADDRWDRDWeRerd000000funcMUXMUXaluimmm2regOperationMUXregrtAluimm = 1m2reg = 0regrt = 0offset/immediate01電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令與Load/Store指令合并(執(zhí)行Store(sw)型指令)MemoryOprsrtRaClockRbRwData32 32-bitRegistersALUZeroADDRWDRDWeRerd000000funcMUXMUXaluimmm2re

29、gOperationMUXregrtAluimm = 1m2reg = 0regrt = 0offset/immediate10電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 執(zhí)行指令:MemoryInstructionMemoryRa Rb RwMUXDataALUMUXWDeADDRRDMUX2ADDMUXWDADDADDRPC4InstructionOperationSign ExtenderWNZeroaluimmPCSrcm2reg55516regrt電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 執(zhí)行指令:MemoryInstructionMem

30、oryRa Rb RwMUXDataALUMUXWDeADDRRDMUX2ADDMUXWDADDADDRPC4InstructionOperationSign ExtenderWNZeroaluimmPCSrcm2reg55516regrt電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 執(zhí)行指令:MemoryInstructionMemoryRa Rb RwMUXDataALUMUXWDeADDRRDMUX2ADDMUXWDADDADDRPC4InstructionOperationSign ExtenderWNZeroaluimmPCSrcm2reg55516regrt電子

31、科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 控制器單元的功能 根據(jù)指令操作碼和運(yùn)算結(jié)果產(chǎn)生各種控制信號(hào)。n 設(shè)計(jì)步驟 (1)確定輸入信號(hào) (2)確定輸出信號(hào) (3)擬定輸出信號(hào)產(chǎn)生的邏輯關(guān)系 (4)畫(huà)出電路圖電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸入信號(hào)ALU電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)PC源的選擇信號(hào)Fetch CircuitADDPCADDMUX4InstMem電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院

32、電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)目的寄存器信號(hào)選擇信號(hào)RaRbRwMUX選擇rt寄存器選擇rd寄存器RegFile電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)ALU的數(shù)據(jù)輸入選擇信號(hào)ALUMUXRegFileE選擇寄存器堆輸入選擇擴(kuò)展器數(shù)據(jù)輸入電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)寄存器堆寫(xiě)信號(hào)不寫(xiě)寄存器堆32 32-bit RegistersWn寫(xiě)寄存器堆RaRbRw電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)

33、計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)ALUMUXMemory選擇ALU的運(yùn)算結(jié)果選擇存儲(chǔ)器數(shù)據(jù)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)存儲(chǔ)器讀寫(xiě)信號(hào)對(duì)存儲(chǔ)器進(jìn)行讀操作Memory對(duì)存儲(chǔ)器進(jìn)行寫(xiě)操作電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)16-32數(shù)據(jù)位擴(kuò)展選擇信號(hào)進(jìn)行“0”擴(kuò)展操作EXT進(jìn)行符號(hào)擴(kuò)展操作電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 輸出信號(hào)ALU操作控制信

34、號(hào)ALU電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)n 控制器:一個(gè)寵大的邏輯電路n 好的方法:分成多個(gè)較小的邏輯電路 較小規(guī)模的邏輯電路速度更快 較小規(guī)模的邏輯電路更容易協(xié)同工作n 顯然 func字段只與ALU的ALUctr有關(guān) 好的方法:建立一個(gè)單獨(dú)的ALU控制電路電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元的設(shè)計(jì)控制器單元的設(shè)計(jì)ALU_CTRControlRegDstALUSrcMemtoRegRegWrMemWrExtOpPC_sel1:0ALUop2:0ALUctr2:0func5:0Op5:0Ze

35、roOverflow電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 控制器單元控制器單元-Control的設(shè)計(jì)的設(shè)計(jì)InputOutputRegDstALUScrRegWrMemtoRegMemWrExtOpPC_Sel1:0ALUOP2:0指令op5:0RT00000010100 x000 0 1ori0011010110000 1 0addiu0010010110010 0 0lw100011011101sw101011010 x11電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 InputOutputRegDstALUScrRegWrMemtoRegM

36、emWrExtOpPC_Sel1:0ALUOP2:0指令op5:0beq000100 x00 x01011 0 0j000010 xx0 x0 x11x x x控制器單元控制器單元-Control的設(shè)計(jì)的設(shè)計(jì)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 n 控制信號(hào)的邏輯表達(dá)式控制器單元控制器單元-Control的設(shè)計(jì)的設(shè)計(jì)電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 n 確定ALU要完成的運(yùn)算指令類(lèi)型指令類(lèi)型指令指令func功能功能判溢出判溢出ALUOPALUctrR-typeadd100000加加Y001001sub100010減減Y101subu1

37、00011減減N100slt101010SLTN111sltu101011SLTUN110I-typeorixxxxxx或或x010010addiuxxxxxx加加N000001lwxxxxxx加加xswxxxxxx加加xbeqxxxxxx減減x100100J-typejxxxxxxxxxxx000電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 ALU單元單元-輸出信號(hào)的邏輯表達(dá)式輸出信號(hào)的邏輯表達(dá)式電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 單周期單周期CPU總體電路總體電路Control UnitFetch CircuitRegFileMUXALUM

38、UXEMUXMemoprsrtrdshamtfunc電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 單周期單周期CPU的性能的性能n 假設(shè)各部件延時(shí)如下:假設(shè)各部件延時(shí)如下: 存儲(chǔ)讀存儲(chǔ)讀/寫(xiě):寫(xiě):200ps ALU、加法器:、加法器:100ps 寄存器堆讀寄存器堆讀/寫(xiě):寫(xiě):50ps 控制器控制器 -忽略不計(jì):忽略不計(jì):0ps 選擇器選擇器-忽略不計(jì):忽略不計(jì):0psn 各種指令的執(zhí)行所需的指令周期是多少?各種指令的執(zhí)行所需的指令周期是多少?電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 R型指令型指令5516RD1RD2RN1RN2WNWDRegWrit

39、eRegister FileOperationALU3EXTND1632ZeroRDWDMemReadDataMemoryADDRMemWrite5Instruction32MUXALUSrcMemtoRegADD2RDInstructionMemoryADDRPC4ADDADDMUXMUXPCSrc200ps100ps (not on critical path)100ps50ps50psLongest Path: 200ps+ 50ps+ 100ps+ 50ps400ps電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 Lw指令指令5516RD1RD2RN1RN2WNWDR

40、egWriteRegister FileOperationALU3EXTND1632ZeroRDWDMemReadDataMemoryADDRMemWrite5Instruction32MUXALUSrcMemtoRegADD2RDInstructionMemoryADDRPC4ADDADDMUXMUXPCSrc200ps100ps (not on critical path)100ps50ps50psLongest Path: 200ps+ 50ps+ 100ps+ 200ps+ 50ps600ps200ps電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 Sw指令指令551

41、6RD1RD2RN1RN2WNWDRegWriteRegister FileOperationALU3EXTND1632ZeroRDWDMemReadDataMemoryADDRMemWrite5Instruction32MUXALUSrcMemtoRegADD2RDInstructionMemoryADDRPC4ADDADDMUXMUXPCSrc200ps100ps (not on critical path)100ps50psLongest Path: 200ps+ 50ps+ 100ps+ 200ps550ps200ps電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 分

42、支指令分支指令5516RD1RD2RN1RN2WNWDRegWriteRegister FileOperationALU3EXTND1632ZeroRDWDMemReadDataMemoryADDRMemWrite5Instruction32MUXALUSrcMemtoRegADD2RDInstructionMemoryADDRPC4ADDADDMUXMUXPCSrc200ps100ps (not on critical path)100ps50psLongest Path: 200ps+ 50ps+ 100ps350ps電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 單周期

43、單周期CPU的性能的性能n 各類(lèi)指令的數(shù)據(jù)路徑長(zhǎng)度 R型指令 200 + 50 + 100+0+50 400ps Load word 200 + 50 + 100 + 200 + 50 600ps Store word 200 + 50 + 100 + 200 550ps 分支 200 + 50 + 100 350ps 轉(zhuǎn)移 200 200psn 性能受最慢指令的限制電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 其它可實(shí)現(xiàn)的方式其它可實(shí)現(xiàn)的方式n 多周期處理器 縮短指令周期 一條指令多個(gè)周期 不同類(lèi)型指令所需的周期數(shù)不同 硬件代價(jià)小n 流水線處理 指令重疊執(zhí)行 盡可縮短時(shí)鐘周期數(shù)和CPI 硬件代價(jià)大,但性能更好電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 多周期處理器的實(shí)現(xiàn)多周期處理器的實(shí)現(xiàn)n 將指令的執(zhí)行分為多個(gè)周期n 1個(gè)時(shí)鐘周期完成1項(xiàng)主要任務(wù)1. 取指2. 指令譯碼和寄存器取數(shù)3. 執(zhí)行,存儲(chǔ)器地址計(jì)算,或分支地址計(jì)算4.

溫馨提示

  • 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)論