new第五章 中央處理器_第1頁(yè)
new第五章 中央處理器_第2頁(yè)
new第五章 中央處理器_第3頁(yè)
new第五章 中央處理器_第4頁(yè)
new第五章 中央處理器_第5頁(yè)
已閱讀5頁(yè),還剩66頁(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的功能和組成指令周期時(shí)序產(chǎn)生器微程序控制器微程序設(shè)計(jì)技術(shù)硬布線控制器流水線工作原理第五章中央處理器

5.1CPU的功能和組成

5.1.1CPU的功能*指令控制:產(chǎn)生下一條指令在內(nèi)存中的地址

*操作控制:產(chǎn)生各種操作信號(hào)送往相應(yīng)部件,以控制完成指令所要求的動(dòng)作*時(shí)間控制:對(duì)各種操作信號(hào)實(shí)施時(shí)間上的控制,以保證計(jì)算機(jī)有條不紊地連續(xù)自動(dòng)工作*數(shù)據(jù)加工:執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試

5.1.2CPU的組成

CPU由兩個(gè)主要部分組成:控制器與運(yùn)算器

DR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACLALBSHPSWIRPCSPGPRGPRARAB內(nèi)部總線內(nèi)部總線5.1.2CPU的組成

1.控制器

由程序計(jì)數(shù)器(PC)、指令寄存器(IR)、指令譯碼器、時(shí)序發(fā)生器和操作控制器組成.功能是負(fù)責(zé)協(xié)調(diào)與控制整個(gè)計(jì)算機(jī)系統(tǒng)的操作.

控制器的結(jié)構(gòu)可分為組合邏輯型和微程序控制型兩種.ALUMBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR5.1.2CPU的組成

2.運(yùn)算器

由通用寄存器組GPR、算術(shù)邏輯單元(ALU)、累加寄存器(AC)、程序狀態(tài)字寄存器(PSW)、數(shù)據(jù)暫存器(LA、LB)和移位器等組成。功能是執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算。算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC存儲(chǔ)器I/OCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc緩沖寄存器DRCPU的基本模型MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線5.1.3內(nèi)部寄存器組

1.

通用寄存器GPR(GeneralPurposeRegister)

可用于存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等,如累加寄存器AC.

ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRARMBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR2.專用寄存器SPR

(1)程序計(jì)數(shù)器PC

(ProgramCounter)

存放下一條要執(zhí)行的指令的地址,控制指令的執(zhí)行順序。MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR2.專用寄存器SPR

(2)指令寄存器IR

(InstructionRegister)

存放正在執(zhí)行的指令代碼。MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR2.專用寄存器SPR

(3)堆棧指示器SP

(StackPointer)

存放堆棧棧頂指針MBR譯碼器時(shí)序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口

DR:數(shù)據(jù)緩沖寄存器,存放CPU與主存或外設(shè)交換的信息MBR譯碼器時(shí)序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口

AR:地址寄存器,存放CPU向主存或外設(shè)發(fā)送的地址MBR譯碼器時(shí)序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR5.1.4CPU與外部總線接口

作用:

①作為CPU與主存、外設(shè)之間信息傳遞的中轉(zhuǎn)站

②補(bǔ)償CPU與主存、外設(shè)之間操作速度的差別5.2指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無(wú)中斷請(qǐng)求若無(wú),則轉(zhuǎn)入下一條指令的執(zhí)行過程形成下一條指令地址指令的執(zhí)行過程取指令執(zhí)行指令

5.2指令周期

5.2.1指令周期的基本概念指令周期:取出一條指令并執(zhí)行該指令的時(shí)間機(jī)器周期:CPU同主存或外設(shè)進(jìn)行一次信息交換所需的時(shí)間─總線周期、CPU周期時(shí)鐘周期:CPU執(zhí)行一個(gè)微操作的最小時(shí)間單位─節(jié)拍周期、T周期三者關(guān)系:一個(gè)指令周期包含若干個(gè)CPU周期,一個(gè)CPU周期的功能由多個(gè)時(shí)鐘周期來(lái)完成

T周期CPU周期(取指令)CPU周期(執(zhí)行指令)指令周期定長(zhǎng)CPU周期組成的指令周期取指時(shí)間+執(zhí)行指令時(shí)間八進(jìn)制地址八進(jìn)制內(nèi)容助記符020021022023024…030031…040

250000030030021040000000140021..000006000040…存和數(shù)單元CLAADD30STA40NOPJMP21數(shù)據(jù)5條典型指令構(gòu)成的簡(jiǎn)單程序一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對(duì)指令譯碼執(zhí)行指令取下條指令PC+15.2.2CLA指令的指令周期取出CLA指令算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000執(zhí)行CLA指令5.2.3

ADD指令的指令周期

一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對(duì)指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個(gè)CPU周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并執(zhí)行ADD指令5.2.4

STA指令的指令周期

算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并執(zhí)行STA指令5.2.5NOP指令和JMP指令的指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并執(zhí)行JMP指令5.2.6用方框圖語(yǔ)言表示指令周期開始PCARABUSDBUSDRIRPC+1譯碼或測(cè)試CLAADDSTAJMPNOP0ACIRARIRARIRPCPCARRDWEARABUSDBUSDRDRALUALUACARABUSACDRDRDBUS例:下圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,M為主存(受R/W信號(hào)控制),ALU由加、減控制信號(hào)決定完成何種操作,控制信號(hào)G控制的是一個(gè)門電路。另外,線上標(biāo)注有小圈表示有控制信號(hào),如yi表示y寄存器的輸入控制信號(hào),R1o為寄存器R1的輸出控制信號(hào),未標(biāo)注字符的線為直通線,不受控制。(1)ADDR2,R0的功能為(R0)+(R2)R0,畫出指令周期流程圖,并列出相應(yīng)的微操作控制信號(hào)序列。(2)SUBR1,R3的功能為(R3)-(R1)R3,要求同上。A總線B總線雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路IRoIRiIRPCPCiPCoARARiR/WMDRDRiDRoR0R1R2R3yixiXYALU+_G控制器5.3時(shí)序產(chǎn)生器5.3.1多級(jí)時(shí)序的概念

(1)指令周期:在時(shí)序系統(tǒng)中通常不為指令周期設(shè)置時(shí)間標(biāo)志信號(hào),因而也不將其作為時(shí)序的一級(jí).(2)機(jī)器周期:設(shè)置一組周期狀態(tài)觸發(fā)器,以標(biāo)志不同的機(jī)器周期.任一時(shí)刻只允許其中的一個(gè)觸發(fā)器為1,表明CPU當(dāng)前處在哪個(gè)機(jī)器周期.(3)時(shí)鐘周期:一個(gè)時(shí)鐘周期內(nèi)完成一步基本操作.(4)時(shí)鐘脈沖信號(hào):作為時(shí)序系統(tǒng)的基本定時(shí)信號(hào).5.3.2多級(jí)時(shí)序信號(hào)之間的關(guān)系:

由于指令周期不作為時(shí)序的一級(jí),下圖反映了機(jī)器周期、時(shí)鐘周期、時(shí)鐘脈沖三級(jí)時(shí)序信號(hào)的關(guān)系。一個(gè)指令周期機(jī)器周期M1機(jī)器周期M2機(jī)器周期M3時(shí)鐘周期T1時(shí)鐘周期T2時(shí)鐘周期T3時(shí)鐘脈沖CLK三級(jí)時(shí)序信號(hào)間的關(guān)系一個(gè)時(shí)序系統(tǒng)的組成如圖所示:脈沖發(fā)生器節(jié)拍發(fā)生器周期狀態(tài)觸發(fā)器……脈沖源啟動(dòng)暫停M1M2T1T25.3.3時(shí)序系統(tǒng)的組成1.脈沖源:由石英晶體震蕩器及“與非門”組合的震蕩電路組成2.脈沖發(fā)生器:通常是一個(gè)環(huán)行脈沖發(fā)生器,采用循環(huán)移位寄存器的形式,產(chǎn)生一組有序的、間隔相等或不等的脈沖序列3.節(jié)拍發(fā)生器:按先后順序,循環(huán)地發(fā)出若干時(shí)鐘周期信號(hào),最后通過譯碼電路,產(chǎn)生最后所需的節(jié)拍脈沖,通常由計(jì)數(shù)譯碼器電路組成.4.周期狀態(tài)觸發(fā)器:產(chǎn)生電路與節(jié)拍發(fā)生器產(chǎn)生電路類似.5.啟停控制邏輯:控制時(shí)鐘系統(tǒng),只有當(dāng)啟動(dòng)機(jī)器運(yùn)行時(shí),才允許發(fā)出所需的時(shí)鐘脈沖,而且,由于機(jī)器的啟停是隨機(jī)的,必須考慮發(fā)出的脈沖是完整的.例:某時(shí)序產(chǎn)生器的主要邏輯電路如圖所示,φ為脈沖時(shí)鐘源輸出的方波脈沖,C1-C4為D觸發(fā)器,T1-T4為四個(gè)輸出的節(jié)拍脈沖.脈沖源23QQDCPC4CLRSRT4T1T2T3QQDCP+5VDCPQQC1C2C3QQDCPφφφT1-T4為四個(gè)輸出節(jié)拍脈沖,其譯碼邏輯表達(dá)式為:T1=C1*C2T2=C2*C3T3=C3T4=C112345678910CPU周期CPU周期T1T2T3T4C4C1C2C3φ

例:時(shí)序產(chǎn)生器需要在一個(gè)CPU周期中產(chǎn)生三個(gè)節(jié)拍脈沖信號(hào):T1(200ns),T2(400ns),T3(200ns),主脈沖源的頻率為5MHZ,請(qǐng)?jiān)O(shè)計(jì)時(shí)序邏輯電路(不考慮啟??刂?.脈沖源23QQDCPC4CLRSRT3QQDCP+5VDCPQQC1C2C3QQDCPφφT1-T3為四個(gè)輸出節(jié)拍脈沖,其譯碼邏輯表達(dá)式為:T1=C1*C2T2=C2T3=T1T2C112345678910CPU周期CPU周期T1T2T3C4C1C2C3φ200ns400ns200ns5.3.3控制器的控制方式1.同步控制方式(集中控制方式):對(duì)機(jī)器的所有指令采用統(tǒng)一的時(shí)序信號(hào).用相同數(shù)目的機(jī)器周期,相同數(shù)目的節(jié)拍脈沖來(lái)形成每條指令的控制操作序列.特點(diǎn):時(shí)序關(guān)系簡(jiǎn)單,但以犧牲速度為代價(jià).2.異步控制方式(分散控制方式):每條指令、每個(gè)微操作需要多少時(shí)間就占用多少時(shí)間,不采用統(tǒng)一的周期和節(jié)拍,時(shí)間上的銜接通過應(yīng)答通訊方式(握手方式)實(shí)現(xiàn).特點(diǎn):無(wú)時(shí)間浪費(fèi),但時(shí)序控制比較復(fù)雜.3.聯(lián)合控制方式:是同步控制與異步控制相結(jié)合.5.4硬布線控制器(組合邏輯控制器)與PLA控制器5.4.1組合邏輯控制器的設(shè)計(jì)步驟

1.根據(jù)CPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列.2.選擇合適的控制方式和控制時(shí)序.3.對(duì)微操作流程圖安排時(shí)序,排出微操作時(shí)間表.4.根據(jù)操作時(shí)間表寫出微操作的表達(dá)式,即微操作=周期*節(jié)拍*脈沖*指令碼*其它條件

5.根據(jù)微操作的表達(dá)式,畫出組合邏輯電路.組合邏輯控制器總框圖見下頁(yè).5.4.2組合邏輯控制器的設(shè)計(jì)舉例CPU結(jié)構(gòu)框圖如下圖所示,設(shè)計(jì)以下幾條指令的組合邏輯控制器.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ā)生器時(shí)鐘源……結(jié)果反饋信息…M1M2M3T1T4PIR中斷控制邏輯轉(zhuǎn)移地址+1RESET中斷信號(hào)微操作控制命令組合邏輯控制器總框圖ALU狀態(tài)寄存器ACPCAR指令譯碼器操作控制器存儲(chǔ)器…數(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)選二級(jí)時(shí)序由于以上指令均是單操作數(shù)指令,所以安排三個(gè)機(jī)器周期:取指周期FETCH、取數(shù)周期DOF、執(zhí)行周期EXEC。每個(gè)機(jī)器周期安排四個(gè)節(jié)拍T1、T2、T3和T4,時(shí)序見下圖所示。FETCHDOFEXECT1T3T4取指周期取數(shù)周期執(zhí)行周期指令周期CLK(4)為微操作序列安排時(shí)序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).操作時(shí)間表見下表:微操作

