new第五章中央處理器_第1頁
new第五章中央處理器_第2頁
new第五章中央處理器_第3頁
new第五章中央處理器_第4頁
new第五章中央處理器_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第五章第五章 中央處理器中央處理器 CPU的功能和組成的功能和組成 指令周期指令周期 時序產(chǎn)生器時序產(chǎn)生器 微程序控制器微程序控制器 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù) 硬布線控制器硬布線控制器 流水線工作原理流水線工作原理 第五章第五章 中央處理器中央處理器 5.1 CPU的功能和組成的功能和組成 5.1.1 CPU的功能的功能 *指令控制指令控制:產(chǎn)生下一條指令在內(nèi)存中的地址產(chǎn)生下一條指令在內(nèi)存中的地址 *操作控制操作控制:產(chǎn)生各種操作信號送往相應(yīng)部件產(chǎn)生各種操作信號送往相應(yīng)部件,以控制完成指令以控制完成指令所要求的動作所要求的動作 *時間控制時間控制:對各種操作信號實施時間上的控制對各種操作信

2、號實施時間上的控制,以保證計算機(jī)以保證計算機(jī)有條不紊地連續(xù)自動工作有條不紊地連續(xù)自動工作 *數(shù)據(jù)加工數(shù)據(jù)加工:執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算,并進(jìn)行邏輯測試并進(jìn)行邏輯測試 5.1.2 CPU的組成的組成 CPU由兩個主要部分組成由兩個主要部分組成:控制器與運(yùn)算器控制器與運(yùn)算器 DR譯碼譯碼器器時序時序與與 控制控制DBCB內(nèi)內(nèi)部部控控制制線線內(nèi)內(nèi)部部控控制制線線ACLALBSHPSWIRPCSPGPRGPRARAB內(nèi)部總線內(nèi)部總線內(nèi)部總線內(nèi)部總線5.1.2 CPU的組成的組成 1.控制器控制器 由程序計數(shù)器由程序計數(shù)器(PC)、指令寄存器(指令寄存器(IR)、指)、指

3、令譯碼器、時序發(fā)生器令譯碼器、時序發(fā)生器和操作控制器組成和操作控制器組成.功能功能是負(fù)責(zé)協(xié)調(diào)與控制整個是負(fù)責(zé)協(xié)調(diào)與控制整個計算機(jī)系統(tǒng)的操作計算機(jī)系統(tǒng)的操作. 控制器的結(jié)構(gòu)可分為控制器的結(jié)構(gòu)可分為組合邏輯型和微程序控組合邏輯型和微程序控制型兩種制型兩種.ALUMBR譯碼譯碼器器時序時序與與 控制控制DBCB內(nèi)內(nèi)部部控控制制線線內(nèi)內(nèi)部部控控制制線線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼譯碼器器時序時序與控制與控制PCSPGPRGPRAR5.1.2 CPU的組成的組成 2. 運(yùn)算器運(yùn)算器 由通用寄存器組由通用寄

4、存器組GPR、算術(shù)邏輯單元算術(shù)邏輯單元(ALU)、累加寄存器(累加寄存器(AC)、)、程序狀態(tài)字寄存器程序狀態(tài)字寄存器(PSW)、數(shù)據(jù)暫存)、數(shù)據(jù)暫存器(器(LA、LB)和移位)和移位器等組成。功能是執(zhí)行器等組成。功能是執(zhí)行所有的算術(shù)運(yùn)算和邏輯所有的算術(shù)運(yùn)算和邏輯運(yùn)算。運(yùn)算。算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC存儲器存儲器 I/OCPUALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行

5、執(zhí)行控制控制ccccc緩沖寄存器緩沖寄存器DRCPUCPU的基本模型的基本模型MBR譯碼譯碼器器時序時序與與 控制控制DBCB內(nèi)內(nèi)部部控控制制線線內(nèi)內(nèi)部部控控制制線線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線內(nèi)部總線內(nèi)部總線5.1.3 內(nèi)部寄存器組內(nèi)部寄存器組 1. 通用寄存器通用寄存器GPR(General Purpose Register) 可用于存放操作可用于存放操作數(shù)(包括源操作數(shù)、數(shù)(包括源操作數(shù)、目的操作數(shù)及中間目的操作數(shù)及中間結(jié)果)和各種地址結(jié)果)和各種地址信息等,如累加寄信息等,如累加寄存器存器AC.ALUDRACLALBSHPSWIR譯碼譯碼器器

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

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

8、AR2.專用寄存器專用寄存器SPR (3) 堆棧指示器堆棧指示器SP(Stack Pointer) 存放堆棧棧頂指針存放堆棧棧頂指針MBR譯碼譯碼器器時序時序與與 控制控制DB內(nèi)內(nèi)部部控控制制線線內(nèi)內(nèi)部部控控制制線線ACACTTMPSHFIRPCSPGPRGPRMARAB內(nèi)部總線內(nèi)部總線內(nèi)部總線內(nèi)部總線ALUDRACLALBSHPSWIR譯碼譯碼器器時序時序與控制與控制PCSPGPRGPRAR5.1.4 CPU與外部與外部總線接口總線接口DR:數(shù)據(jù)緩沖寄存:數(shù)據(jù)緩沖寄存器,存放器,存放CPU與主與主存或外設(shè)交換的信存或外設(shè)交換的信息息MBR譯碼譯碼器器時序時序與與 控制控制DB內(nèi)內(nèi)部部控控制制

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

