版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中央處理器微程序控制器詳解演示文稿當(dāng)前第1頁\共有67頁\編于星期三\20點(diǎn)(優(yōu)選)中央處理器微程序控制器當(dāng)前第2頁\共有67頁\編于星期三\20點(diǎn)DR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACLALBSHPSWIRPCSPGPRGPRARAB內(nèi)部總線內(nèi)部總線1.控制器程序計(jì)數(shù)器PC指令寄存器IR指令譯碼器時(shí)序發(fā)生器操作控制器功能是負(fù)責(zé)協(xié)調(diào)與控制整個(gè)計(jì)算機(jī)系統(tǒng)的操作。控制器的結(jié)構(gòu)可分為硬布線控制器和微程序控制器兩種。ALU5.1.2CPU的組成由兩個(gè)主要部分組成:控制器與運(yùn)算器當(dāng)前第3頁\共有67頁\編于星期三\20點(diǎn)MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR2.運(yùn)算器通用寄存器組GPR算術(shù)邏輯單元ALU累加寄存器AC程序狀態(tài)字寄存器PSW數(shù)據(jù)暫存器LA、LB移位器SH功能是執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算。5.1.2CPU的組成當(dāng)前第4頁\共有67頁\編于星期三\20點(diǎn)MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR5.1.3內(nèi)部寄存器組1.通用寄存器GPR(GeneralPurposeRegister)
可用于存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等。當(dāng)前第5頁\共有67頁\編于星期三\20點(diǎn)MBR譯碼器時(shí)序與控制DBCB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR2.專用寄存器SPR
(1)程序計(jì)數(shù)器PC(ProgramCounter)
存放下一條要執(zhí)行的指令的地址,控制指令的執(zhí)行順序。(2)指令寄存器IR(InstructionRegister)
存放正在執(zhí)行的指令代碼。
(3)堆棧指示器SP(StackPointer)
存放堆棧棧頂?shù)闹羔槷?dāng)前第6頁\共有67頁\編于星期三\20點(diǎn)MBR譯碼器時(shí)序與控制內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMAR內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR數(shù)據(jù)緩沖寄存器DR:存放CPU與主存或外設(shè)交換的信息地址緩沖寄存器AR:存放CPU向主存或外設(shè)發(fā)送的地址DBCBAB5.1.4CPU與外部總線接口當(dāng)前第7頁\共有67頁\編于星期三\20點(diǎn)MBR譯碼器時(shí)序與控制DB內(nèi)部控制線內(nèi)部控制線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼器時(shí)序與控制PCSPGPRGPRAR①作為CPU與主存、外設(shè)之間信息傳遞的中轉(zhuǎn)站
②補(bǔ)償CPU與主存、外設(shè)之間操作速度的差別5.1.4緩沖寄存器的作用CB當(dāng)前第8頁\共有67頁\編于星期三\20點(diǎn)5.1.5數(shù)據(jù)通路把寄存器與運(yùn)算器之間傳遞信息的線路稱為“數(shù)據(jù)通路”
1.用數(shù)據(jù)總線:在各寄存器以及ALU之間建立一條或者幾條數(shù)據(jù)總線,寄存器間的數(shù)據(jù)傳輸通過這些總線完成。如下圖所示。
2.用專用的通路:在各寄存器與ALU之間建立專用的數(shù)據(jù)傳輸與接收通路。在RISC處理器中都采用專用通路結(jié)構(gòu),便于運(yùn)算的并行進(jìn)行。當(dāng)前第9頁\共有67頁\編于星期三\20點(diǎn)指令譯碼/控制器控制信號(hào)IRPCMARMDRR0RN-1YALUPSWSHAB存儲(chǔ)器ABUSDBUS單總線CPU的結(jié)構(gòu)控制信號(hào)包括:
R0out:R0的輸出控制
R0in:R0的輸入控制
R1out:R1的輸出控制
R1in:R1的輸入控制
Yin:Y的輸入控制
IRin:IR的輸入控制
IRout:IR的輸出控制
PCin:PC的輸入控制
PCout:PC的輸出控制
PC+1:PC計(jì)數(shù)更新控制
……當(dāng)前第10頁\共有67頁\編于星期三\20點(diǎn)例:CPU的結(jié)構(gòu)如下圖所示。其中AC為累加器,PSW為狀態(tài)寄存器,另外還有4個(gè)寄存器。各部件之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳遞的方向。要求:(1)標(biāo)明4個(gè)寄存器的名稱。(2)說明指令從主存取到控制器的數(shù)據(jù)通路。(3)說明數(shù)據(jù)在運(yùn)算器和主存之間進(jìn)行存/取時(shí)的數(shù)據(jù)通路。PSWALUACa存儲(chǔ)器M操作控制器dcbCPU結(jié)構(gòu)示意圖+1CPU當(dāng)前第11頁\共有67頁\編于星期三\20點(diǎn)PSWALUACa存儲(chǔ)器M操作控制器dcbCPU結(jié)構(gòu)示意圖+1CPUMDRMARPCIR解:當(dāng)前第12頁\共有67頁\編于星期三\20點(diǎn)例:CPU結(jié)構(gòu)圖如下所示,其中包括一個(gè)累加器AC、一個(gè)狀態(tài)寄存器和其它四個(gè)寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。(1).標(biāo)明圖中四個(gè)寄存器的名稱。(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)。主存儲(chǔ)器MAACCD微操作控制器狀態(tài)寄存器B+1ALU當(dāng)前第13頁\共有67頁\編于星期三\20點(diǎn)解:(1)A為數(shù)據(jù)緩沖寄存器MDRB為指令寄存器IRC為主存地址寄存器MARD為程序計(jì)數(shù)器PC(2)取指令的數(shù)據(jù)通路:PC→MAR→MM→MDR→IR(3)指令LDAX的數(shù)據(jù)通路:X→MAR→MM→MDR→ALU→AC(4)指令A(yù)DDY的數(shù)據(jù)通路:Y→MAR→MM→MDR→ALU→ADD→AC(5)指令STA
Z的數(shù)據(jù)通路:Z→MAR,AC→MDR→MM當(dāng)前第14頁\共有67頁\編于星期三\20點(diǎn)5.2指令周期
指令周期的基本概念指令周期:取出一條指令并執(zhí)行該指令的時(shí)間CPU周期(機(jī)器周期、總線周期):CPU同主存或外設(shè)進(jìn)行一次信息交換所需的最短時(shí)間時(shí)鐘周期(節(jié)拍周期、T周期):CPU執(zhí)行一個(gè)微操作的最小時(shí)間單位三者關(guān)系:一個(gè)指令周期包含若干個(gè)CPU周期,一個(gè)CPU周期的功能由多個(gè)時(shí)鐘周期來完成T周期CPU周期(取指令)CPU周期(執(zhí)行指令)指令周期定長CPU周期組成的指令周期當(dāng)前第15頁\共有67頁\編于星期三\20點(diǎn)CLAADD30STA40NOPJMP21指令舉例;使累加器AC清零;AC←AC+(30);(40)←AC;空操作;程序跳轉(zhuǎn)到地址為21處當(dāng)前第16頁\共有67頁\編于星期三\20點(diǎn)八進(jìn)制地址八進(jìn)制內(nèi)容助記符020021022023024…030031…040250000021040140021..000006000040…存和數(shù)單元CLASTA40JMP21數(shù)據(jù)5.2.2CLA指令的指令周期CLA是一條非訪內(nèi)指令,需要兩個(gè)CPU周期。即分別進(jìn)行取指令和執(zhí)行指令。AC←0NOPADD30030030000000當(dāng)前第17頁\共有67頁\編于星期三\20點(diǎn)ALU000020000020IRDR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋CLAADD30STA40NOPJMP21..000006202122232430…+1PCARABUSDBUSAC(1)PCAR(2)PC+1(3)ARABUS(4)DBUSDR(5)DRIR(6)譯碼運(yùn)行指令取CLA指令當(dāng)前第18頁\共有67頁\編于星期三\20點(diǎn)ALU000020000020IRDR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋CLAADD30STA40NOPJMP21..000006202122232430…+1PCARABUSDBUSAC(1)PCAR(2)PC+1(3)ARABUS(4)DBUSDR(5)DRIR(6)譯碼運(yùn)行指令執(zhí)行CLA指令(1)清AC000000(2)控制命令當(dāng)前第19頁\共有67頁\編于星期三\20點(diǎn)ALU000000000022000030IRADD30DR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋CLAADD30STA40NOPJMP21..000006202122232430…+1PCARABUSDBUSAC5.2.3ADD指令的指令周期
(第一個(gè)CPU周期取指令和CLA一樣)(第二個(gè)CPU周期--送操作數(shù)地址)(1)IRAR當(dāng)前第20頁\共有67頁\編于星期三\20點(diǎn)ALU000000000022000030IR000006DR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋CLAADD30STA40NOPJMP21..000006202122232430…+1PCARABUSDBUSAC5.2.3ADD指令的指令周期(第三個(gè)CPU周期:兩操作數(shù)相加)(1)ARABUS(2)DBUSDR(3)DRALU(3)AC
ALU(4)ALUAC當(dāng)前第21頁\共有67頁\編于星期三\20點(diǎn)在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可以采用方框圖語言來表示一條指令的指令周期。方框
代表一個(gè)CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。菱形通常用來表示某種判別或測試,不過時(shí)間上它依附于緊接它的前面一個(gè)方框的CPU周期,而不單獨(dú)占用一個(gè)CPU周期。公操作一條指令執(zhí)行完畢后,CPU所開始進(jìn)行的一些操作,如:中斷處理等。指令STA、NOP和JMP的指令周期P162自學(xué)5.2.6用方框圖語言表示指令周期當(dāng)前第22頁\共有67頁\編于星期三\20點(diǎn)5.2.6用方框圖語言表示指令周期開始PCARABUSDBUSDRIRPC+1譯碼或測試CLAADDSTAJMPNOP0ACIRARIRARIRPCRDWEARABUSDBUSDRDRALUALUACARABUSACDRDRDBUS取指令動(dòng)作依附于前面一個(gè)方框的CPU周期內(nèi)存讀命令當(dāng)前第23頁\共有67頁\編于星期三\20點(diǎn)例:P166頁下圖所示為雙總線結(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控制器自增功能R3oR3i當(dāng)前第24頁\共有67頁\編于星期三\20點(diǎn)5.3時(shí)序產(chǎn)生器CPU中一個(gè)類似“作息時(shí)間”的東西,使計(jì)算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。機(jī)器一旦被啟動(dòng),即CPU開始取指令并執(zhí)行指令時(shí),操作控制器就利用定時(shí)脈沖的順序和不同的脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作,規(guī)定在這個(gè)脈沖到來時(shí)做什么,在那個(gè)脈沖到來時(shí)又做什么,給計(jì)算機(jī)各部分提供工作所需的時(shí)間標(biāo)志。為此,需要采用多級(jí)時(shí)序體制。當(dāng)前第25頁\共有67頁\編于星期三\20點(diǎn)從時(shí)間上來說,取指令事件發(fā)生在指令周期的第一個(gè)CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)CPU周期中,即發(fā)生在“執(zhí)行指令”階段。從空間上來說,如果取出的代碼是指令,那么一定送往指令寄存器,如果取出的代碼是數(shù)據(jù),那么一定送往運(yùn)算器。由此可見,時(shí)間控制對(duì)計(jì)算機(jī)來說是太重要了。[思考]用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識(shí)別出它們是數(shù)據(jù)還是指令呢?當(dāng)前第26頁\共有67頁\編于星期三\20點(diǎn)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)。硬布線控制器中,時(shí)序信號(hào)往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級(jí)體制。在微程序控制器中,時(shí)序信號(hào)比較簡單,一般采用節(jié)拍電位-節(jié)拍脈沖二級(jí)體制。當(dāng)前第27頁\共有67頁\編于星期三\20點(diǎn)一個(gè)指令周期機(jī)器周期M1機(jī)器周期M2機(jī)器周期M3時(shí)鐘周期T1時(shí)鐘周期T2時(shí)鐘周期T3時(shí)鐘脈沖CLK多級(jí)時(shí)序信號(hào)之間的關(guān)系:
由于指令周期不作為時(shí)序的一級(jí),下圖反映了機(jī)器周期、時(shí)鐘周期、時(shí)鐘脈沖三級(jí)時(shí)序信號(hào)的關(guān)系。當(dāng)前第28頁\共有67頁\編于星期三\20點(diǎ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ā)出的脈沖是完整的。機(jī)器周期時(shí)鐘周期時(shí)鐘脈沖當(dāng)前第29頁\共有67頁\編于星期三\20點(diǎn)例:P169某時(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=C1當(dāng)前第30頁\共有67頁\編于星期三\20點(diǎn)12345678910CPU周期CPU周期T1T2T3T4C4C1C2C3φ時(shí)鐘周期脈沖循環(huán)移位當(dāng)前第31頁\共有67頁\編于星期三\20點(diǎn)啟??刂七壿嫯?dāng)計(jì)算機(jī)啟動(dòng)時(shí),一定要從第一個(gè)節(jié)拍脈沖前沿開始工作,而在停機(jī)時(shí),一定要在第四個(gè)節(jié)拍脈沖結(jié)束后關(guān)閉時(shí)序產(chǎn)生器。只有這樣,才能使送出去的脈沖都是完整的的脈沖。=0=0T4的上沿就是T1的上沿時(shí)刻=1啟動(dòng)=0停機(jī)當(dāng)前第32頁\共有67頁\編于星期三\20點(diǎn)啟停控制邏輯當(dāng)前第33頁\共有67頁\編于星期三\20點(diǎn)
例:時(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=T1T2C1當(dāng)前第34頁\共有67頁\編于星期三\20點(diǎn)12345678910CPU周期CPU周期T1T2T3C4C1C2C3φ200ns400ns200ns當(dāng)前第35頁\共有67頁\編于星期三\20點(diǎn)5.3.3控制器的時(shí)序控制方式1.同步控制方式(集中控制方式):對(duì)機(jī)器的所有指令采用統(tǒng)一的時(shí)序信號(hào)。用相同數(shù)目的機(jī)器周期,相同數(shù)目的節(jié)拍脈沖來形成每條指令的控制操作序列。
特點(diǎn):時(shí)序關(guān)系簡單,但以犧牲速度為代價(jià)。2.異步控制方式(分散控制方式):每條指令、每個(gè)微操作需要多少時(shí)間就占用多少時(shí)間,不采用統(tǒng)一的周期和節(jié)拍,時(shí)間上的銜接通過應(yīng)答方式(握手方式)實(shí)現(xiàn)。
特點(diǎn):無時(shí)間浪費(fèi),但時(shí)序控制比較復(fù)雜。3.聯(lián)合控制方式:是同步控制與異步控制相結(jié)合。情況(1)大部分操作序列安排在固定的機(jī)器周期中,對(duì)某些時(shí)間難以確定的操作則以執(zhí)行部件的“回答”信號(hào)作為本次操作的結(jié)束;
情況(2)機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。當(dāng)前第36頁\共有67頁\編于星期三\20點(diǎn)5.5微程序控制器
5.5.1微程序控制器的組成和基本原理指令的執(zhí)行有很強(qiáng)的階段性,把控制信號(hào)以二進(jìn)制的編碼形式存入存儲(chǔ)器,然后按順序一條一條的讀出,一條一條的控制,最終完成一條指令的執(zhí)行,這就是微程序控制的思想。簡單來講就是控制信號(hào)的軟件化。微程序控制的思想是英國劍橋大學(xué)WILKES教授1951年提出的。微程序控制是將程序設(shè)計(jì)的思想引入硬件邏輯控制,把控制信號(hào)編碼并有效地存儲(chǔ)起來,將一條指令的執(zhí)行過程替換成一條條微指令的讀出和控制過程,簡化了控制器的設(shè)計(jì)。缺點(diǎn):每一條指令的執(zhí)行意味著若干次存儲(chǔ)器的讀操作,使指令的執(zhí)行速度比組合邏輯方式要慢。當(dāng)前第37頁\共有67頁\編于星期三\20點(diǎn)ALU狀態(tài)寄存器PSWACPCAR指令譯碼器操作控制器存儲(chǔ)器…數(shù)據(jù)總線OPIR(AR)+1PCARMREQR/WDBUSARDBUSPCCDRACACDRDRALUIRDRDRIRIR(AR)DBUS+_DBUSDRDRDBUS…CPU結(jié)構(gòu)示意圖ALUDR當(dāng)前第38頁\共有67頁\編于星期三\20點(diǎn)5.5.2微程序控制的基本概念
1.微命令與微操作
微命令:構(gòu)成控制信號(hào)序列的最小單位,如:PCAR。
微操作:由微命令控制實(shí)現(xiàn)的最基本的操作。2.微指令和微程序
微指令:在機(jī)器的一個(gè)節(jié)拍中,一組實(shí)現(xiàn)一定操作功能的微命令,或者說,控制存儲(chǔ)器中每個(gè)單元存放的微命令信息(一串2進(jìn)制編碼)組成一條微指令。
微程序:由微指令組成的序列稱為微程序,一個(gè)微程序的功能對(duì)應(yīng)一條機(jī)器指令的功能。當(dāng)前第39頁\共有67頁\編于星期三\20點(diǎn)3.機(jī)器指令:指提供給使用者編程的基本單位,每一條機(jī)器指令可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作。一條機(jī)器指令對(duì)應(yīng)一組微指令組成的微程序。一條微指令可為多個(gè)機(jī)器指令服務(wù)。
4.控制存儲(chǔ)器CM(ControlMemory)用于存放全部指令的所有微程序,采用只讀存儲(chǔ)器結(jié)構(gòu)(固化)??刂拼鎯?chǔ)器的字長等于微指令的長度,其總?cè)萘繘Q定于所有微程序的總長度。當(dāng)前第40頁\共有67頁\編于星期三\20點(diǎn)已知某計(jì)算機(jī)有80條指令,平均每條指令由12條微指令組成,其中有一條取指微指令是所有指令共用的,設(shè)微指令長度為32位,計(jì)算CM容量。
解:微指令所占的二進(jìn)制位數(shù)=(1+80*(12-1))*32=881*32所以,CM容量可選1K*32(>881*32)
例:P.210第6題當(dāng)前第41頁\共有67頁\編于星期三\20點(diǎn)
5.微指令周期:從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行這條微指令所需的時(shí)間,通常一個(gè)微指令周期與一個(gè)CPU周期的時(shí)間相等。微指令中的微命令可以用節(jié)拍脈沖來同步定時(shí)。有多個(gè)同步節(jié)拍脈沖的微周期,稱為多周期。微周期子周期T1T2T3T4多周期節(jié)拍脈沖T1T2T3T4T1T2T3T4讀微指令執(zhí)行微指令微指令周期CPU周期周期之間的關(guān)系指令周期CPU周期當(dāng)前第42頁\共有67頁\編于星期三\20點(diǎn)微程序的執(zhí)行過程(四個(gè)過程)1、取微指令階段由于任何指令的執(zhí)行都是從取微指令開始的,所以是公操作,與所有指令對(duì)應(yīng)的微程序的首地址都相同,都是從CM的固定單元取出第一條用于取指令的微指令。2、取數(shù)階段根據(jù)尋址方式,確定微程序的流向。當(dāng)前第43頁\共有67頁\編于星期三\20點(diǎn)3、執(zhí)行階段根據(jù)操作碼確定各自執(zhí)行階段微程序的入口4、微程序的最后一條微指令的次地址字段指向CM的取指令單元,又開始了下一段微程序的執(zhí)行。微程序的執(zhí)行過程(四個(gè)過程)當(dāng)前第44頁\共有67頁\編于星期三\20點(diǎn)5.6微程序設(shè)計(jì)技術(shù)5.6.1微命令的編碼方式微命令編碼:對(duì)微指令中的操作控制字段采用的表示方法。1.直接表示法(不譯碼法):將微指令操作控制字段的每個(gè)二進(jìn)制位定義為一個(gè)微命令,直接送往相應(yīng)的控制點(diǎn)?!⒚钗⒚钭侄雾樞蚩刂谱侄挝⒅噶罴拇嫫魑⒅噶町?dāng)前第45頁\共有67頁\編于星期三\20點(diǎn)5.6.1微命令的編碼方式2.字段直接譯碼法:將微指令的控制字段分為若干小字段,把相斥性微命令組合在同一字段中,而相容性微命令組合在不同的字段中,然后通過小組譯碼器對(duì)每一個(gè)微命令信號(hào)進(jìn)行譯碼。……譯碼譯碼譯碼……………微命令微命令微命令微命令字段順序控制字段微指令寄存器3.混合表示法:直接表示法和字段直接譯碼法的混合使用。當(dāng)前第46頁\共有67頁\編于星期三\20點(diǎn)假設(shè)CPU結(jié)構(gòu)見下頁,以ADDID為例。它由五條微指令解釋執(zhí)行。圖中每個(gè)小方框代表一條微指令,框內(nèi)為該微指令的全部微命令,框外右上角標(biāo)明該微指令在控存的地址。微指令格式如下:ADDR,DBUSARPCARR,+1DBUSDRDRIRIR(AR)DBUSDBUSARR,DBUSDRIR12=1IR12=0DRALU,+000000000100110001010010000011….1216判別測試字段下址字段PCARDBUSDR控制字段順序控制字段ADDID;I=0為直接尋址,即(AC)+(D)AC;I=1為間接尋址,即(AC)+((D))AC5.6.2微程序執(zhí)行順序的控制(微地址產(chǎn)生方式)方框圖表示機(jī)器指令周期當(dāng)前第47頁\共有67頁\編于星期三\20點(diǎn)ALU狀態(tài)寄存器PSWACPCAR指令譯碼器操作控制器存儲(chǔ)器…數(shù)據(jù)總線OPIR(AR)+1PCARMREQR/WDBUSARDBUSPCCDRACACDRDRALUIRDRDRIRIR(AR)DBUS+_DBUSDRDRDBUS…CPU結(jié)構(gòu)示意圖ALUAC當(dāng)前第48頁\共有67頁\編于星期三\20點(diǎn)譯碼器工作原理框圖微地址形成電路微地址寄存器μAR地址譯碼驅(qū)動(dòng)機(jī)器指令寄存器IR主存儲(chǔ)器器RAM譯碼微操作控制字段順序控制P字段…………….控制存儲(chǔ)器CM(ROM)……微命令寄存器μIR微命令轉(zhuǎn)移地址來源運(yùn)行狀態(tài)PSW……指令操作碼……R當(dāng)前第49頁\共有67頁\編于星期三\20點(diǎn)1.計(jì)數(shù)器方式:順序執(zhí)行微指令時(shí),后續(xù)微指令地址由現(xiàn)行微指令地址加一個(gè)增量(通常為1)而形成;遇到轉(zhuǎn)移時(shí),由轉(zhuǎn)移微指令給出轉(zhuǎn)移微地址使微地址按新的方式執(zhí)行。故:順序執(zhí)行的微指令序列必須安排在控制存儲(chǔ)器的連續(xù)的單元中。轉(zhuǎn)移微指令的一般格式簡化如下:
操作碼轉(zhuǎn)移地址轉(zhuǎn)移控制5.6.2微程序執(zhí)行順序的控制(微地址產(chǎn)生方式)當(dāng)前第50頁\共有67頁\編于星期三\20點(diǎn)PCARR,+1DBUSDRDRIRT=1000011P1=1(IR15IR14IR13=000)CCLA000011IR(AR)DBUSDBUSAR001011ADDT=1001110P2=1R,DBUSARR,DBUSDRDRALU,+T=1000000P1=0P2=0001100IR12=1001110IR12=0001111010000010001IR(AR)DBUSDBUSART=1010110P2=1R,DBUSARACDRDRDBUSWT=1000000P1=0P2=0010011STA010100IR12=1010110010111011000LDAJMP地址轉(zhuǎn)移邏輯表達(dá)式為:μPC5=IR15P1T2μPC4=IR14P1T2μPC3=IR13P1T2μPC0=IR12P2T200000000000100001000000000T=1000100(001)(010)(011)(100)IR12=0微程序設(shè)計(jì)IR(AR)DBUSDBUSARR,DBUSDR
DRACT=1011110P2=1IR12=1R,DBUSARIR12=0T=1000000P1=0P2=0011011011100011110011111100000100001…當(dāng)前第51頁\共有67頁\編于星期三\20點(diǎn)轉(zhuǎn)移微指令,地址為6位。圖中有兩種轉(zhuǎn)移情況,用P1、P2來控制,轉(zhuǎn)移微指令格式為:轉(zhuǎn)移微指令標(biāo)志T轉(zhuǎn)移地址(A5A4A3A2A1A0)轉(zhuǎn)移控制P1P2轉(zhuǎn)移地址修改方案為:
μPC5μPC4μPC3μPC2μPC1μPC0IR15IR14IR13IR12P1=1P2=1當(dāng)前第52頁\共有67頁\編于星期三\20點(diǎn)計(jì)數(shù)器法的微程序控制器組成如下:IR指令寄存器微地址轉(zhuǎn)移邏輯微程序計(jì)數(shù)器μPCCM微指令寄存器μIRTP1P2時(shí)序微指令譯碼器IR15IR14IR13IR12μPC5μPC4μPC3PCAR……ACDR微操作命令P2P1P1P2T1T2說明:當(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,則修改μPCT2……μPC0當(dāng)前第53頁\共有67頁\編于星期三\20點(diǎn)2.多路轉(zhuǎn)移方式(下址字段法/斷定法):當(dāng)微程序不產(chǎn)生分支時(shí),后續(xù)微指令地
址由微指令的順序字段給出;否則有若干個(gè)后續(xù)地址可以選擇,此時(shí)必須由順序
控制字段的“判別測試”和“狀態(tài)條件”信息來選擇其中一個(gè)微地址。沒有轉(zhuǎn)移指令。微指令格式如下:其微程序組成原理圖如下:微命令字段判別測試字段(P字段)下地址字段操作控制順序控制控制存儲(chǔ)器地址譯碼微地址寄存器地址轉(zhuǎn)移邏輯P字段控制字段…OPIR…狀態(tài)條件其中:微地址寄存器對(duì)應(yīng)下地址字段,P字段即為判別測試字段,控制字段即為微命令字段,后兩部分組成微指令字段。當(dāng)前第54頁\共有67頁\編于星期三\20點(diǎn)例:已知MOV,ADD,COM,ADT四條指令微程序流程圖如下所示:0000RSRDRSRDR2+R1R2R2+R3R2R2-R3R2P(1)P(2)RS+RDRDMOVADDCOMADT1000000010010000101010111111000001000000Ci=1Ci=0(1)P(1)的條件碼是指令寄存器的OP字段,即IR7和IR6,P(2)的條件碼是進(jìn)位寄存器Ci,請(qǐng)?jiān)O(shè)計(jì)出微程序控制器地址轉(zhuǎn)移邏輯圖。(2)現(xiàn)設(shè)定控制存儲(chǔ)器EPROM容量為16個(gè)單元,其字長符合微指令格式要求。請(qǐng)給出微程序流程圖中每條微指令的當(dāng)前微地址與下一微地址。10000000取指令1111下地址當(dāng)前微指令地址當(dāng)前第55頁\共有67頁\編于星期三\20點(diǎn)
解:(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控制存儲(chǔ)器CM中取出的微指令中包含的的下一條微指令地址1000初值當(dāng)前第56頁\共有67頁\編于星期三\20點(diǎn)解:因?yàn)镋PROM容量為16單元,微地址寄存器4位即可,設(shè)為μA3-μA0,七條微指令地址分配如下表所示:微指令序號(hào)當(dāng)前微地址下一微地址12345670000100010011010
1011111101001000000000000000111100000000當(dāng)前第57頁\共有67頁\編于星期三\20點(diǎn)5.6.3微指令格式
1.水平型微指令:在一個(gè)CPU周期(即微周期)內(nèi)同時(shí)給出多個(gè)能并行操作的微命令的微指令,均稱為水平型微指令。其格式為:操作控制字段判別測試字段下址字段提供微命令提供下一條微指令的地址2.垂直型微指令:采用完全編碼方法,將全部微命令代碼化。其格式為:微操作碼字段源部件地址字段目的部件地址字段下址字段水平型微指令與垂直型微指令的比較:*水平型微指令并行操作能力強(qiáng)*水平型微指令執(zhí)行一條指令的時(shí)間短:垂直型微指令要譯碼*由水平型微指令解釋指令的微程序,微指令字較長,微程序短*水平型微指令用戶難以掌握當(dāng)前第58頁\共有67頁\編于星期三\20點(diǎn)例:(P210.11)已知某機(jī)采用微程序控制方式,控存容量為512*48位。微程序可在整個(gè)控存中實(shí)現(xiàn)轉(zhuǎn)移,控制微程序轉(zhuǎn)移的條件共有4個(gè),微指令采用水平型微指令,后繼微指令地址采用斷定方式(多路轉(zhuǎn)移方式)。請(qǐng)問:(1)微指令的三個(gè)字段分別應(yīng)為多少位?(2)畫出對(duì)應(yīng)這種微指令格式的微程序控制器邏輯。
解:微指令格式為:
微命令字段判別測試字段下地址字段操作控制順序控制假設(shè)判別測試字段中每一位作為一個(gè)判別標(biāo)志,那末由于有4個(gè)轉(zhuǎn)移條件,故該字段為4位。因?yàn)榭卮嫒萘繛?12單元,所以下地址字段為9位。微命令字段則是(48-4-9)=35位。當(dāng)前第59頁\共有67頁\編于星期三\20點(diǎn)上述微指令格式的微程序控制器邏輯框圖控制存儲(chǔ)器地址譯碼微地址寄存器地址轉(zhuǎn)移邏輯P字段控制字段…OPIR…狀態(tài)條件當(dāng)前第60頁\共有67頁\編于星期三\20點(diǎn)例:
(P210.10)某計(jì)算機(jī)有如下部件:ALU,移位器,主存M,主存數(shù)據(jù)寄存器MDR,主存地址寄存器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ù)尋址方式為自增型寄存器間址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)維修合同:圍墻整治與修繕條款3篇
- 公共設(shè)施用地租賃合同協(xié)議書
- 鐵路出發(fā)行合同
- 國際展覽綜合樓租賃合同
- 橄欖球場建設(shè)合同
- 銀行信貸專員聘用合同格式
- 辦公設(shè)備租賃合同示范文本
- 親子餐廳廚師勞務(wù)聘用協(xié)議
- 體育賽事場地租賃協(xié)議樣本
- 砂石銷售合同范例解析
- 社會(huì)保險(xiǎn)業(yè)務(wù)申報(bào)表(填表說明)
- 02S701磚砌化糞池標(biāo)準(zhǔn)圖集
- 陜西西安未央?yún)^(qū)2021-2022學(xué)年度第一學(xué)期期末質(zhì)量檢測五年級(jí)英語試卷(人教PEP版含答案)
- 大疆開 FCC BOOST 教程指南
- C++面向?qū)ο蟪绦蛟O(shè)計(jì)(第二版)課件整套電子教案
- YY/T 0506.3-2005病人、醫(yī)護(hù)人員和器械用手術(shù)單、手術(shù)衣和潔凈服 第3部分:試驗(yàn)方法
- 人力資源四級(jí)培訓(xùn)職業(yè)道德培訓(xùn)課件
- 醫(yī)院行風(fēng)建設(shè)及行風(fēng)示范窗口建設(shè)工作計(jì)劃
- 內(nèi)部控制制度審計(jì)實(shí)施細(xì)則
- 加油站隱患排查表、整改臺(tái)賬
- 浙江溫州文成縣周壤鎮(zhèn)招考聘用大學(xué)生村務(wù)助理【共500題附答案解析】模擬檢測試卷0
評(píng)論
0/150
提交評(píng)論