FETCHT1T2T3T4DOFEXECPCARR/W=1R/W=0MREQDRIR+1CIR(AR)DBUSALLALLALLALLALLT1T2T3T4CLA*ICLA*IT1T2T3T4ADD+LDAADD+LDASTASTACLACLA(5).操作時(shí)間表見下表:微操作

FETCHT1T2T3T4DOFEXECT1T2T3T4T1T2T3T4DBUSARDBUSDRDBUSPCDRALUDRACACDR+ALLADD+LDAJMPADDLDASTAADDADD+STA+LDA+JMP*I(ADD+STA+LDA)*IDRDBUSSTA(6).綜合微操作表達(dá)式如下: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指令譯碼器時(shí)序產(chǎn)生器組合邏輯控制器LDAADDSTALDAJMPIRIIR0IR11IR12IR13IR14IR15…FETCHDOFEXECT1T2T3T4PCARDBUSDRDBUSPC+微操作控制信號(hào)OPIARIR0IR11IR12IR13

IR14IR15譯碼器譯碼器…FETCHDOFEXEC時(shí)鐘系統(tǒng)節(jié)拍發(fā)生器>=&>=T1T2T4DBUSDRLDAADDI=0I=1微操作控制信號(hào)DBUSDR的邏輯表達(dá)式為:DBUSDR=FETCH*T3+EXEC*(ADD+LDA)*T2&微操作執(zhí)行邏輯示意圖T35.4.3組合邏輯控制器的特點(diǎn)優(yōu)點(diǎn):速度快,可用于速度要求較高的機(jī)器中.