10、AR5.1.4 CPU與外部與外部總線接口總線接口作用:作用:作為作為 CPU與主與主存、外設(shè)之間信息存、外設(shè)之間信息傳遞的中轉(zhuǎn)站傳遞的中轉(zhuǎn)站補(bǔ)償補(bǔ)償CPU與主存、與主存、外設(shè)之間操作速度外設(shè)之間操作速度的差別的差別5.2 5.2 指令周期指令周期讀取指令讀取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器讀主存,讀出內(nèi)容送入指定的寄存器分析指令分析指令按指令規(guī)定內(nèi)容執(zhí)行指令按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大和具體操作內(nèi)容差異很大檢查有無中斷請求檢查有無中斷請求若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程若無,則轉(zhuǎn)入

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

12、CPU周期的周期的功能由多個時鐘周期來完成功能由多個時鐘周期來完成 T周期周期CPU周期周期(取指令取指令)CPU周期周期(執(zhí)行指令執(zhí)行指令)指令周期指令周期定長定長CPU周期組成的指令周期周期組成的指令周期取指時間執(zhí)行指令時間取指時間執(zhí)行指令時間八進(jìn)制地址八進(jìn)制地址八進(jìn)制內(nèi)容八進(jìn)制內(nèi)容 助記符助記符020021022023024030031040 250 000 030 030021 040000 000140 021.000 006000 040存和數(shù)單元存和數(shù)單元CLAADD 30STA 40NOPJMP 21數(shù)數(shù)據(jù)據(jù)5 5條典型指令構(gòu)成的簡單程序條典型指令構(gòu)成的簡單程序一個一個CPU周

13、期周期一個一個CPU周期周期取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段開始開始取指令取指令PC+1對指令對指令譯碼譯碼執(zhí)行指令執(zhí)行指令取下條指取下條指令令PC+15.2.2 CLA指令的指令周期指令的指令周期取出取出CLA指令指令算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+1000 0202

14、021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLAC

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

16、3140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并執(zhí)行取出并執(zhí)行ADD指令指令5.2.4STA指令的指令周期指令的指令周期 算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存指令寄存器器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控

17、制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006取出并執(zhí)行取出并執(zhí)行STA指令指令5.2.5 NOP指令和指令和JMP指令的指令周期指令的指令周期算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘

18、時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021取出并執(zhí)行取出并執(zhí)行JMP指令指令5.2.6 用方框圖語言表示指令周期用方框圖語言表示指令周期開始開始PC AR ABUSDBUS DR IRPC+1譯碼或測試譯碼或測試CLAADDSTAJMPNOP0 ACIR ARIR ARIR PCPC ARRDWEAR ABUSDBUS DRDR ALUALU ACAR ABUSA

