![new第五章 中央處理器_第1頁](http://file4.renrendoc.com/view/1757f573c581a233dbc80dfa6c2c35c4/1757f573c581a233dbc80dfa6c2c35c41.gif)
![new第五章 中央處理器_第2頁](http://file4.renrendoc.com/view/1757f573c581a233dbc80dfa6c2c35c4/1757f573c581a233dbc80dfa6c2c35c42.gif)
![new第五章 中央處理器_第3頁](http://file4.renrendoc.com/view/1757f573c581a233dbc80dfa6c2c35c4/1757f573c581a233dbc80dfa6c2c35c43.gif)
![new第五章 中央處理器_第4頁](http://file4.renrendoc.com/view/1757f573c581a233dbc80dfa6c2c35c4/1757f573c581a233dbc80dfa6c2c35c44.gif)
![new第五章 中央處理器_第5頁](http://file4.renrendoc.com/view/1757f573c581a233dbc80dfa6c2c35c4/1757f573c581a233dbc80dfa6c2c35c45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第五章中央處理器CPU的功能和組成指令周期時序產(chǎn)生器微程序控制器微程序設(shè)計技術(shù)硬布線控制器流水線工作原理第五章中央處理器
5.1CPU的功能和組成
5.1.1CPU的功能*指令控制:產(chǎn)生下一條指令在內(nèi)存中的地址
*操作控制:產(chǎn)生各種操作信號送往相應部件,以控制完成指令所要求的動作*時間控制:對各種操作信號實施時間上的控制,以保證計算機有條不紊地連續(xù)自動工作*數(shù)據(jù)加工:執(zhí)行所有的算術(shù)運算和邏輯運算,并進行邏輯測試
5.1.2CPU的組成
CPU由兩個主要部分組成:控制器與運算器
DR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACLALBSHPSWIRPCSPGPRGPRARAB內(nèi)部總線內(nèi)部總線5.1.2CPU的組成
1.控制器
由程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器、時序發(fā)生器和操作控制器組成.功能是負責協(xié)調(diào)與控制整個計算機系統(tǒng)的操作.
控制器的結(jié)構(gòu)可分為組合邏輯型和微程序控制型兩種.ALUMBR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR5.1.2CPU的組成
2.運算器
由通用寄存器組GPR、算術(shù)邏輯單元(ALU)、累加寄存器(AC)、程序狀態(tài)字寄存器(PSW)、數(shù)據(jù)暫存器(LA、LB)和移位器等組成。功能是執(zhí)行所有的算術(shù)運算和邏輯運算。算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC存儲器I/OCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc緩沖寄存器DRCPU的基本模型MBR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線5.1.3內(nèi)部寄存器組
1.
通用寄存器GPR(GeneralPurposeRegister)
可用于存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等,如累加寄存器AC.
ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRARMBR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR2.專用寄存器SPR
(1)程序計數(shù)器PC
(ProgramCounter)
存放下一條要執(zhí)行的指令的地址,控制指令的執(zhí)行順序。MBR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR2.專用寄存器SPR
(2)指令寄存器IR
(InstructionRegister)
存放正在執(zhí)行的指令代碼。MBR譯碼器時序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR2.專用寄存器SPR
(3)堆棧指示器SP
(StackPointer)
存放堆棧棧頂指針MBR譯碼器時序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口
DR:數(shù)據(jù)緩沖寄存器,存放CPU與主存或外設(shè)交換的信息MBR譯碼器時序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口
AR:地址寄存器,存放CPU向主存或外設(shè)發(fā)送的地址MBR譯碼器時序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口
作用:
①作為CPU與主存、外設(shè)之間信息傳遞的中轉(zhuǎn)站
②補償CPU與主存、外設(shè)之間操作速度的差別5.2指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無中斷請求若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程形成下一條指令地址指令的執(zhí)行過程取指令執(zhí)行指令
5.2指令周期
5.2.1指令周期的基本概念指令周期:取出一條指令并執(zhí)行該指令的時間機器周期:CPU同主存或外設(shè)進行一次信息交換所需的時間─總線周期、CPU周期時鐘周期:CPU執(zhí)行一個微操作的最小時間單位─節(jié)拍周期、T周期三者關(guān)系:一個指令周期包含若干個CPU周期,一個CPU周期的功能由多個時鐘周期來完成
T周期CPU周期(取指令)CPU周期(執(zhí)行指令)指令周期定長CPU周期組成的指令周期取指時間+執(zhí)行指令時間八進制地址八進制內(nèi)容助記符020021022023024…030031…040
250000030030021040000000140021..000006000040…存和數(shù)單元CLAADD30STA40NOPJMP21數(shù)據(jù)5條典型指令構(gòu)成的簡單程序一個CPU周期一個CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼執(zhí)行指令取下條指令PC+15.2.2CLA指令的指令周期取出CLA指令算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000執(zhí)行CLA指令5.2.3
ADD指令的指令周期
一個CPU周期一個CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個CPU周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并執(zhí)行ADD指令5.2.4
STA指令的指令周期
算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并執(zhí)行STA指令5.2.5NOP指令和JMP指令的指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并執(zhí)行JMP指令5.2.6用方框圖語言表示指令周期開始PCARABUSDBUSDRIRPC+1譯碼或測試CLAADDSTAJMPNOP0ACIRARIRARIRPCPCARRDWEARABUSDBUSDRDRALUALUACARABUSACDRDRDBUS例:下圖所示為雙總線結(jié)構(gòu)機器的數(shù)據(jù)通路,M為主存(受R/W信號控制),ALU由加、減控制信號決定完成何種操作,控制信號G控制的是一個門電路。另外,線上標注有小圈表示有控制信號,如yi表示y寄存器的輸入控制信號,R1o為寄存器R1的輸出控制信號,未標注字符的線為直通線,不受控制。(1)ADDR2,R0的功能為(R0)+(R2)R0,畫出指令周期流程圖,并列出相應的微操作控制信號序列。(2)SUBR1,R3的功能為(R3)-(R1)R3,要求同上。A總線B總線雙總線結(jié)構(gòu)機器的數(shù)據(jù)通路IRoIRiIRPCPCiPCoARARiR/WMDRDRiDRoR0R1R2R3yixiXYALU+_G控制器5.3時序產(chǎn)生器5.3.1多級時序的概念
(1)指令周期:在時序系統(tǒng)中通常不為指令周期設(shè)置時間標志信號,因而也不將其作為時序的一級.(2)機器周期:設(shè)置一組周期狀態(tài)觸發(fā)器,以標志不同的機器周期.任一時刻只允許其中的一個觸發(fā)器為1,表明CPU當前處在哪個機器周期.(3)時鐘周期:一個時鐘周期內(nèi)完成一步基本操作.(4)時鐘脈沖信號:作為時序系統(tǒng)的基本定時信號.5.3.2多級時序信號之間的關(guān)系:
由于指令周期不作為時序的一級,下圖反映了機器周期、時鐘周期、時鐘脈沖三級時序信號的關(guān)系。一個指令周期機器周期M1機器周期M2機器周期M3時鐘周期T1時鐘周期T2時鐘周期T3時鐘脈沖CLK三級時序信號間的關(guān)系一個時序系統(tǒng)的組成如圖所示:脈沖發(fā)生器節(jié)拍發(fā)生器周期狀態(tài)觸發(fā)器……脈沖源啟動暫停M1M2T1T25.3.3時序系統(tǒng)的組成1.脈沖源:由石英晶體震蕩器及“與非門”組合的震蕩電路組成2.脈沖發(fā)生器:通常是一個環(huán)行脈沖發(fā)生器,采用循環(huán)移位寄存器的形式,產(chǎn)生一組有序的、間隔相等或不等的脈沖序列3.節(jié)拍發(fā)生器:按先后順序,循環(huán)地發(fā)出若干時鐘周期信號,最后通過譯碼電路,產(chǎn)生最后所需的節(jié)拍脈沖,通常由計數(shù)譯碼器電路組成.4.周期狀態(tài)觸發(fā)器:產(chǎn)生電路與節(jié)拍發(fā)生器產(chǎn)生電路類似.5.啟??刂七壿?控制時鐘系統(tǒng),只有當啟動機器運行時,才允許發(fā)出所需的時鐘脈沖,而且,由于機器的啟停是隨機的,必須考慮發(fā)出的脈沖是完整的.例:某時序產(chǎn)生器的主要邏輯電路如圖所示,φ為脈沖時鐘源輸出的方波脈沖,C1-C4為D觸發(fā)器,T1-T4為四個輸出的節(jié)拍脈沖.脈沖源23QQDCPC4CLRSRT4T1T2T3QQDCP+5VDCPQQC1C2C3QQDCPφφφT1-T4為四個輸出節(jié)拍脈沖,其譯碼邏輯表達式為:T1=C1*C2T2=C2*C3T3=C3T4=C112345678910CPU周期CPU周期T1T2T3T4C4C1C2C3φ
例:時序產(chǎn)生器需要在一個CPU周期中產(chǎn)生三個節(jié)拍脈沖信號:T1(200ns),T2(400ns),T3(200ns),主脈沖源的頻率為5MHZ,請設(shè)計時序邏輯電路(不考慮啟停控制).脈沖源23QQDCPC4CLRSRT3QQDCP+5VDCPQQC1C2C3QQDCPφφT1-T3為四個輸出節(jié)拍脈沖,其譯碼邏輯表達式為:T1=C1*C2T2=C2T3=T1T2C112345678910CPU周期CPU周期T1T2T3C4C1C2C3φ200ns400ns200ns5.3.3控制器的控制方式1.同步控制方式(集中控制方式):對機器的所有指令采用統(tǒng)一的時序信號.用相同數(shù)目的機器周期,相同數(shù)目的節(jié)拍脈沖來形成每條指令的控制操作序列.特點:時序關(guān)系簡單,但以犧牲速度為代價.2.異步控制方式(分散控制方式):每條指令、每個微操作需要多少時間就占用多少時間,不采用統(tǒng)一的周期和節(jié)拍,時間上的銜接通過應答通訊方式(握手方式)實現(xiàn).特點:無時間浪費,但時序控制比較復雜.3.聯(lián)合控制方式:是同步控制與異步控制相結(jié)合.5.4硬布線控制器(組合邏輯控制器)與PLA控制器5.4.1組合邏輯控制器的設(shè)計步驟
1.根據(jù)CPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列.2.選擇合適的控制方式和控制時序.3.對微操作流程圖安排時序,排出微操作時間表.4.根據(jù)操作時間表寫出微操作的表達式,即微操作=周期*節(jié)拍*脈沖*指令碼*其它條件
5.根據(jù)微操作的表達式,畫出組合邏輯電路.組合邏輯控制器總框圖見下頁.5.4.2組合邏輯控制器的設(shè)計舉例CPU結(jié)構(gòu)框圖如下圖所示,設(shè)計以下幾條指令的組合邏輯控制器.CLA;清ACADDID;I=0為直接尋址,即(AC)+(D)ACI=1為間接尋址,即(AC)+((D))ACSTAID;I=0為直接尋址,即(AC)D;I=1為間接尋址,即(AC)(D)LDAID;I=0為直接尋址,即(D)AC;I=1為間接尋址,即((D))ACJMPID;I=0為直接尋址,即(D)PC;I=1為間接尋址,即((D))PC操作碼地址碼譯碼器硬布線邏輯(組合邏輯)……PC周期狀態(tài)觸發(fā)器節(jié)拍發(fā)生器時鐘源……結(jié)果反饋信息…M1M2M3T1T4PIR中斷控制邏輯轉(zhuǎn)移地址+1RESET中斷信號微操作控制命令組合邏輯控制器總框圖ALU狀態(tài)寄存器ACPCAR指令譯碼器操作控制器存儲器…數(shù)據(jù)總線OPIR(AR)+1PCARMREQR/WDBUSARDBUSPCCDRACDRACDRALUIRDRDRIRIR(AR)DBUS+_DBUSDRDRDBUS…(1)根據(jù)CPU結(jié)構(gòu)框圖寫出指令的操作流程圖,如下圖所示:I=1?I=1?I=1?I=1?0ACMARMARMDBUSDBUSPCPCARMDRDRIRPC+1PCPCARR,DBUSDRDRIR+1CLAIR15IR14IR13=000ADD001STA010LDA011JMP100IR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSNYMDR(AC)+(DR)ACNYMARACDRDRMMDRDRACNY(IR12)=1NY(IR12)=1(IR12)=1(IR12)=1(2)選同步控制方式(3)選二級時序由于以上指令均是單操作數(shù)指令,所以安排三個機器周期:取指周期FETCH、取數(shù)周期DOF、執(zhí)行周期EXEC。每個機器周期安排四個節(jié)拍T1、T2、T3和T4,時序見下圖所示。FETCHDOFEXECT1T3T4取指周期取數(shù)周期執(zhí)行周期指令周期CLK(4)為微操作序列安排時序I=1?I=1?I=1?I=1?CPCARR,+1DBUSDRDRIRCLAADDSTALDAJMPIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSNYNYACDR
NYNY(IR12)=1(IR12)=1FETCHT1T2T3T4RDBUSARRDBUSARRDBUSARDBUSARRDBUSDRDRALU+WRDBUSDRDRACT1T2T3T4DOFT1T2T3T4EXECRDBUSPCDRDBUS(5).操作時間表見下表:微操作
FETCHT1T2T3T4DOFEXECPCARR/W=1R/W=0MREQDRIR+1CIR(AR)DBUSALLALLALLALLALLT1T2T3T4CLA*ICLA*IT1T2T3T4ADD+LDAADD+LDASTASTACLACLA(5).操作時間表見下表:微操作
FETCHT1T2T3T4DOFEXECT1T2T3T4T1T2T3T4DBUSARDBUSDRDBUSPCDRALUDRACACDR+ALLADD+LDAJMPADDLDASTAADDADD+STA+LDA+JMP*I(ADD+STA+LDA)*IDRDBUSSTA(6).綜合微操作表達式如下:PCAR=FETCH*T1R/W=FETCH*T2+DOF*T3*CLA*I+EXEC*T1*(ADD+LDA)R/W=STA*EXEC*T2
MREQ=FETCH*T2+DOF*T3*CLA*I+EXEC*T1*(ADD+LDA)+STA*EXEC*T2…
(7)邏輯電路框圖如下所示:OPARI指令譯碼器時序產(chǎn)生器組合邏輯控制器LDAADDSTALDAJMPIRIIR0IR11IR12IR13IR14IR15…FETCHDOFEXECT1T2T3T4PCARDBUSDRDBUSPC+微操作控制信號OPIARIR0IR11IR12IR13
IR14IR15譯碼器譯碼器…FETCHDOFEXEC時鐘系統(tǒng)節(jié)拍發(fā)生器>=&>=T1T2T4DBUSDRLDAADDI=0I=1微操作控制信號DBUSDR的邏輯表達式為:DBUSDR=FETCH*T3+EXEC*(ADD+LDA)*T2&微操作執(zhí)行邏輯示意圖T35.4.3組合邏輯控制器的特點優(yōu)點:速度快,可用于速度要求較高的機器中.
缺點:(1)缺乏規(guī)整性:將幾百個微操作的執(zhí)行邏輯組合在一起,構(gòu)成的微操作產(chǎn)生部件,是計算機中最復雜、最不規(guī)整的邏輯部件.不適合于指令復雜的機器.(2)缺乏靈活性:各微命令的實現(xiàn)是用硬連的邏輯電路完成,改動不易,設(shè)計困難.5.4.4PLA控制器
PLA控制器的設(shè)計步驟(1)-(4)與組合邏輯控制器相同,只是實現(xiàn)方法不同,它采用PLA陣列(ProgrammedLogicArray).從設(shè)計思想來看是組合邏輯控制器,從實現(xiàn)方法來看,是存儲邏輯控制器.
特點:可使雜亂無章的組合邏輯規(guī)整化、微型化,而且可以利用PLA的可編程特性,用存儲邏輯部分地取代組合邏輯,增加了一定的靈活性。
仍以DBUSDR=FETCH*T3+EXEC*(ADD+LDA)*T2為例,說明用PLA實現(xiàn)執(zhí)行邏輯的原理。OR陣列每個交點FETCHEXECADDLDAT2T3DBUSDR用PLA實現(xiàn)執(zhí)行邏輯模型AND陣列每個交點+1例:CPU結(jié)構(gòu)圖如下所示,其中包括一個累加器AC、一個狀態(tài)寄存器和其它四個寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。
(1).標明圖中四個寄存器的名稱.(2)簡述取指令的數(shù)據(jù)通路.(3)簡述完成指令LDAX的數(shù)據(jù)通路(X為內(nèi)存地址,LDA功能為(X)(AC)).(4)簡述完成ADDY的數(shù)據(jù)通路(Y為內(nèi)存地址,ADD功能為(AC)+(Y)(AC)).(5)簡述完成STAZ的數(shù)據(jù)通路(Z為內(nèi)存地址,STA功能為本(AC)(Z)).主存儲器MAACCD微操作控制器狀態(tài)寄存器B+1ALU解:A為數(shù)據(jù)緩沖寄存器MDR,B為指令寄存器IR,C為主存地址寄存器MAR,D為程序計數(shù)器PC.取指令的數(shù)據(jù)通路:PCMARMMMDRIR指令LDAX的數(shù)據(jù)通路:XMARMMMDRALUAC指令ADDY的數(shù)據(jù)通路:YMARMMMDRALUADDAC指令STAZ的數(shù)據(jù)通路:ZMAR,ACMDRMM5.5微程序控制器
5.5.1微程序控制器的組成和基本原理
假設(shè)CPU結(jié)構(gòu)圖同5.4,以加法ADDID為例.它由五條微指令解釋執(zhí)行.圖中每個小方框代表一條微指令,框內(nèi)為該微指令的全部微命令,框外右上角標明該微指令在存控的地址.微指令格式如下:ADDR,DBUSARPCARR,+1DBUSDRDRIRIR(AR)DBUSDBUSARR,DBUSDRIR12=1IR12=0DRALU,+000000000100110001010010000011….1216判別測試字段下址字段PCARDBUSDR控制字段順序控制字段
5.5微程序控制器后續(xù)微地址形成電路微地址寄存器地址譯碼驅(qū)動機器指令寄存器IR主存儲器器RAM譯碼微操作控制字段順序控制字段…………….控制存儲器ROM微程序控制器原理框圖……微命令寄存器微命令轉(zhuǎn)移地址來源運行狀態(tài)……指令操作碼
5.5微程序控制器
5.5.2微程序控制的基本概念
1.微命令與微操作微命令:構(gòu)成控制信號序列的最小單位。微操作:控制器中執(zhí)行部件接受微指令后所進行的操作。
2.微指令和微程序微指令:在機器的一個節(jié)拍中,一組實現(xiàn)一定操作功能的微命令,或者說,控制存儲器中每個單元存放的微命令信息組成一條微指令.
微程序:由微指令組成的序列稱為微程序,一個微程序的功能對應一條機器指令的功能.3.機器指令與微指令
機器指令指提供給使用者編成的基本單位,每一條指令可以完成一個獨立的算術(shù)運算或邏輯運算操作.
一條機器指令對應一組微指令組成的微程序.可見,一條機器指令對應多條微指令,而一條微指令可為多個機器指令服務.4.控制存儲器CM(ControlMemory):用于存放全部指令的所有微程序,采用只讀存儲器結(jié)構(gòu)(固化).控制存儲器的字長等于微指令的長度,其總?cè)萘繘Q定于所有微程序的總長度.
例:已知某計算機有80條指令,平均每條指令由12條微指令組成,其中有一條取指微指令是所有指令共用的,設(shè)微指令長度為32位,計算CM容量.
解:微指令所占的二進制位數(shù)=(12+79*11)*32=881*32
所以,CM容量可選1K*32另見教材P.210第6題.
5.微指令周期:從控制存儲器中讀取一條微指令并執(zhí)行這條微指令所需的時間,通常一個微指令周期與一個CPU周期的時間相等.微指令中的微命令可以用節(jié)拍脈沖來同步定時.有多個同步節(jié)拍脈沖的微周期,稱為多周期.微周期子周期T1T2T3T4多周期節(jié)拍脈沖T1T2T3T4T1T2T3T4讀微指令執(zhí)行微指令微指令周期CPU周期
CPU周期與微指令周期的關(guān)系5.6微程序設(shè)計技術(shù)
5.6.1微命令編碼對微指令中的操作控制字段采用的表示方法.1.直接表示法(不譯法):將微指令操作控制字段的每個二進制位定義為一個微命令,直接送往相應的控制點.2.字段直接譯碼法:將微指令的控制字段分為若干小字段,把相斥性微命令組合在同一字段中,而相容性微命令組合在不同的字段中,然后通過小組譯碼器對每一個微命令信號進行譯碼.
微命令編碼:……譯碼譯碼譯碼……………微命令微命令微命令微命令字段順序控制字段微指令寄存器字段直接譯碼法
3.混合表示法:直接表示法和字段直接譯碼法的混合使用.5.6.2微程序執(zhí)行順序的控制
1.計數(shù)器方式:順序執(zhí)行微指令時,后續(xù)微指令地址由現(xiàn)行微指令地址加一個增量(通常為1)而形成;遇到轉(zhuǎn)移時,由轉(zhuǎn)移微指令給出轉(zhuǎn)移微地址使微地址按新的方式執(zhí)行.
轉(zhuǎn)移微指令的一般格式簡化如下:操作碼
轉(zhuǎn)移地址轉(zhuǎn)移控制例:CPU數(shù)據(jù)通路同5.4硬布線控制器.圖中共有16條微指令,再增加一些轉(zhuǎn)移微指令,,地址為6位.圖中有兩種轉(zhuǎn)移情況,用P1、P2來控制,轉(zhuǎn)移微指令格式為:轉(zhuǎn)移微指令標志T轉(zhuǎn)移地址(A5A4A3A2A1A0)轉(zhuǎn)移控制(P1P2)轉(zhuǎn)移地址修改方案為:
μPC5μPC4μPC3μPC2μPC1μPC0IR15IR14IR13IR12P1=1P2=1PCARR,+1DBUSDRDRIRT=1000011P1=1(IR15IR14IR13=000)CCLA000011IR(AR)DBUSDBUSAR001011ADD(001)T=1001110P2=1R,DBUSARR,DBUSDRDRALU,+T=100000P1=0P2=0001100IR12=1001110IR12=0001111010000010001IR(AR)DBUSDBUSART=1010110P2=1R,DBUSARACDRDRDBUSWT=100000P1=0P2=0010011STA(010)010100IR12=1010110010111011000LDA(011)JMP(100)地址轉(zhuǎn)移邏輯表達式為:μPC5=IR15P1T2μPC4=IR14P1T2μPC3=IR13P1T2
μPC0=IR12P2T20000000001000100000000T=1000100
計數(shù)器法的微程序控制器組成框圖如下:IR指令寄存器微地址轉(zhuǎn)移邏輯微程序計數(shù)器μPCCM微指令寄存器μIRTP1P2時序微指令譯碼器IR15IR14IR13IR12μPC5μPC4μPC3μPC0PCAR……ACDR微操作命令P2P1P1P2T1T2說明:當T=0時,微指令寄存器μIR輸出微操作命令;當T=1時,微指令寄存器μIR輸出微轉(zhuǎn)移指令.T1和T2用于定時一條微指令中的微命令;另外,T1=1時,將轉(zhuǎn)移地址送μPC,T2=1時,如果P1+P2=1,則修改μPCT22.多路轉(zhuǎn)移方式(下址字段法/斷定法):當微程序不產(chǎn)生分支時,后續(xù)微指令地址由微指令的順序字段給出;否則有若干個后續(xù)地址可以選擇,此時必須由順序控制字段的“判別測試”和“狀態(tài)條件”信息來選擇其中一個微地址.
微指令格式如下:其微程序組成原理圖如下:微命令字段判別測試字段(P字段)下地址字段操作控制順序控制控制存儲器地址譯碼微地址寄存器地址轉(zhuǎn)移邏輯P字段控制字段…OPIR…狀態(tài)條件其中:微地址寄存器對應下地址字段,P字段即為判別測試字段,控制字段即為微命令字段,后兩部分組成微指令字段.例:已知MOV,ADD,COM,ADT四條指令微程序流程圖如下所示:0000RSRDRSRDR2+R1R2R2+R3R2R2-R3R2P(1)P(2)RS+RDRDMOVADDCOMADT10000000100100001010000010111111000000100000Ci=1Ci=0
(1)P(1)的條件碼是指令寄存器的OP字段,即IR7和IR6,P(2)的條件碼是進位寄存器Cj,請設(shè)計出微程序控制器地址轉(zhuǎn)移邏輯圖.(2)現(xiàn)設(shè)定控制存儲器EPROM容量為16個單元,其字長符合微指令格式要求.請給出微程序流程圖中每條微指令的當前微地址與下一微地址.1000
解:(1)從流程圖可以看出,P(1)處微程序出現(xiàn)四個分支,對應四個微地址,因此用OP碼修改微地址寄存器的最后兩個觸發(fā)器即可;在P(2)處微程序出現(xiàn)2路分支,對應兩個微地址.轉(zhuǎn)移邏輯表達式如下:
μA0=P1*T4*IR6μA1=P1*T4*IR7μA2=P2*T4*Ci微地址轉(zhuǎn)移邏輯電路如下:QDQA3μQQDμA2QQμA1QQμA0T1CM3CM2CM1CM0T4P2CiP1IR7P1IR6S解:因為EPROM容量為16單元,微地址寄存器4位即可,設(shè)為,七條微指令地址分配如下表所示μA3-μA0微指令序號當前微地址下一微地址12345670000100010011010
10111111010010000000000000001111000000005.6.3微指令格式
1.水平型微指令:在一個CPU周期(即微周期)內(nèi)同時給出多個能并行操作的微命令的微指令,均稱為水平型微指令.其格式為:操作控制字段判別測試字段下址字段提供微命令提供下一條微指令的地址2.垂直型微指令:采用完全編碼方法,將全部微命令代碼化.其格式為:微操作碼字段源部件地址字段目的部件地址字段下址字段3.水平型微指令與垂直型微指令的比較:*水平型微指令并行操作能力強*水平型微指令執(zhí)行一條指令的時間短*由水平型微指令解釋指令的微程序,有微指令字長,而微程序短的特點,垂直型微指令則相反.*水平型微指令用戶難以掌握例:(P210.11)已知某機采用微程序控制方式,控存容量為512*48位.微程序可在整個控存中實現(xiàn)轉(zhuǎn)移,控制微程序轉(zhuǎn)移的條件共有4個,微指令采用水平型微指令,后繼微指令地址采用斷定方式.請問:(1)微指令的三個字段分別應為多少位?(2)畫出對應這種微指令格式的微程序控制器邏輯.
解:微指令格式為:
微命令字段判別測試字段下地址字段操作控制順序控制假設(shè)判別測試字段中每一位作為一個判別標志,那末由于有4個轉(zhuǎn)移條件,故該字段為4位.下地址字段為9位,因為控存容量為512單元.微命令字段則是(48-4-9)=35位.對應上述微指令格式的微程序控制器邏輯框圖見P175圖5.24例:(P210.10)某計算機有如下部件:ALU,移位器,主存M,主存數(shù)據(jù)寄存器MBR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0-R3,暫存器C和D.(1)請將各邏輯部件組成一個數(shù)據(jù)通路,并標明數(shù)據(jù)流動方向.(2)畫出“ADD(R1),(R2)+”指令的指令周期流動圖,指令的含義是進行求和操作,源操作數(shù)地址在寄存器R1中,目的操作數(shù)尋址方式為自增型寄存器間址方式.解:移位器IRPCCDR0R1R2R3MBRMARMALU+1AB+1MMBRIR,PC+1R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理鋁錠銷售合同范本
- 農(nóng)田租聘合同范例
- 個人債權(quán)轉(zhuǎn)移合同范本
- 企業(yè)logo設(shè)計合同范例
- 東莞市合同范例
- 農(nóng)村建筑包工合同范本
- pvc銷售合同范本
- 關(guān)于護欄加工合同范本
- 2025年度建筑工程施工許可證代辦承包合同范本
- LNG氣瓶檢驗合同范例
- 蔚來用戶運營分析報告-數(shù)字化
- 中學生低碳生活調(diào)查報告
- 東軟入職合同
- 游泳池經(jīng)營合作方案
- 擘畫未來技術(shù)藍圖
- 基于情報基本理論的公安情報
- 《“白山黑水”-東北三省》示范課課件(第1課時)
- 孔氏家廟的社會調(diào)查報告
- 員工節(jié)能環(huán)保培訓課件
- 華為公司的內(nèi)部審計制度
- 腫瘤醫(yī)院病歷書寫培訓課件
評論
0/150
提交評論