缺點(diǎn):(1)缺乏規(guī)整性:將幾百個(gè)微操作的執(zhí)行邏輯組合在一起,構(gòu)成的微操作產(chǎn)生部件,是計(jì)算機(jī)中最復(fù)雜、最不規(guī)整的邏輯部件.不適合于指令復(fù)雜的機(jī)器.(2)缺乏靈活性:各微命令的實(shí)現(xiàn)是用硬連的邏輯電路完成,改動(dòng)不易,設(shè)計(jì)困難.5.4.4PLA控制器

PLA控制器的設(shè)計(jì)步驟(1)-(4)與組合邏輯控制器相同,只是實(shí)現(xiàn)方法不同,它采用PLA陣列(ProgrammedLogicArray).從設(shè)計(jì)思想來(lái)看是組合邏輯控制器,從實(shí)現(xiàn)方法來(lái)看,是存儲(chǔ)邏輯控制器.

特點(diǎn):可使雜亂無(wú)章的組合邏輯規(guī)整化、微型化,而且可以利用PLA的可編程特性,用存儲(chǔ)邏輯部分地取代組合邏輯,增加了一定的靈活性。

仍以DBUSDR=FETCH*T3+EXEC*(ADD+LDA)*T2為例,說(shuō)明用PLA實(shí)現(xiàn)執(zhí)行邏輯的原理。OR陣列每個(gè)交點(diǎn)FETCHEXECADDLDAT2T3DBUSDR用PLA實(shí)現(xiàn)執(zhí)行邏輯模型AND陣列每個(gè)交點(diǎn)+1例:CPU結(jié)構(gòu)圖如下所示,其中包括一個(gè)累加器AC、一個(gè)狀態(tài)寄存器和其它四個(gè)寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。