19、C DRDR DBUS例例:下圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路下圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,M為主存為主存(受受R/W信號控制信號控制),ALU由加、由加、減控制信號決定完成何種操作,控制信號減控制信號決定完成何種操作,控制信號G控制的是一個門電路。另外,線上標(biāo)控制的是一個門電路。另外,線上標(biāo)注有小圈表示有控制信號,如注有小圈表示有控制信號,如yi表示表示y寄存器的輸入控制信號,寄存器的輸入控制信號,R1o為寄存器為寄存器R1的的輸出控制信號,未標(biāo)注字符的線為直通線,不受控制。輸出控制信號,未標(biāo)注字符的線為直通線,不受控制。(1)ADD R2,R0的功能為(的功能為(R0)+(R2) R

20、0,畫出指令周期流程圖,并列,畫出指令周期流程圖,并列出相應(yīng)的微操作控制信號序列。出相應(yīng)的微操作控制信號序列。 (2)SUB R1,R3的功能為(的功能為(R3)-(R1) R3,要求同上。,要求同上??偩€總線總線總線雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路IRoIRiIRPCPCiPCoARARiR/W MDRDRiDRoR0R1R2R3yixiXYALU+_G控控制制器器5.3 時序產(chǎn)生器時序產(chǎn)生器5.3.1 多級時序的概念多級時序的概念 (1)指令周期指令周期:在時序系統(tǒng)中通常不為指令周期設(shè)置時間標(biāo)志信號在時序系統(tǒng)中通常不為指令周期設(shè)置時間標(biāo)志信號,因因而也不將其作為時序的一級而

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

22、周期、時鐘周期、時鐘脈沖三級時序信號的關(guān)系。時鐘脈沖三級時序信號的關(guān)系。一個指令周期一個指令周期機(jī)器周期機(jī)器周期M1機(jī)器周期機(jī)器周期M2機(jī)器周期機(jī)器周期M3時鐘周期時鐘周期T1時鐘周期時鐘周期T2時鐘周期時鐘周期T3時鐘脈沖時鐘脈沖CLK三級時序信號間的關(guān)系三級時序信號間的關(guān)系一個時序系統(tǒng)的組成如圖所示一個時序系統(tǒng)的組成如圖所示:脈沖發(fā)生器脈沖發(fā)生器節(jié)拍發(fā)生器節(jié)拍發(fā)生器周期狀態(tài)周期狀態(tài)觸發(fā)器觸發(fā)器脈沖源脈沖源啟動啟動暫停暫停M1M2T1T25.3.3 時序系統(tǒng)的組成時序系統(tǒng)的組成1.脈沖源脈沖源:由石英晶體震蕩器及由石英晶體震蕩器及“與非門與非門”組合的震蕩電路組成組合的震蕩電路組成2.脈沖發(fā)

23、生器脈沖發(fā)生器:通常是一個環(huán)行脈沖發(fā)生器通常是一個環(huán)行脈沖發(fā)生器,采用循環(huán)移位寄存器的形式采用循環(huán)移位寄存器的形式,產(chǎn)生一組有序的、間隔相等或不等的脈沖序列產(chǎn)生一組有序的、間隔相等或不等的脈沖序列3.節(jié)拍發(fā)生器節(jié)拍發(fā)生器:按先后順序按先后順序,循環(huán)地發(fā)出若干時鐘周期信號循環(huán)地發(fā)出若干時鐘周期信號,最后通過譯碼最后通過譯碼電路電路,產(chǎn)生最后所需的節(jié)拍脈沖產(chǎn)生最后所需的節(jié)拍脈沖,通常由計數(shù)譯碼器電路組成通常由計數(shù)譯碼器電路組成.4.周期狀態(tài)觸發(fā)器周期狀態(tài)觸發(fā)器:產(chǎn)生電路與節(jié)拍發(fā)生器產(chǎn)生電路類似產(chǎn)生電路與節(jié)拍發(fā)生器產(chǎn)生電路類似.5.啟停控制邏輯啟??刂七壿?控制時鐘系統(tǒng)控制時鐘系統(tǒng),只有當(dāng)啟動機(jī)器運(yùn)

24、行時只有當(dāng)啟動機(jī)器運(yùn)行時,才允許發(fā)出所需才允許發(fā)出所需的時鐘脈沖的時鐘脈沖,而且而且,由于機(jī)器的啟停是隨機(jī)的由于機(jī)器的啟停是隨機(jī)的,必須考慮發(fā)出的脈沖是完必須考慮發(fā)出的脈沖是完整的整的.例例:某時序產(chǎn)生器的主要邏輯電路如圖所示某時序產(chǎn)生器的主要邏輯電路如圖所示, 為脈沖時鐘源輸出的方波脈沖為脈沖時鐘源輸出的方波脈沖,C1-C4為為D觸發(fā)器觸發(fā)器,T1-T4為四個輸出的節(jié)拍脈沖為四個輸出的節(jié)拍脈沖.脈沖源脈沖源23QQDCPC4CLRSRT4T1T2T3QQDCP+5VDCPQQC1C2C3QQDCPT1-T4為四個輸出節(jié)拍脈沖為四個輸出節(jié)拍脈沖,其譯碼邏輯表達(dá)式為其譯碼邏輯表達(dá)式為:T1=C1

25、*C2 T2=C2*C3 T3=C3 T4=C112345678910CPU周期周期CPU周期周期T1T2T3T4C4C1C2C3 例例:時序產(chǎn)生器需要在一個時序產(chǎn)生器需要在一個CPU周期中產(chǎn)生三個節(jié)拍脈沖信周期中產(chǎn)生三個節(jié)拍脈沖信號號:T1(200ns),T2(400ns),T3(200ns),主脈沖源的頻率為主脈沖源的頻率為5MHZ,請設(shè)計時序邏輯電路請設(shè)計時序邏輯電路(不考慮啟停控制不考慮啟??刂?.脈沖源脈沖源23QQDCPC4CLRSRT3QQDCP+5VDCPQQC1C2C3QQDCPT1-T3為四個輸出節(jié)拍脈沖為四個輸出節(jié)拍脈沖,其其譯碼邏輯表達(dá)式為譯碼邏輯表達(dá)式為:T1=C1*

26、C2 T2=C2 T3=T1T2C112345678910CPU周期周期CPU周期周期T1T2T3C4C1C2C3200ns400ns200ns5.3.3 控制器的控制方式控制器的控制方式1.同步控制方式同步控制方式(集中控制方式集中控制方式):對機(jī)器的所有指令采用統(tǒng)一的對機(jī)器的所有指令采用統(tǒng)一的時序信號時序信號.用相同數(shù)目的機(jī)器周期用相同數(shù)目的機(jī)器周期,相同數(shù)目的節(jié)拍脈沖來形相同數(shù)目的節(jié)拍脈沖來形成每條指令的控制操作序列成每條指令的控制操作序列.特點特點:時序關(guān)系簡單時序關(guān)系簡單,但以犧牲速但以犧牲速度為代價度為代價.2.異步控制方式異步控制方式(分散控制方式分散控制方式):每條指令、每個微

27、操作需要多每條指令、每個微操作需要多少時間就占用多少時間,不采用統(tǒng)一的周期和節(jié)拍,時間上少時間就占用多少時間,不采用統(tǒng)一的周期和節(jié)拍,時間上的銜接通過應(yīng)答通訊方式的銜接通過應(yīng)答通訊方式(握手方式握手方式)實現(xiàn)實現(xiàn).特點特點:無時間浪費(fèi)無時間浪費(fèi),但時序控制比較復(fù)雜但時序控制比較復(fù)雜.3.聯(lián)合控制方式聯(lián)合控制方式:是同步控制與異步控制相結(jié)合是同步控制與異步控制相結(jié)合.5.4 硬布線控制器硬布線控制器(組合邏輯控制器組合邏輯控制器)與與PLA控制器控制器5.4.1 組合邏輯控制器的設(shè)計步驟組合邏輯控制器的設(shè)計步驟 1.根據(jù)根據(jù)CPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列的結(jié)構(gòu)圖寫出每條

28、指令的操作流程圖并分解成微操作序列. 2.選擇合適的控制方式和控制時序選擇合適的控制方式和控制時序. 3.對微操作流程圖安排時序?qū)ξ⒉僮髁鞒虉D安排時序,排出微操作時間表排出微操作時間表. 4.根據(jù)操作時間表寫出微操作的表達(dá)式根據(jù)操作時間表寫出微操作的表達(dá)式,即微操作即微操作=周期周期*節(jié)拍節(jié)拍*脈沖脈沖*指令指令碼碼*其它條件其它條件 5.根據(jù)微操作的表達(dá)式根據(jù)微操作的表達(dá)式,畫出組合邏輯電路畫出組合邏輯電路.組合邏輯控制器總框圖見下頁組合邏輯控制器總框圖見下頁.5.4.2 組合邏輯控制器的設(shè)計舉例組合邏輯控制器的設(shè)計舉例CPU結(jié)構(gòu)框圖如下圖所示結(jié)構(gòu)框圖如下圖所示,設(shè)計以下幾條指令的組合邏輯控

29、制器設(shè)計以下幾條指令的組合邏輯控制器.CLA ;清清ACADD I D ;I=0為直接尋址為直接尋址,即即(AC)+(D) AC I=1為間接尋址為間接尋址,即即(AC)+(D) ACSTA I D ;I=0為直接尋址為直接尋址,即即(AC) D;I=1為間接尋址為間接尋址,即即(AC) (D)LDA I D ;I=0為直接尋址為直接尋址,即即(D) AC;I=1為間接尋址為間接尋址,即即(D) ACJMP I D ;I=0為直接尋址為直接尋址,即即(D) PC; I=1為間接尋址為間接尋址,即即(D) PC操作碼操作碼 地址碼地址碼譯碼器譯碼器硬布線邏輯硬布線邏輯(組合邏輯組合邏輯)PC周期

30、狀態(tài)周期狀態(tài)觸發(fā)器觸發(fā)器節(jié)拍發(fā)生器節(jié)拍發(fā)生器時鐘源時鐘源結(jié)果反結(jié)果反饋信息饋信息M1M2M3T1T4PIR中斷中斷控制控制邏輯邏輯轉(zhuǎn)移轉(zhuǎn)移地址地址+1RESET中斷信號中斷信號微操作控制命令微操作控制命令組合邏輯控制器總框圖組合邏輯控制器總框圖ALU狀態(tài)寄存器狀態(tài)寄存器ACPCAR指令譯碼器指令譯碼器操作控制器操作控制器存儲器存儲器數(shù)據(jù)總線數(shù)據(jù)總線OPIR(AR)+1PC ARMREQR/WDBUS ARDBUS PCCDR ACDR ACDR ALUIRDRDR IRIR(AR) DBUS+_DBUS DRDR DBUS(1) 根據(jù)根據(jù)CPU結(jié)構(gòu)框圖寫出指令的操作流程圖結(jié)構(gòu)框圖寫出指令的操作

31、流程圖,如下圖所示如下圖所示:I=1?I=1?I=1?I=1?0 ACM ARM ARM DBUSDBUS PCPC ARM DR DR IRPC+1 PCPC ARR, DBUS DRDR IR+1CLAIR15IR14IR13=000ADD001STA010LDA011JMP100IR(AR) DBUSDBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS NYM DR(AC)+(DR) ACNYM AR AC DR DR M M DR DR ACNY(IR12)=1NY(IR12)=1(IR12)=1(IR12)=1(2)選同步控

32、制方式選同步控制方式(3) 選二級時序選二級時序 由于以上指令均是單操作數(shù)指令由于以上指令均是單操作數(shù)指令,所以安排三個機(jī)器周期所以安排三個機(jī)器周期:取指周期取指周期FETCH、取、取數(shù)周期數(shù)周期DOF、執(zhí)行周期、執(zhí)行周期EXEC。每個機(jī)器周期安排四個節(jié)拍。每個機(jī)器周期安排四個節(jié)拍T1、T2、T3和和T4,時序見下圖所示。時序見下圖所示。FETCHDOFEXECT1T3T4取指周期取指周期取數(shù)周期取數(shù)周期執(zhí)行周期執(zhí)行周期指令周期指令周期CLK(4)為微操作序列安排時序)為微操作序列安排時序I=1?I=1?I=1?I=1?CPC ARR, +1 DBUS DRDR IRCLAADDSTALDAJ

33、MPIR(AR) DBUSDBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS NYNY AC DR NYNY(IR12)=1(IR12)=1FETCHT1T2T3T4RDBUSARRDBUSARRDBUSARDBUS ARRDBUS DRDR ALU+WRDBUS DRDR ACT1T2T3T4DOFT1T2T3T4EXECRDBUSPCDR DBUS(5).操作時間表見下表操作時間表見下表:微操作微操作 FETCHT1 T2 T3 T4 DOFEXECPC ARR/W=1 R/W=0MREQDR IR+1CIR(AR) DBUSA

34、LLALLALLALLALLT1 T2 T3T4CLA*ICLA*I T1T2T3T4ADD+LDAADD+LDASTASTACLACLA(5).操作時間表見下表操作時間表見下表:微操作微操作 FETCHT1 T2 T3 T4DOFEXECT1T2T3T4T1T2T3T4DBUS ARDBUS DRDBUS PCDR ALUDR ACAC DR+ALLADD+LDA JMPADDLDASTAADDADD+STA+LDA+JMP*I(ADD+STA+LDA)*IDR DBUSSTA(6).綜合微操作表達(dá)式如下綜合微操作表達(dá)式如下: PC AR=FETCH*T1 R/W=FETCH*T2+DOF*

35、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)產(chǎn)生生器器組合邏輯控制器組合邏輯控制器LDAADDSTA LDAJMPIRIIR0IR11IR12IR13IR14IR15FETCHDOFEXECT1T2 T3T4PC ARDBUS DRDBUS PC+微操作微操作控制控制信號信號OPI ARIR0IR11IR12IR13 IR14IR15譯碼器譯碼器譯碼器譯