(1).標(biāo)明圖中四個(gè)寄存器的名稱.(2)簡(jiǎn)述取指令的數(shù)據(jù)通路.(3)簡(jiǎn)述完成指令LDAX的數(shù)據(jù)通路(X為內(nèi)存地址,LDA功能為(X)(AC)).(4)簡(jiǎn)述完成ADDY的數(shù)據(jù)通路(Y為內(nèi)存地址,ADD功能為(AC)+(Y)(AC)).(5)簡(jiǎn)述完成STAZ的數(shù)據(jù)通路(Z為內(nèi)存地址,STA功能為本(AC)(Z)).主存儲(chǔ)器MAACCD微操作控制器狀態(tài)寄存器B+1ALU解:A為數(shù)據(jù)緩沖寄存器MDR,B為指令寄存器IR,C為主存地址寄存器MAR,D為程序計(jì)數(shù)器PC.取指令的數(shù)據(jù)通路:PCMARMMMDRIR指令LDAX的數(shù)據(jù)通路:XMARMMMDRALUAC指令A(yù)DDY的數(shù)據(jù)通路:YMARMMMDRALUADDAC指令STAZ的數(shù)據(jù)通路:ZMAR,ACMDRMM5.5微程序控制器

5.5.1微程序控制器的組成和基本原理