36、碼器FETCHDOFEXEC時鐘系統(tǒng)時鐘系統(tǒng)節(jié)拍發(fā)生器節(jié)拍發(fā)生器=& &=T1T2T4DBUS DRLDAADDI=0I=1微操作控制信號微操作控制信號DBUS DR的邏輯表達(dá)式為的邏輯表達(dá)式為:DBUS DR=FETCH*T3+EXEC*(ADD+LDA)*T2& &微操作執(zhí)行邏輯示意圖微操作執(zhí)行邏輯示意圖T35.4.3 組合邏輯控制器的特點組合邏輯控制器的特點 優(yōu)點優(yōu)點:速度快速度快,可用于速度要求較高的機(jī)器中可用于速度要求較高的機(jī)器中. 缺點缺點: (1) 缺乏規(guī)整性缺乏規(guī)整性:將幾百個微操作的執(zhí)行邏輯組合在一起將幾百個微操作的執(zhí)行邏輯組合在一起,構(gòu)成構(gòu)成的微操作產(chǎn)生部件的微操作產(chǎn)生部件

37、,是計算機(jī)中最復(fù)雜、最不規(guī)整的邏輯部件是計算機(jī)中最復(fù)雜、最不規(guī)整的邏輯部件.不適不適合于指令復(fù)雜的機(jī)器合于指令復(fù)雜的機(jī)器. (2)缺乏靈活性缺乏靈活性:各微命令的實現(xiàn)是用硬連的邏輯電路完成各微命令的實現(xiàn)是用硬連的邏輯電路完成,改動改動不易不易,設(shè)計困難設(shè)計困難.5.4.4 PLA控制器控制器 PLA控制器的設(shè)計步驟控制器的設(shè)計步驟(1)-(4)與組合邏輯控制器相同與組合邏輯控制器相同,只是實現(xiàn)只是實現(xiàn)方法不同方法不同,它采用它采用PLA陣列陣列(Programmed Logic Array). 從設(shè)計思想從設(shè)計思想來看是組合邏輯控制器來看是組合邏輯控制器,從實現(xiàn)方法來看從實現(xiàn)方法來看,是存儲邏

38、輯控制器是存儲邏輯控制器. 特點特點:可使雜亂無章的組合邏輯規(guī)整化、微型化,而且可以利用可使雜亂無章的組合邏輯規(guī)整化、微型化,而且可以利用PLA的可編程特性,用存儲邏輯部分地取代組合邏輯,增加了一定的可編程特性,用存儲邏輯部分地取代組合邏輯,增加了一定的靈活性。的靈活性。 仍以仍以DBUS DR=FETCH*T3+EXEC*(ADD+LDA)*T2為例,說明用為例,說明用PLA實實現(xiàn)執(zhí)行邏輯的原理。現(xiàn)執(zhí)行邏輯的原理。OR陣列每陣列每個交點個交點FETCHEXECADDLDAT2T3DBUS DR用用PLA實現(xiàn)執(zhí)行邏輯模型實現(xiàn)執(zhí)行邏輯模型AND陣列陣列每個交點每個交點+1例例:CPU結(jié)構(gòu)圖如下所

39、示結(jié)構(gòu)圖如下所示,其中包括一個累加器其中包括一個累加器AC、一個狀態(tài)寄存器和其它四個寄、一個狀態(tài)寄存器和其它四個寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。 (1).標(biāo)明圖中四個寄存器的名稱標(biāo)明圖中四個寄存器的名稱.(2)簡述取指令的數(shù)據(jù)通路簡述取指令的數(shù)據(jù)通路.(3)簡述完成指令簡述完成指令LDA X的數(shù)據(jù)通路的數(shù)據(jù)通路 ( X為內(nèi)存地址為內(nèi)存地址,LDA功能為功能為 (X) (AC) ).(4)簡述完成簡述完成 ADD Y的數(shù)的數(shù)據(jù)通路據(jù)通路 ( Y為內(nèi)存地址為內(nèi)存地址,ADD功能為功能為 (AC)+(Y) (AC)

40、 ).(5)簡述完成簡述完成 STA Z的數(shù)的數(shù)據(jù)通路據(jù)通路 ( Z為內(nèi)存地址為內(nèi)存地址,STA功能為本功能為本(AC) (Z) ).主存儲器主存儲器 MAACCD微操作控制器微操作控制器狀態(tài)寄存器狀態(tài)寄存器B+1ALU解解:A為數(shù)據(jù)緩沖寄存器為數(shù)據(jù)緩沖寄存器MDR,B為指令寄存器為指令寄存器IR,C為主存地址寄存為主存地址寄存器器MAR,D為程序計數(shù)器為程序計數(shù)器PC.取指令的數(shù)據(jù)通路取指令的數(shù)據(jù)通路: PC MAR MM MDR IR指令指令LDA X的數(shù)據(jù)通路的數(shù)據(jù)通路: X MAR MM MDR ALU AC指令指令A(yù)DD Y的數(shù)據(jù)通路的數(shù)據(jù)通路: Y MAR MM MDR ALU A