假設(shè)CPU結(jié)構(gòu)圖同5.4,以加法ADDID為例.它由五條微指令解釋執(zhí)行.圖中每個(gè)小方框代表一條微指令,框內(nèi)為該微指令的全部微命令,框外右上角標(biāo)明該微指令在存控的地址.微指令格式如下:ADDR,DBUSARPCARR,+1DBUSDRDRIRIR(AR)DBUSDBUSARR,DBUSDRIR12=1IR12=0DRALU,+000000000100110001010010000011….1216判別測(cè)試字段下址字段PCARDBUSDR控制字段順序控制字段

5.5微程序控制器后續(xù)微地址形成電路微地址寄存器地址譯碼驅(qū)動(dòng)機(jī)器指令寄存器IR主存儲(chǔ)器器RAM譯碼微操作控制字段順序控制字段…………….控制存儲(chǔ)器ROM微程序控制器原理框圖……微命令寄存器微命令轉(zhuǎn)移地址來(lái)源運(yùn)行狀態(tài)……指令操作碼

5.5微程序控制器

5.5.2微程序控制的基本概念

1.微命令與微操作微命令:構(gòu)成控制信號(hào)序列的最小單位。微操作:控制器中執(zhí)行部件接受微指令后所進(jìn)行的操作。

2.微指令和微程序微指令:在機(jī)器的一個(gè)節(jié)拍中,一組實(shí)現(xiàn)一定操作功能的微命令,或者說(shuō),控制存儲(chǔ)器中每個(gè)單元存放的微命令信息組成一條微指令.

微程序:由微指令組成的序列稱為微程序,一個(gè)微程序的功能對(duì)應(yīng)一條機(jī)器指令的功能.3.機(jī)器指令與微指令

機(jī)器指令指提供給使用者編成的基本單位,每一條指令可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作.

一條機(jī)器指令對(duì)應(yīng)一組微指令組成的微程序.可見,一條機(jī)器指令對(duì)應(yīng)多條微指令,而一條微指令可為多個(gè)機(jī)器指令服務(wù).4.控制存儲(chǔ)器CM(ControlMemory):用于存放全部指令的所有微程序,采用只讀存儲(chǔ)器結(jié)構(gòu)(固化).控制存儲(chǔ)器的字長(zhǎng)等于微指令的長(zhǎng)度,其總?cè)萘繘Q定于所有微程序的總長(zhǎng)度.

例:已知某計(jì)算機(jī)有80條指令,平均每條指令由12條微指令組成,其中有一條取指微指令是所有指令共用的,設(shè)微指令長(zhǎng)度為32位,計(jì)算CM容量.

解:微指令所占的二進(jìn)制位數(shù)=(12+79*11)*32=881*32

所以,CM容量可選1K*32另見教材P.210第6題.

5.微指令周期:從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行這條微指令所需的時(shí)間,通常一個(gè)微指令周期與一個(gè)CPU周期的時(shí)間相等.微指令中的微命令可以用節(jié)拍脈沖來(lái)同步定時(shí).有多個(gè)同步節(jié)拍脈沖的微周期,稱為多周期.微周期子周期T1T2T3T4多周期節(jié)拍脈沖T1T2T3T4T1T2T3T4讀微指令執(zhí)行微指令微指令周期CPU周期