41、DD AC(1) 指令指令 STA Z的數(shù)據(jù)通路的數(shù)據(jù)通路: Z MAR,AC MDR MM5.5 微程序控制器微程序控制器5.5.1 微程序控制器的組成和基本原理微程序控制器的組成和基本原理 假設(shè)假設(shè)CPU結(jié)構(gòu)圖同結(jié)構(gòu)圖同5.4,以加法以加法ADD I D為例為例.它由五條微指令解釋執(zhí)行它由五條微指令解釋執(zhí)行.圖中每個小方框代表一條圖中每個小方框代表一條微指令微指令,框內(nèi)為該微指令的全部微命令框內(nèi)為該微指令的全部微命令,框外右上角標(biāo)明框外右上角標(biāo)明該微指令在存控的地址該微指令在存控的地址. 微指令格式如下微指令格式如下:ADDR,DBUS ARPC ARR,+1DBUS DRDR IRIR(

42、AR) DBUSDBUS ARR,DBUS DRIR12=1IR12=0DR ALU,+000000000100110001010010000011. 1 2 16判別測試字段判別測試字段下址字段下址字段PC ARDBUS DR控制字段控制字段順序控制字段順序控制字段 5.5 微程序控制器微程序控制器后續(xù)微地址形成電路后續(xù)微地址形成電路微地址寄存器微地址寄存器地址地址譯碼譯碼驅(qū)動驅(qū)動機(jī)器指令寄存器機(jī)器指令寄存器IR主存儲器器主存儲器器RAM譯譯 碼碼微操作控制字段微操作控制字段順序控制字段順序控制字段.控制存儲器控制存儲器ROM微程序控制器原理框圖微程序控制器原理框圖微命令寄存器微命令寄存器微

43、命令微命令轉(zhuǎn)移地轉(zhuǎn)移地址來源址來源運(yùn)行狀態(tài)運(yùn)行狀態(tài)指令操作碼指令操作碼 5.5 微程序控制器微程序控制器 5.5.2微程序控制的基本概念微程序控制的基本概念 1.微命令與微操作微命令與微操作 微命令微命令:構(gòu)成控制信號序列的最小單位。構(gòu)成控制信號序列的最小單位。 微操作:控制器中執(zhí)行部件接受微指令后所進(jìn)行的操作。微操作:控制器中執(zhí)行部件接受微指令后所進(jìn)行的操作。 2.微指令和微程序微指令和微程序 微指令微指令:在機(jī)器的一個節(jié)拍中在機(jī)器的一個節(jié)拍中,一組實現(xiàn)一定操作功能的微命令一組實現(xiàn)一定操作功能的微命令,或或者說者說,控制存儲器中每個單元存放的微命令信息組成一條微指令控制存儲器中每個單元存放的

44、微命令信息組成一條微指令. 微程序微程序:由微指令組成的序列稱為微程序由微指令組成的序列稱為微程序,一個微程序的功能對應(yīng)一個微程序的功能對應(yīng)一條機(jī)器指令的功能一條機(jī)器指令的功能. 3.機(jī)器指令與微指令機(jī)器指令與微指令 機(jī)器指令指提供給使用者編成的基本單位機(jī)器指令指提供給使用者編成的基本單位,每一條指令可以完成每一條指令可以完成一個獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作一個獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作. 一條機(jī)器指令對應(yīng)一組微指令組成的微程序一條機(jī)器指令對應(yīng)一組微指令組成的微程序.可見可見,一條機(jī)器指令一條機(jī)器指令對應(yīng)多條微指令對應(yīng)多條微指令,而一條微指令可為多個機(jī)器指令服務(wù)而一條微指令可為多個機(jī)器指令服

45、務(wù).4.控制存儲器控制存儲器CM(Control Memory):用于存放全部指令的所有微程用于存放全部指令的所有微程序序,采用只讀存儲器結(jié)構(gòu)采用只讀存儲器結(jié)構(gòu)(固化固化).控制存儲器的字長等于微指令的長度控制存儲器的字長等于微指令的長度,其總?cè)萘繘Q定于所有微程序的總長度其總?cè)萘繘Q定于所有微程序的總長度. 例例:已知某計算機(jī)有已知某計算機(jī)有80條指令條指令 ,平均每條指令由平均每條指令由 12條微指令組成條微指令組成,其其中有一條取指微指令是所有指令共用的中有一條取指微指令是所有指令共用的,設(shè)微指令長度為設(shè)微指令長度為32位位,計算計算CM容量容量. 解解:微指令所占的二進(jìn)制位數(shù)微指令所占的二

46、進(jìn)制位數(shù)=(12+79*11)*32=881*32 所以所以,CM容量可選容量可選1K*32 另見教材另見教材P.210第第6題題. 5.微指令周期微指令周期:從控制存儲器中讀取一條微指令并執(zhí)行這條微指令從控制存儲器中讀取一條微指令并執(zhí)行這條微指令所需的時間所需的時間,通常一個微指令周期與一個通常一個微指令周期與一個CPU周期的時間相等周期的時間相等.微指令微指令中的微命令可以用節(jié)拍脈沖來同步定時中的微命令可以用節(jié)拍脈沖來同步定時.有多個同步節(jié)拍脈沖的微周有多個同步節(jié)拍脈沖的微周期期,稱為多周期稱為多周期.微周期微周期子周期子周期T1T2T3T4多周期節(jié)拍脈沖多周期節(jié)拍脈沖T1T2T3T4T1

47、T2T3T4讀微指令讀微指令執(zhí)行微指令執(zhí)行微指令微指令周期微指令周期CPU周期周期 CPU周期與微指令周期的關(guān)系周期與微指令周期的關(guān)系5.6 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù) 5.6.1 微命令編碼微命令編碼 對微指令中的操作控制字段采用的表示方法對微指令中的操作控制字段采用的表示方法. 1.直接表示法直接表示法(不譯法不譯法):將微指令操作控制字段的每個二進(jìn)制位定義為一個微命將微指令操作控制字段的每個二進(jìn)制位定義為一個微命令令,直接送往相應(yīng)的控制點直接送往相應(yīng)的控制點. 2. 字段直接譯碼法字段直接譯碼法:將微指令的控制字段分為若干小字段將微指令的控制字段分為若干小字段,把相斥性微命令組合把相斥