CPU周期與微指令周期的關(guān)系5.6微程序設(shè)計(jì)技術(shù)

5.6.1微命令編碼對(duì)微指令中的操作控制字段采用的表示方法.1.直接表示法(不譯法):將微指令操作控制字段的每個(gè)二進(jìn)制位定義為一個(gè)微命令,直接送往相應(yīng)的控制點(diǎn).2.字段直接譯碼法:將微指令的控制字段分為若干小字段,把相斥性微命令組合在同一字段中,而相容性微命令組合在不同的字段中,然后通過小組譯碼器對(duì)每一個(gè)微命令信號(hào)進(jìn)行譯碼.

微命令編碼:……譯碼譯碼譯碼……………微命令微命令微命令微命令字段順序控制字段微指令寄存器字段直接譯碼法

3.混合表示法:直接表示法和字段直接譯碼法的混合使用.5.6.2微程序執(zhí)行順序的控制

1.計(jì)數(shù)器方式:順序執(zhí)行微指令時(shí),后續(xù)微指令地址由現(xiàn)行微指令地址加一個(gè)增量(通常為1)而形成;遇到轉(zhuǎn)移時(shí),由轉(zhuǎn)移微指令給出轉(zhuǎn)移微地址使微地址按新的方式執(zhí)行.

轉(zhuǎn)移微指令的一般格式簡(jiǎn)化如下:操作碼

轉(zhuǎn)移地址轉(zhuǎn)移控制例:CPU數(shù)據(jù)通路同5.4硬布線控制器.圖中共有16條微指令,再增加一些轉(zhuǎn)移微指令,,地址為6位.圖中有兩種轉(zhuǎn)移情況,用P1、P2來(lái)控制,轉(zhuǎn)移微指令格式為:轉(zhuǎn)移微指令標(biāo)志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)移邏輯表達(dá)式為:μPC5=IR15P1T2μPC4=IR14P1T2μPC3=IR13P1T2

μPC0=IR12P2T20000000001000100000000T=1000100

計(jì)數(shù)器法的微程序控制器組成框圖如下:IR指令寄存器微地址轉(zhuǎn)移邏輯微程序計(jì)數(shù)器μPCCM微指令寄存器μIRTP1P2時(shí)序微指令譯碼器IR15IR14IR13IR12μPC5μPC4μPC3μPC0PCAR……ACDR微操作命令P2P1P1P2T1T2說(shuō)明:當(dāng)T=0時(shí),微指令寄存器μIR輸出微操作命令;當(dāng)T=1時(shí),微指令寄存器μIR輸出微轉(zhuǎn)移指令.T1和T2用于定時(shí)一條微指令中的微命令;另外,T1=1時(shí),將轉(zhuǎn)移地址送μPC,T2=1時(shí),如果P1+P2=1,則修改μPCT22.多路轉(zhuǎn)移方式(下址字段法/斷定法):當(dāng)微程序不產(chǎn)生分支時(shí),后續(xù)微指令地址由微指令的順序字段給出;否則有若干個(gè)后續(xù)地址可以選擇,此時(shí)必須由順序控制字段的“判別測(cè)試”和“狀態(tài)條件”信息來(lái)選擇其中一個(gè)微地址.

微指令格式如下:其微程序組成原理圖如下:微命令字段判別測(cè)試字段(P字段)下地址字段操作控制順序控制控制存儲(chǔ)器地址譯碼微地址寄存器地址轉(zhuǎn)移邏輯P字段控制字段…OPIR…狀態(tài)條件其中:微地址寄存器對(duì)應(yīng)下地址字段,P字段即為判別測(cè)試字段,控制字段即為微命令字段,后兩部分組成微指令字段.例:已知MOV,ADD,COM,ADT四條指令微程序流程圖如下所示:0000RSRDRSRDR2+R1R2R2+R3R2R2-R3R2P(1)P(2)RS+RDRDMOVADDCOMADT10000000100100001010000010111111000000100000Ci=1Ci=0