48、性微命令組合在同一字段中在同一字段中,而相容性微命令組合在不同的字段中而相容性微命令組合在不同的字段中,然后通過小組譯碼器對每一然后通過小組譯碼器對每一個微命令信號進(jìn)行譯碼個微命令信號進(jìn)行譯碼. 微命令編碼微命令編碼:譯碼譯碼譯碼譯碼譯碼譯碼微命令微命令微命令微命令微命令微命令微命令字段微命令字段順序控制字段順序控制字段微指令寄微指令寄存器存器字段直接譯碼法字段直接譯碼法 3.混合表示法混合表示法:直接表示法和字段直接譯碼法的混合使用直接表示法和字段直接譯碼法的混合使用.5.6.2 微程序執(zhí)行順序的控制微程序執(zhí)行順序的控制 1.計數(shù)器方式計數(shù)器方式:順序執(zhí)行微指令時順序執(zhí)行微指令時,后續(xù)微指令

49、地址由現(xiàn)行微指令地址加一個增量后續(xù)微指令地址由現(xiàn)行微指令地址加一個增量(通常為通常為1)而形成而形成;遇到轉(zhuǎn)移時遇到轉(zhuǎn)移時,由轉(zhuǎn)移微指令給出轉(zhuǎn)移微地址使微地址按新的方式由轉(zhuǎn)移微指令給出轉(zhuǎn)移微地址使微地址按新的方式執(zhí)行執(zhí)行. 轉(zhuǎn)移微指令的一般格式簡化如下轉(zhuǎn)移微指令的一般格式簡化如下: 操作碼操作碼 轉(zhuǎn)移地址轉(zhuǎn)移地址轉(zhuǎn)移控制轉(zhuǎn)移控制例例:CPU數(shù)據(jù)通路同數(shù)據(jù)通路同5.4硬布線控制器硬布線控制器.圖中共有圖中共有16條微指令條微指令,再增加一些轉(zhuǎn)移微指再增加一些轉(zhuǎn)移微指令令,地址為地址為6位位.圖中有兩種轉(zhuǎn)移情況圖中有兩種轉(zhuǎn)移情況,用用P1、P2來控制,轉(zhuǎn)移微指令格式為:來控制,轉(zhuǎn)移微指令格式為:轉(zhuǎn)

50、移微指令標(biāo)志轉(zhuǎn)移微指令標(biāo)志T轉(zhuǎn)移地址(轉(zhuǎn)移地址(A5A4A3A2A1A0)轉(zhuǎn)移控制(轉(zhuǎn)移控制(P1P2)轉(zhuǎn)移地址修改方案為轉(zhuǎn)移地址修改方案為: PC5 PC4 PC3 PC2 PC3 PC2 PC1 PC0IR15IR14IR13IR12P1=1 P2=1PC ARR,+1DBUS DRDR IRT=1000011P1=1(IR15IR14IR13=000)CCLA000011IR(AR) DBUSDBUS AR001011ADD (001)T=1 001110 P2=1R,DBUS ARR,DBUS DRDR ALU, +T=1 00000 P1=0 P2=0001100IR12=10011

51、10IR12=0001111010000010001IR(AR) DBUSDBUS ART=1 010110 P2=1R,DBUS ARAC DRDR DBUSW T=1 00000 P1=0 P2=0010011STA (010)010100IR12=1010110010111011000LDA (011)JMP (100)地址轉(zhuǎn)移邏輯表達(dá)式為地址轉(zhuǎn)移邏輯表達(dá)式為:PC5=IR15P1T2 PC4=IR14P1T2 PC3=IR13P1T2 PC3=IR13P1T2 PC0=IR12P2T20000000000000010000100010000100000000000 0000T=1T=1

52、000100 計數(shù)器法的微程序控制器組成框圖如下計數(shù)器法的微程序控制器組成框圖如下:IR 指令寄存器指令寄存器微地址轉(zhuǎn)移邏輯微地址轉(zhuǎn)移邏輯微程序計數(shù)器微程序計數(shù)器 PCCM微指令寄存器微指令寄存器IR T P1P2IR T P1P2時序時序微指令譯碼器微指令譯碼器IR15IR14IR13IR12PC5 PC4 PC3PC ARAC DR微操作命令微操作命令P2P1P1P2T1T2說明說明:當(dāng)當(dāng)T=0時時,微指令寄存器微指令寄存器IRIR輸出微操作命令輸出微操作命令; ;當(dāng)當(dāng)T=1T=1時時, ,微指令寄存器微指令寄存器IRIR輸出微轉(zhuǎn)輸出微轉(zhuǎn)移指令移指令.T1和和T2用于定時一條微指令中的微命

53、令用于定時一條微指令中的微命令;另外另外,T1=1時時,將轉(zhuǎn)移地址送將轉(zhuǎn)移地址送PC,PC,T2=1時時,如果如果P1+P2=1,則修改則修改PCPCT2T22.多路轉(zhuǎn)移方式多路轉(zhuǎn)移方式(下址字段法下址字段法/斷定法斷定法):當(dāng)微程序不產(chǎn)生分支時當(dāng)微程序不產(chǎn)生分支時,后續(xù)微指令地址后續(xù)微指令地址由微指令的順序字段給出由微指令的順序字段給出;否則有若干個后續(xù)地址可以選擇否則有若干個后續(xù)地址可以選擇,此時必須由順序控此時必須由順序控制字段的制字段的“判別測試判別測試”和和“狀態(tài)條件狀態(tài)條件”信息來選擇其中一個微地址信息來選擇其中一個微地址. 微指令格式如下微指令格式如下:其微程序組成原理圖如下其微

54、程序組成原理圖如下:微命令字段微命令字段判別測試字段判別測試字段(P字段字段)下地址字段下地址字段操作控制操作控制順序控制順序控制控制存儲器控制存儲器地址譯碼地址譯碼微地址寄存器微地址寄存器地址轉(zhuǎn)移地址轉(zhuǎn)移邏輯邏輯P字段字段控制字段控制字段OPIR狀態(tài)條件狀態(tài)條件其中其中:微地址寄存器對應(yīng)下地址字段微地址寄存器對應(yīng)下地址字段,P字段即為判別測試字段字段即為判別測試字段,控制字段即控制字段即為微命令字段為微命令字段,后兩部分組成微指令字段后兩部分組成微指令字段.例例:已知已知MOV,ADD,COM,ADT四條指令微程序流程圖如下所示四條指令微程序流程圖如下所示:0000RS RDRS RDR2+

55、R1 R2R2+R3 R2R2-R3 R2P(1)P(2)RS+RDRDMOVADDCOMADT10000000100100001010000010111111000000100000Ci=1Ci=0 (1) P(1)的條件碼是指令寄存器的的條件碼是指令寄存器的OP字段字段,即即IR7和和IR6, P(2)的條件碼是進(jìn)位寄存器的條件碼是進(jìn)位寄存器Cj,請設(shè)計出微程序請設(shè)計出微程序控制器地址轉(zhuǎn)移邏輯圖控制器地址轉(zhuǎn)移邏輯圖. (2)現(xiàn)設(shè)定控制存儲器現(xiàn)設(shè)定控制存儲器EPROM容量為容量為16個單元個單元,其其字長符合微指令格式要求字長符合微指令格式要求.請給出微程序流程圖中每請給出微程序流程圖中每條

56、微指令的當(dāng)前微地址與下一微地址條微指令的當(dāng)前微地址與下一微地址.10001000 解解: (1)從流程圖可以看出從流程圖可以看出,P(1)處微程序出現(xiàn)四個分支處微程序出現(xiàn)四個分支,對應(yīng)四個微地址對應(yīng)四個微地址,因此用因此用OP碼修改微地址寄存器的最后兩個觸發(fā)器即可碼修改微地址寄存器的最后兩個觸發(fā)器即可;在在P(2)處微程序出現(xiàn)處微程序出現(xiàn)2路分支路分支,對對應(yīng)兩個微地址應(yīng)兩個微地址.轉(zhuǎn)移邏輯表達(dá)式如下轉(zhuǎn)移邏輯表達(dá)式如下: A0=P1A0=P1* *T4T4* *IR6IR6A1=P1A1=P1* *T4T4* *IR7IR7A2=P2A2=P2* *T4T4* *CiCi 微地址轉(zhuǎn)移邏輯電路如

57、下微地址轉(zhuǎn)移邏輯電路如下: :Q QD DQ QA3A3Q QQ QD DA2A2Q QQ QA1A1Q QQ QA0A0T1T1CM3CM3CM2CM2CM1CM1CM0CM0T4T4P2P2CiCiP1P1IR7IR7P1P1IR6IR6S S解解: :因為因為EPROMEPROM容量為容量為1616單元單元, ,微地址寄存器微地址寄存器4 4位即可位即可, ,設(shè)為設(shè)為, ,七條微指令地址分配如下表所示七條微指令地址分配如下表所示A3- A0A3- A0微指令序號微指令序號當(dāng)前微地址當(dāng)前微地址下一微地址下一微地址1 12 23 34 4 5 5 6 6 7 7000000001000100

58、01001100110101010 101110111111111101000100100010000000000000000000000000001111111100000000000000005.6.3 5.6.3 微指令格式微指令格式 1.1.水平型微指令水平型微指令: :在一個在一個CPUCPU周期周期( (即微周期即微周期) )內(nèi)同時給出多個能并行操作的微內(nèi)同時給出多個能并行操作的微命令的微指令命令的微指令, ,均稱為水平型微指令均稱為水平型微指令. . 其格式為其格式為: :操作控制字段操作控制字段判別測試字段判別測試字段下址字段下址字段提供微命令提供微命令提供下一條微指令的地址提

59、供下一條微指令的地址2.2.垂直型微指令垂直型微指令: :采用完全編碼方法采用完全編碼方法, ,將全部微命令代碼化將全部微命令代碼化. . 其格式為其格式為: :微操作碼字段微操作碼字段 源部件地址字段源部件地址字段 目的部件地址字段目的部件地址字段 下址字段下址字段3.3.水平型微指令與垂直型微指令的比較水平型微指令與垂直型微指令的比較: : * *水平型微指令并行操作能力強(qiáng)水平型微指令并行操作能力強(qiáng) * *水平型微指令執(zhí)行一條指令的時間短水平型微指令執(zhí)行一條指令的時間短 * *由水平型微指令解釋指令的微程序由水平型微指令解釋指令的微程序, ,有微指令字長有微指令字長, ,而微程序短的特點而

60、微程序短的特點, ,垂直垂直型微指令則相反型微指令則相反. . * *水平型微指令用戶難以掌握水平型微指令用戶難以掌握例例:(P210.11):(P210.11)已知某機(jī)采用微程序控制方式已知某機(jī)采用微程序控制方式, ,控存容量為控存容量為512512* *4848位位. .微程序可在整個控存中實現(xiàn)轉(zhuǎn)移微程序可在整個控存中實現(xiàn)轉(zhuǎn)移, ,控制微程序轉(zhuǎn)移的條件共有控制微程序轉(zhuǎn)移的條件共有4 4個個, ,微指令采用水平型微指令微指令采用水平型微指令, ,后繼微指令地址采用斷定方式后繼微指令地址采用斷定方式. .請問請問: : (1) (1)微指令的三個字段分別應(yīng)為多少位微指令的三個字段分別應(yīng)為多少位

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論