(1)P(1)的條件碼是指令寄存器的OP字段,即IR7和IR6,P(2)的條件碼是進(jìn)位寄存器Cj,請(qǐng)?jiān)O(shè)計(jì)出微程序控制器地址轉(zhuǎn)移邏輯圖.(2)現(xiàn)設(shè)定控制存儲(chǔ)器EPROM容量為16個(gè)單元,其字長(zhǎng)符合微指令格式要求.請(qǐng)給出微程序流程圖中每條微指令的當(dāng)前微地址與下一微地址.1000

解:(1)從流程圖可以看出,P(1)處微程序出現(xiàn)四個(gè)分支,對(duì)應(yīng)四個(gè)微地址,因此用OP碼修改微地址寄存器的最后兩個(gè)觸發(fā)器即可;在P(2)處微程序出現(xiàn)2路分支,對(duì)應(yīng)兩個(gè)微地址.轉(zhuǎn)移邏輯表達(dá)式如下:

μA0=P1*T4*IR6μA1=P1*T4*IR7μA2=P2*T4*Ci微地址轉(zhuǎn)移邏輯電路如下:QDQA3μQQDμA2QQμA1QQμA0T1CM3CM2CM1CM0T4P2CiP1IR7P1IR6S解:因?yàn)镋PROM容量為16單元,微地址寄存器4位即可,設(shè)為,七條微指令地址分配如下表所示μA3-μA0微指令序號(hào)當(dāng)前微地址下一微地址12345670000100010011010

10111111010010000000000000001111000000005.6.3微指令格式

1.水平型微指令:在一個(gè)CPU周期(即微周期)內(nèi)同時(shí)給出多個(gè)能并行操作的微命令的微指令,均稱為水平型微指令.其格式為:操作控制字段判別測(cè)試字段下址字段提供微命令提供下一條微指令的地址2.垂直型微指令:采用完全編碼方法,將全部微命令代碼化.其格式為:微操作碼字段源部件地址字段目的部件地址字段下址字段3.水平型微指令與垂直型微指令的比較:*水平型微指令并行操作能力強(qiáng)*水平型微指令執(zhí)行一條指令的時(shí)間短*由水平型微指令解釋指令的微程序,有微指令字長(zhǎng),而微程序短的特點(diǎn),垂直型微指令則相反.*水平型微指令用戶難以掌握例:(P210.11)已知某機(jī)采用微程序控制方式,控存容量為512*48位.微程序可在整個(gè)控存中實(shí)現(xiàn)轉(zhuǎn)移,控制微程序轉(zhuǎn)移的條件共有4個(gè),微指令采用水平型微指令,后繼微指令地址采用斷定方式.請(qǐng)問:(1)微指令的三個(gè)字段分別應(yīng)為多少位?(2)畫出對(duì)應(yīng)這種微指令格式的微程序控制器邏輯.

解:微指令格式為:

微命令字段判別測(cè)試字段下地址字段操作控制順序控制假設(shè)判別測(cè)試字段中每一位作為一個(gè)判別標(biāo)志,那末由于有4個(gè)轉(zhuǎn)移條件,故該字段為4位.下地址字段為9位,因?yàn)榭卮嫒萘繛?12單元.微命令字段則是(48-4-9)=35位.對(duì)應(yīng)上述微指令格式的微程序控制器邏輯框圖見P175圖5.24例:(P210.10)某計(jì)算機(jī)有如下部件:ALU,移位器,主存M,主存數(shù)據(jù)寄存器MBR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0-R3,暫存器C和D.(1)請(qǐng)將各邏輯部件組成一個(gè)數(shù)據(jù)通路,并標(biāo)明數(shù)據(jù)流動(dòng)方向.(2)畫出“ADD(R1),(R2)+”指令的指令周期流動(dòng)圖,指令的含義是進(jìn)行求和操作,源操作數(shù)地址在寄存器R1中,目的操作數(shù)尋址方式為自增型寄存器間址方式.解:移位器IRPCCDR0R1R2R3MBRMARMALU+1AB+1MMBRIR,PC+1R

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論