計(jì)算機(jī)組成原理第五章中央處理器[四]_第1頁
計(jì)算機(jī)組成原理第五章中央處理器[四]_第2頁
計(jì)算機(jī)組成原理第五章中央處理器[四]_第3頁
計(jì)算機(jī)組成原理第五章中央處理器[四]_第4頁
計(jì)算機(jī)組成原理第五章中央處理器[四]_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 5.5 5.5 微程序控制器微程序控制器(Microprogrammed (Microprogrammed Control)Control) 鑒于組合邏輯控制器設(shè)計(jì)方法的兩大缺點(diǎn)鑒于組合邏輯控制器設(shè)計(jì)方法的兩大缺點(diǎn):(1):(1)邏輯實(shí)邏輯實(shí)現(xiàn)復(fù)雜現(xiàn)復(fù)雜,(2),(2)不易擴(kuò)充和修改不易擴(kuò)充和修改,1951,1951年劍橋的年劍橋的WilkesWilkes教授提出教授提出微程序控制器的設(shè)計(jì)思想微程序控制器的設(shè)計(jì)思想:將機(jī)器指令分解成若干基本的:將機(jī)器指令分解成若干基本的微命令序列微命令序列, , 用二進(jìn)制代碼表示這些微命令用二進(jìn)制代碼表示這些微命令, ,并編成微指令并編成微指令, ,多條微指

2、令再形成微程序多條微指令再形成微程序, ,在制造在制造CPUCPU時(shí)固化在時(shí)固化在CPUCPU中的中的一個(gè)控制存儲(chǔ)器一個(gè)控制存儲(chǔ)器(CM)(CM)中中, ,執(zhí)行一條機(jī)器指令時(shí)執(zhí)行一條機(jī)器指令時(shí),CPU,CPU依此從依此從CMCM中取出微指令中取出微指令, ,從而產(chǎn)生微命令從而產(chǎn)生微命令, ,因此又稱為存儲(chǔ)邏輯因此又稱為存儲(chǔ)邏輯. .上述思想用一篇論文的形式提出,論文題為上述思想用一篇論文的形式提出,論文題為“The Best The Best Way to Design an Automatic Calculating Way to Design an Automatic Calculatin

3、g Machine.”Machine.”Proceedings,Manchester University Computer Proceedings,Manchester University Computer Inaugural Conference,JulyInaugural Conference,July 1951 1951文中給出的設(shè)計(jì)方案叫做文中給出的設(shè)計(jì)方案叫做WilkesWilkes模型。模型。5.5.1 5.5.1 微程序控制器的提出微程序控制器的提出 由于需要快速和相對(duì)廉價(jià)的控制存儲(chǔ)器由于需要快速和相對(duì)廉價(jià)的控制存儲(chǔ)器(Control (Control Memory),Mem

4、ory),而當(dāng)時(shí)的技術(shù)水平難以提供支持而當(dāng)時(shí)的技術(shù)水平難以提供支持.1964.1964年年2 2月月,Hill“Stored Logical Programming and Applications” ,Hill“Stored Logical Programming and Applications” Datamation, February 1964,Datamation, February 1964,對(duì)微程序的未來做了展望對(duì)微程序的未來做了展望. .同年同年4 4月月, ,采用微程序的采用微程序的IBM 360IBM 360問世問世, ,至此至此, ,微程序的各種微程序的各種應(yīng)用得到不斷發(fā)

5、展應(yīng)用得到不斷發(fā)展, ,作為應(yīng)用之一的作為應(yīng)用之一的, ,就是微程序控制器就是微程序控制器. .5.5.2 5.5.2 基本概念基本概念(Basic Concepts)(Basic Concepts) 微命令微命令: :即微操作控制信號(hào)即微操作控制信號(hào), ,是構(gòu)成控制信號(hào)序列的最小是構(gòu)成控制信號(hào)序列的最小單位單位, ,由控制器通過控制線向有關(guān)部件發(fā)出。由控制器通過控制線向有關(guān)部件發(fā)出。 微操作微操作: :由微命令控制實(shí)現(xiàn)的最基本的操作。由微命令控制實(shí)現(xiàn)的最基本的操作。 關(guān)系關(guān)系:微命令是微操作的控制信號(hào),而微操作是微命令:微命令是微操作的控制信號(hào),而微操作是微命令所控制的操作過程,二者一一對(duì)應(yīng)

6、,在計(jì)算內(nèi)部實(shí)質(zhì)上是所控制的操作過程,二者一一對(duì)應(yīng),在計(jì)算內(nèi)部實(shí)質(zhì)上是同一個(gè)信號(hào)。同一個(gè)信號(hào)。 微指令微指令(Microinstructions):(Microinstructions):在機(jī)器的一個(gè)在機(jī)器的一個(gè)CPUCPU周期中周期中, ,一組實(shí)現(xiàn)一定操作功能的微命令的組合一組實(shí)現(xiàn)一定操作功能的微命令的組合, ,以編碼的形式以編碼的形式存放在存放在CMCM的一個(gè)單元中的一個(gè)單元中. .把一條機(jī)器指令中一個(gè)機(jī)器周期內(nèi)的微命令信息放把一條機(jī)器指令中一個(gè)機(jī)器周期內(nèi)的微命令信息放 在一條微指令中在一條微指令中. . 控制存儲(chǔ)器中每個(gè)單元存放一條微指令控制存儲(chǔ)器中每個(gè)單元存放一條微指令. . 微命令字

7、段微命令字段: : 可直接按位或通過譯碼提供微命令可直接按位或通過譯碼提供微命令 微指令格式微指令格式微命令字段微命令字段微地址字段微地址字段微操作控制字段微操作控制字段 順序控制字段順序控制字段 微地址字段微地址字段: :控制產(chǎn)生下一條微指令地址控制產(chǎn)生下一條微指令地址 機(jī)器指令與微指令、微程序的關(guān)系機(jī)器指令與微指令、微程序的關(guān)系 機(jī)器指令是提供給使用者編程的基本單位機(jī)器指令是提供給使用者編程的基本單位, ,每一每一條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作. . 一條機(jī)器指令對(duì)應(yīng)一組微指令組成的微程序一條機(jī)器指令對(duì)應(yīng)一組微指令組成的微程序. .

8、可可見見, ,一條機(jī)器指令對(duì)應(yīng)多條微指令一條機(jī)器指令對(duì)應(yīng)多條微指令, ,而一條微指令可而一條微指令可為多個(gè)機(jī)器指令服務(wù)為多個(gè)機(jī)器指令服務(wù). .關(guān)系如下圖所示:關(guān)系如下圖所示:微程序微程序(Microprogram)(Microprogram) : :由微指令組成的序列稱為由微指令組成的序列稱為微程序微程序, , 一條機(jī)器指令的功能由一段微程序來實(shí)現(xiàn)一條機(jī)器指令的功能由一段微程序來實(shí)現(xiàn). . 求求解解問問題題的的算算法法ADD R1ADD R1,R2R2STA M1STA M11 1i ii+1i+1mm主存主存ADDADD指令指令的微程序的微程序STASTA指令指令的微程序的微程序控存控存(C

9、M)(CM) 主存主存: :用于存放程序和數(shù)據(jù)用于存放程序和數(shù)據(jù), ,在在CPUCPU外部外部, ,用用RAMRAM實(shí)現(xiàn)實(shí)現(xiàn). . 控存控存: :用于存放微程序用于存放微程序, ,在在CPUCPU內(nèi)部?jī)?nèi)部, ,用用ROMROM實(shí)現(xiàn)實(shí)現(xiàn). .控制存控制存儲(chǔ)器的字長(zhǎng)等于微指令的長(zhǎng)度儲(chǔ)器的字長(zhǎng)等于微指令的長(zhǎng)度, ,其總?cè)萘咳Q于微指令的其總?cè)萘咳Q于微指令的字長(zhǎng)和微程序的總長(zhǎng)度字長(zhǎng)和微程序的總長(zhǎng)度. .機(jī)器語言程序機(jī)器語言程序圖圖5.25 5.25 機(jī)器語言程序與微程序關(guān)系示意圖機(jī)器語言程序與微程序關(guān)系示意圖例例: :已知某計(jì)算機(jī)有已知某計(jì)算機(jī)有8080條指令條指令 , ,平均每條指令由平均每條指令

10、由 1212條微條微指令組成指令組成, ,其中有一條取指微指令是所有指令共用的其中有一條取指微指令是所有指令共用的, ,設(shè)微指令長(zhǎng)度為設(shè)微指令長(zhǎng)度為3232位位, ,計(jì)算計(jì)算CMCM容量容量. . 解解: :微指令所占的二進(jìn)制位數(shù)微指令所占的二進(jìn)制位數(shù)=(12+79=(12+7911) 11) 32=88132=8813232 所以所以,CM,CM容量可選容量可選1K1K32 32 另見教材另見教材P.210P.210第第6 6題題. . 注意注意: : 一條機(jī)器指令對(duì)應(yīng)一段微程序一條機(jī)器指令對(duì)應(yīng)一段微程序, ,而任何一條機(jī)器指而任何一條機(jī)器指令的取指階段的操作都是相同的令的取指階段的操作都是

11、相同的( (公操作公操作), ),所以所以, ,通常將公共通常將公共的部分提出來的部分提出來, ,編成一個(gè)共用微程序編成一個(gè)共用微程序( (取指微程序取指微程序), ),放在控存放在控存的開始位置的開始位置. . 微指令周期微指令周期: :讀出微指令的時(shí)間讀出微指令的時(shí)間+ +執(zhí)行該微指執(zhí)行該微指令的時(shí)間令的時(shí)間, , 通常通常一個(gè)微指令周期與一個(gè)一個(gè)微指令周期與一個(gè)CPUCPU周期周期的時(shí)間相等的時(shí)間相等. .T1T1T2T2T3T3T4T4T1T1T2T2T3T3T4T4讀微指令讀微指令 執(zhí)行微指令執(zhí)行微指令微指令周期微指令周期CPUCPU周期周期 圖圖5.265.26 CPUCPU周期與

12、微指令周期的關(guān)系周期與微指令周期的關(guān)系 相斥性微命令相斥性微命令: :不能同時(shí)或不能在同一個(gè)不能同時(shí)或不能在同一個(gè)CPUCPU周期內(nèi)并周期內(nèi)并行執(zhí)行的微命令行執(zhí)行的微命令; ; 相容性微命令相容性微命令: :能同時(shí)或在同一個(gè)能同時(shí)或在同一個(gè)CPUCPU周期內(nèi)并行執(zhí)行周期內(nèi)并行執(zhí)行的微命令的微命令. . 例如例如: P166: P166頁雙總線頁雙總線CPUCPU結(jié)構(gòu)圖中結(jié)構(gòu)圖中, ,找相斥性微命令找相斥性微命令 (1) (1) 將數(shù)據(jù)送到內(nèi)部總線的信號(hào)將數(shù)據(jù)送到內(nèi)部總線的信號(hào)(XXo)(XXo)是相斥的是相斥的, ,如如DRo,PCoDRo,PCo等等; ; (2) (2) 由內(nèi)部總線接受數(shù)據(jù)

13、的信號(hào)由內(nèi)部總線接受數(shù)據(jù)的信號(hào)(XXin)(XXin)是不存在相斥關(guān)系是不存在相斥關(guān)系, ,但由于兩個(gè)寄存器同時(shí)獲得同一數(shù)據(jù)的可能性不大但由于兩個(gè)寄存器同時(shí)獲得同一數(shù)據(jù)的可能性不大, ,因此因此算做相斥性命令算做相斥性命令; ;(3) (3) 同一部件的同一類操作是互斥的同一部件的同一類操作是互斥的, ,如對(duì)如對(duì)ALUALU的各種操的各種操作作+,-,+,-,對(duì)內(nèi)存的讀寫操作對(duì)內(nèi)存的讀寫操作R/WR/W等等. .5.5.3 5.5.3 微程序控制器的構(gòu)成及工作原理微程序控制器的構(gòu)成及工作原理 1 1、微控制器主要由控制存儲(chǔ)器、微控制器主要由控制存儲(chǔ)器(CM)(CM)、微指令寄存器、微指令寄存器

14、(IR) (IR) 、微地址寄存器、微地址寄存器(AR)(AR)、微地址轉(zhuǎn)移邏輯、譯碼與驅(qū)、微地址轉(zhuǎn)移邏輯、譯碼與驅(qū)動(dòng)電路等幾部分組成動(dòng)電路等幾部分組成. . 控制存儲(chǔ)器控制存儲(chǔ)器(CM):(CM):存放實(shí)現(xiàn)全部指令系統(tǒng)的微指令存放實(shí)現(xiàn)全部指令系統(tǒng)的微指令, ,它是一種它是一種ROM. ROM. CMCM的一行表示存放的是一條微指令的一行表示存放的是一條微指令, ,列線輸出微指令代碼列線輸出微指令代碼, ,行列交叉處有黑點(diǎn)表示該位信息行列交叉處有黑點(diǎn)表示該位信息為為“1”,1”,否則為否則為“0”.0”. 微指令寄存器微指令寄存器(IR)(IR) : :存放由控制存儲(chǔ)器存放由控制存儲(chǔ)器(CM)

15、(CM)讀出的一讀出的一條微指令,其字長(zhǎng)與微指令字長(zhǎng)相同條微指令,其字長(zhǎng)與微指令字長(zhǎng)相同. .微指令通常分為微指令通常分為兩大字段:操作控制字段與地址控制字段。操作控制兩大字段:操作控制字段與地址控制字段。操作控制字段經(jīng)譯碼或直接產(chǎn)生一組微命令,控制有關(guān)部件完字段經(jīng)譯碼或直接產(chǎn)生一組微命令,控制有關(guān)部件完成微指令規(guī)定的微操作。地址控制字段指示下條微指成微指令規(guī)定的微操作。地址控制字段指示下條微指令地址的形成方式或直接給出下條微指令地址。令地址的形成方式或直接給出下條微指令地址。 微地址寄存器微地址寄存器(AR):存放要訪問的下一條:存放要訪問的下一條微指令的地址微指令的地址. . 微地址轉(zhuǎn)移邏

16、輯:不出現(xiàn)分支時(shí)微地址轉(zhuǎn)移邏輯:不出現(xiàn)分支時(shí), , 微地址寄微地址寄存器直接給出下一條微指令的地址存器直接給出下一條微指令的地址; ;當(dāng)出現(xiàn)分當(dāng)出現(xiàn)分支時(shí)支時(shí), ,則需要修改微地址寄存器的值則需要修改微地址寄存器的值, ,然后給然后給出下一條微指令的地址出下一條微指令的地址. .地址轉(zhuǎn)移邏輯自動(dòng)完地址轉(zhuǎn)移邏輯自動(dòng)完成修改微地址的任務(wù)成修改微地址的任務(wù). . 譯碼與驅(qū)動(dòng)電路:對(duì)微地址寄存器中的微地譯碼與驅(qū)動(dòng)電路:對(duì)微地址寄存器中的微地址進(jìn)行譯碼,找到被訪問的控存單元并驅(qū)動(dòng)址進(jìn)行譯碼,找到被訪問的控存單元并驅(qū)動(dòng)其進(jìn)行讀取操作。其進(jìn)行讀取操作。 微地址轉(zhuǎn)移邏輯微地址轉(zhuǎn)移邏輯微地址寄存器微地址寄存器地

17、址地址譯碼譯碼驅(qū)動(dòng)驅(qū)動(dòng)IRIRMDRMDR譯譯 碼碼微操作控制字段微操作控制字段 順序控制字段順序控制字段. .控制存儲(chǔ)器控制存儲(chǔ)器ROMROM圖圖5.275.27 WilkesWilkes微程序控制器原理框圖微程序控制器原理框圖微指令寄存器微指令寄存器微命令微命令指令操作碼指令操作碼主存主存RAMRAMMARMARPCPCPSRPSRPSWPSW(1)(1)(2)(2)(3)(3) (4)(4) (5)(5) 從微程序控制器的組成框圖可以看出:從微程序控制器的組成框圖可以看出:PCPC、IRIR、PSRPSR等與組合邏輯控制器并無區(qū)別,它等與組合邏輯控制器并無區(qū)別,它們的主要區(qū)別在于微操作控

18、制信號(hào)形成部們的主要區(qū)別在于微操作控制信號(hào)形成部件不同。件不同。 組合邏輯控制器中的復(fù)雜組合邏輯網(wǎng)絡(luò)在組合邏輯控制器中的復(fù)雜組合邏輯網(wǎng)絡(luò)在微程序控制其中被規(guī)整的存儲(chǔ)邏輯所替代。微程序控制其中被規(guī)整的存儲(chǔ)邏輯所替代。存儲(chǔ)邏輯包括存放微程序的控制存儲(chǔ)器及存儲(chǔ)邏輯包括存放微程序的控制存儲(chǔ)器及其相關(guān)的邏輯。其相關(guān)的邏輯。2 2、工作原理工作原理( (上圖中所標(biāo)示的序號(hào)表示微程序控上圖中所標(biāo)示的序號(hào)表示微程序控制器的工作過程制器的工作過程) ) (1)(1)執(zhí)行取指微指令或微程序。機(jī)器開始運(yùn)行時(shí),自動(dòng)將執(zhí)行取指微指令或微程序。機(jī)器開始運(yùn)行時(shí),自動(dòng)將取指令微程序的入口微地址取指令微程序的入口微地址( (一

19、般為一般為CMCM的的0 0號(hào)單元號(hào)單元) )送到送到微地址寄存器微地址寄存器(AR)(AR),并從,并從CMCM中讀出相應(yīng)的微指令送入中讀出相應(yīng)的微指令送入微指令寄存器微指令寄存器(IR)(IR)。取指微程序中各個(gè)微命令使取指微程序中各個(gè)微命令使CPUCPU訪訪問主存,將取出的機(jī)器指令送到指令寄存器問主存,將取出的機(jī)器指令送到指令寄存器IRIR,并修改,并修改程序計(jì)數(shù)器的內(nèi)容,為下條機(jī)器指令準(zhǔn)備地址。程序計(jì)數(shù)器的內(nèi)容,為下條機(jī)器指令準(zhǔn)備地址。(2) (2) IRIR中機(jī)器指令的操作碼字段通過中機(jī)器指令的操作碼字段通過“微地址轉(zhuǎn)移邏微地址轉(zhuǎn)移邏輯輯”產(chǎn)生與該機(jī)器指令功能對(duì)應(yīng)的微程序的產(chǎn)生與該機(jī)

20、器指令功能對(duì)應(yīng)的微程序的入口入口地址地址, ,并送入微地址寄存器并送入微地址寄存器(AR) (AR) 。(5)(5)微地址寄存器中的順序控制字段及有關(guān)狀態(tài)條件送往微地址寄存器中的順序控制字段及有關(guān)狀態(tài)條件送往“微地址轉(zhuǎn)移邏輯微地址轉(zhuǎn)移邏輯”,產(chǎn)生下一條微指令的微地址,再讀,產(chǎn)生下一條微指令的微地址,再讀取并執(zhí)行下條微指令。如此循環(huán),直到一條機(jī)器指令的微取并執(zhí)行下條微指令。如此循環(huán),直到一條機(jī)器指令的微程序全部執(zhí)行完畢。程序全部執(zhí)行完畢。(6)(6)執(zhí)行完一條機(jī)器指令的微程序后,回到公用的執(zhí)行完一條機(jī)器指令的微程序后,回到公用的“取機(jī)取機(jī)器指令器指令”微程序微程序( (即,回到即,回到CMCM的

21、的0 0號(hào)單元號(hào)單元) ),繼續(xù)第,繼續(xù)第(1)(1)步。步。(3) AR(3) AR中的微地址經(jīng)譯碼、驅(qū)動(dòng),中的微地址經(jīng)譯碼、驅(qū)動(dòng),從被選的控制存儲(chǔ)器從被選的控制存儲(chǔ)器單元中取出一條微指令單元中取出一條微指令,送入微指令寄存器送入微指令寄存器IRIR 。(4)(4) IRIR中中的微操作控制字段經(jīng)譯碼或直接產(chǎn)生一組微命令,的微操作控制字段經(jīng)譯碼或直接產(chǎn)生一組微命令,并送往有關(guān)功能部件,控制其完成規(guī)定的微操作。并送往有關(guān)功能部件,控制其完成規(guī)定的微操作。 5.6 5.6 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 主要內(nèi)容為微指令結(jié)構(gòu)的設(shè)計(jì):主要內(nèi)容為微指令結(jié)構(gòu)的設(shè)計(jì): 微命令編碼微命令編碼( (微操作控制

22、字段的設(shè)計(jì)微操作控制字段的設(shè)計(jì)) ) 微地址的形成微地址的形成( (順序控制字段的設(shè)計(jì)順序控制字段的設(shè)計(jì)) ) 微指令格式:水平型和垂直型微指令微指令格式:水平型和垂直型微指令 微程序控制器設(shè)計(jì)的關(guān)鍵問題微程序控制器設(shè)計(jì)的關(guān)鍵問題1) 1)微命令的結(jié)構(gòu)格式微命令的結(jié)構(gòu)格式及編碼方法,即如何用一個(gè)二進(jìn)制編碼字表示各個(gè)微命令及編碼方法,即如何用一個(gè)二進(jìn)制編碼字表示各個(gè)微命令;(2)(2)微程序順序控制的方法,即如何解決不同機(jī)器指令所微程序順序控制的方法,即如何解決不同機(jī)器指令所對(duì)應(yīng)的微程序的邏輯銜接,保證微程序的連續(xù)執(zhí)行。對(duì)應(yīng)的微程序的邏輯銜接,保證微程序的連續(xù)執(zhí)行。5.6.1 5.6.1 微命令

23、編碼微命令編碼 即對(duì)微指令中的微操作控制字段進(jìn)行編碼的方法。主即對(duì)微指令中的微操作控制字段進(jìn)行編碼的方法。主要應(yīng)該考慮:如何有利于縮短微指令字長(zhǎng);如何有利于縮要應(yīng)該考慮:如何有利于縮短微指令字長(zhǎng);如何有利于縮短微程序;減少所需的控存空間;有利于提高微程序執(zhí)行短微程序;減少所需的控存空間;有利于提高微程序執(zhí)行速度。速度。 直接表示法直接表示法( (直接控制法、不譯法直接控制法、不譯法) ) 將微指令操作控制字段的每個(gè)二進(jìn)制位定義為一將微指令操作控制字段的每個(gè)二進(jìn)制位定義為一個(gè)微命令個(gè)微命令, ,直接送往相應(yīng)的控制點(diǎn)直接送往相應(yīng)的控制點(diǎn). .選用或不選用某個(gè)微選用或不選用某個(gè)微命令時(shí)命令時(shí), ,只

24、要將表示該微命令的對(duì)應(yīng)位置設(shè)置成只要將表示該微命令的對(duì)應(yīng)位置設(shè)置成0 0或或1 1即即可可, ,所以所以, ,微命令的產(chǎn)生不需要譯碼微命令的產(chǎn)生不需要譯碼. .順序控制字段順序控制字段操作控制字段操作控制字段微操作控制信號(hào)微操作控制信號(hào) 優(yōu)點(diǎn)優(yōu)點(diǎn): :簡(jiǎn)單直觀簡(jiǎn)單直觀, ,執(zhí)行速度快執(zhí)行速度快; ;微命令的并行控制能力微命令的并行控制能力強(qiáng)強(qiáng), ,編制的微程序短編制的微程序短. . 缺點(diǎn)缺點(diǎn): :微指令字太長(zhǎng)微指令字太長(zhǎng); ;空間不能充分利用空間不能充分利用. . 2. 2. 字段直接譯碼法字段直接譯碼法 將微指令的控制字段分為若干個(gè)小字段將微指令的控制字段分為若干個(gè)小字段, ,將一組互斥的將

25、一組互斥的微命令放在一個(gè)字段內(nèi)微命令放在一個(gè)字段內(nèi), , 每種編碼對(duì)應(yīng)一種微命令每種編碼對(duì)應(yīng)一種微命令. .見下圖見下圖: :譯碼譯碼譯碼譯碼譯碼譯碼微命令微命令微命令微命令微命令微命令微操作控制字段微操作控制字段順序控制字段順序控制字段v 特點(diǎn)特點(diǎn):既縮短了指令字長(zhǎng)既縮短了指令字長(zhǎng),又有并行操作的高效率又有并行操作的高效率,執(zhí)行速度也較快執(zhí)行速度也較快.譯碼器有時(shí)間延遲譯碼器有時(shí)間延遲.分段原則分段原則 相斥性微命令分在同一段內(nèi)相斥性微命令分在同一段內(nèi), ,相容性微命令分在不同相容性微命令分在不同段內(nèi)段內(nèi); ; 劃分的字段數(shù)劃分的字段數(shù), ,與需要并行發(fā)出的微命令個(gè)數(shù)有關(guān)與需要并行發(fā)出的微命

26、令個(gè)數(shù)有關(guān), ,若需要并行發(fā)出若需要并行發(fā)出8 8個(gè)微命令個(gè)微命令, ,就可以分為就可以分為8 8段段; ; 每個(gè)小段中包含的信息位不能太多每個(gè)小段中包含的信息位不能太多, ,否則增加譯碼否則增加譯碼線路的時(shí)間和復(fù)雜性線路的時(shí)間和復(fù)雜性. . 每段的長(zhǎng)度可以不等每段的長(zhǎng)度可以不等, ,與具體要求互斥的微命令個(gè)與具體要求互斥的微命令個(gè)數(shù)有關(guān)數(shù)有關(guān). .如某類操作要求互斥的微命令由如某類操作要求互斥的微命令由6 6個(gè)個(gè), ,則字段則字段安排安排3 3位即可位即可. .另外另外, ,一般每個(gè)小段還要留出一個(gè)狀態(tài)一般每個(gè)小段還要留出一個(gè)狀態(tài), ,表示本字段不發(fā)任何現(xiàn)行命令表示本字段不發(fā)任何現(xiàn)行命令;

27、;3. 3. 混合表示法混合表示法 以上兩種的結(jié)合使用:將速度要求高,或與其他控制以上兩種的結(jié)合使用:將速度要求高,或與其他控制信號(hào)都相容的微操作控制信號(hào)以直接方式表示,其他信號(hào)信號(hào)都相容的微操作控制信號(hào)以直接方式表示,其他信號(hào)以編碼方式表示。便于綜合考慮微指令字長(zhǎng)、靈活性和執(zhí)以編碼方式表示。便于綜合考慮微指令字長(zhǎng)、靈活性和執(zhí)行速度方面的要求。行速度方面的要求。字段字段1 1 字段字段2 2 字段字段n n順序控制字段順序控制字段操作控制操作控制譯碼譯碼譯碼譯碼微命令微命令 微命令微命令 微命令微命令I(lǐng)RIRv例:某機(jī)采用微程序控制方式,微指令字長(zhǎng)例:某機(jī)采用微程序控制方式,微指令字長(zhǎng)2424

28、位,微指位,微指令格式的控制部分為水平型編碼;共有微命令令格式的控制部分為水平型編碼;共有微命令3030個(gè),構(gòu)個(gè),構(gòu)成成4 4個(gè)相斥類,各包含個(gè)相斥類,各包含5 5個(gè)、個(gè)、8 8個(gè)、個(gè)、1414個(gè)和個(gè)和3 3個(gè)微命令。請(qǐng)個(gè)微命令。請(qǐng)?jiān)O(shè)計(jì)出微指令控制部分的具體格式。設(shè)計(jì)出微指令控制部分的具體格式。解:按一般原則分段共解:按一般原則分段共4 4段,使用相應(yīng)譯碼器。具體格式段,使用相應(yīng)譯碼器。具體格式見下圖:見下圖:X X X X X X X X X X X X X X X X X X X X X X X X X X 3 3:8 8譯碼器譯碼器4 4:1616譯碼器譯碼器 4 4:1616譯碼器譯碼

29、器 2 2:4 4譯碼器譯碼器 選選5 5個(gè)微命令個(gè)微命令選選8 8個(gè)微命令個(gè)微命令選選1414個(gè)微命令個(gè)微命令選選3 3個(gè)微命令個(gè)微命令例:教材例:教材P.210P.210第第8 8題。題。 某機(jī)有某機(jī)有8 8條微指令條微指令I(lǐng)1I8I1I8,每條微指令所包含的微命令,每條微指令所包含的微命令控制信號(hào)如下表所示??刂菩盘?hào)如下表所示。ajaj分別對(duì)應(yīng)分別對(duì)應(yīng)1010種不同性質(zhì)的微命種不同性質(zhì)的微命令信號(hào)。假設(shè)一條微指令的控制字段僅限令信號(hào)。假設(shè)一條微指令的控制字段僅限8 8位,請(qǐng)安排微位,請(qǐng)安排微指令的控制字段格式。指令的控制字段格式。微指令微指令 a b c d e f g h I ja b

30、 c d e f g h I jI I1 1I I2 2I I3 3I I4 4I I5 5I I6 6I I7 7I I8 8解答:解答:e e,f f,h h兩兩互斥;兩兩互斥;b b,I I,j j也是兩兩互斥。也是兩兩互斥。由此而設(shè)計(jì)符合要求的微指令控制字段格式如下:由此而設(shè)計(jì)符合要求的微指令控制字段格式如下:X X X X X X X XX X X X X X X X0000:無操作:無操作0101:e e1010:f f11 11:h h0000:無操作:無操作0101:b b1010:i i11 11:j j0 0:無操作:無操作1 1:a a0 0:無操作:無操作1 1:c c

31、0 0:無操作:無操作1 1:d d0 0:無操作:無操作1 1:g g 5.6.2 5.6.2 順序控制字段的設(shè)計(jì)順序控制字段的設(shè)計(jì) 順序控制字段的作用,是解決微指令執(zhí)行的順序控制順序控制字段的作用,是解決微指令執(zhí)行的順序控制問題,即,如何產(chǎn)生后繼微指令地址。問題,即,如何產(chǎn)生后繼微指令地址。 首先,看如何形成微程序的入口地址。首先,看如何形成微程序的入口地址。 一、微程序入口地址的形成一、微程序入口地址的形成 1. 1. 執(zhí)行取指微程序執(zhí)行取指微程序 位置位置: : 通常放在通常放在CMCM的的0 0號(hào)或號(hào)或1 1號(hào)單元開始的一段連續(xù)單號(hào)單元開始的一段連續(xù)單元中元中. . 作用作用: :將

32、一條機(jī)器指令從內(nèi)存取出將一條機(jī)器指令從內(nèi)存取出, ,送到送到IR.IR. 2. 2. 根據(jù)機(jī)器指令的操作碼指出微程序的入口地址根據(jù)機(jī)器指令的操作碼指出微程序的入口地址( (初始微初始微地址地址), ),這是一種多分支這是一種多分支( (多路轉(zhuǎn)移多路轉(zhuǎn)移) )的情況的情況. . 例例: : 某機(jī)采用微程序控制器設(shè)計(jì)某機(jī)采用微程序控制器設(shè)計(jì), ,已知每條機(jī)器指令的執(zhí)行已知每條機(jī)器指令的執(zhí)行過程均可分解為過程均可分解為8 8條微指令組成的微程序條微指令組成的微程序, ,該機(jī)指令系統(tǒng)采該機(jī)指令系統(tǒng)采用用6 6位定長(zhǎng)操作碼格式位定長(zhǎng)操作碼格式,CM,CM至少應(yīng)能容納多少條微指令至少應(yīng)能容納多少條微指令?

33、 ?如如何確定機(jī)器指令操作碼與該指令微程序入口地址的對(duì)應(yīng)關(guān)何確定機(jī)器指令操作碼與該指令微程序入口地址的對(duì)應(yīng)關(guān)系系, ,給出具體方案給出具體方案. . 如果機(jī)器指令操作碼字段的位數(shù)和位置固定如果機(jī)器指令操作碼字段的位數(shù)和位置固定, ,可以根可以根據(jù)指令操作碼一次轉(zhuǎn)移到微程序的入口據(jù)指令操作碼一次轉(zhuǎn)移到微程序的入口, ,采用的采用的方法是直方法是直接使操作碼與微地址碼的部分位相對(duì)應(yīng)接使操作碼與微地址碼的部分位相對(duì)應(yīng). . 解解: CM: CM可容納的微指令條數(shù)為可容納的微指令條數(shù)為 2 26 68=5128=512 由于由于CMCM的容量為的容量為512512個(gè)單元個(gè)單元, ,微地址寄存微地址寄存

34、器為器為9 9位位, ,其中高其中高6 6位為機(jī)器指令的操作瑪位為機(jī)器指令的操作瑪, ,它與它與任意低任意低3 3位拼接位拼接, ,即可形成微程序的入口地址即可形成微程序的入口地址. .0 0 0 0 0 0 0 0 0 0 0 0 OPOPARAR微程序入口地址微程序入口地址( (初始微地址初始微地址) )的形成的形成 二、后繼微地址的形成二、后繼微地址的形成 1. 1.計(jì)數(shù)器方式計(jì)數(shù)器方式 借鑒了用借鑒了用PCPC計(jì)數(shù)產(chǎn)生機(jī)器指令地址的方法計(jì)數(shù)產(chǎn)生機(jī)器指令地址的方法, ,在微在微 程程序控制器中設(shè)置一個(gè)硬件計(jì)數(shù)器叫微程序計(jì)數(shù)器序控制器中設(shè)置一個(gè)硬件計(jì)數(shù)器叫微程序計(jì)數(shù)器PC(PC(或或MPC

35、)MPC); 順序執(zhí)行微程序時(shí)順序執(zhí)行微程序時(shí),(PC)+1PC,(PC)+1PC; 微程序出現(xiàn)轉(zhuǎn)移時(shí)微程序出現(xiàn)轉(zhuǎn)移時(shí), ,由微指令地址字段中轉(zhuǎn)移部分由微指令地址字段中轉(zhuǎn)移部分結(jié)合轉(zhuǎn)移條件把新地址送入結(jié)合轉(zhuǎn)移條件把新地址送入PC.PC. 找到初始微地址之后,執(zhí)行相應(yīng)微程序找到初始微地址之后,執(zhí)行相應(yīng)微程序, ,每條微指令每條微指令執(zhí)行完畢后都要根據(jù)要求形成后繼微地址執(zhí)行完畢后都要根據(jù)要求形成后繼微地址. . 計(jì)數(shù)器方式的微指令格式計(jì)數(shù)器方式的微指令格式 T(0)T(0) 微命令字段微命令字段普通微指令普通微指令T(1)T(1) 轉(zhuǎn)移控制轉(zhuǎn)移控制轉(zhuǎn)移地址轉(zhuǎn)移地址轉(zhuǎn)移微指令轉(zhuǎn)移微指令 為區(qū)別普通微

36、指令和轉(zhuǎn)移微指令,增加一位標(biāo)志位為區(qū)別普通微指令和轉(zhuǎn)移微指令,增加一位標(biāo)志位T T。 轉(zhuǎn)移微指令除標(biāo)志位轉(zhuǎn)移微指令除標(biāo)志位(T)(T)外,又分為轉(zhuǎn)移控制字段和轉(zhuǎn)外,又分為轉(zhuǎn)移控制字段和轉(zhuǎn)移地址字段。當(dāng)轉(zhuǎn)移條件滿足時(shí),將轉(zhuǎn)移地址字段作為移地址字段。當(dāng)轉(zhuǎn)移條件滿足時(shí),將轉(zhuǎn)移地址字段作為下一個(gè)微地址;若轉(zhuǎn)移條件不滿足,則直接從下一個(gè)微地址;若轉(zhuǎn)移條件不滿足,則直接從PCPC中取中取得下一條微指令的微地址。得下一條微指令的微地址。 “ “轉(zhuǎn)移控制轉(zhuǎn)移控制”字段的位數(shù)由微程序流程圖的分支個(gè)數(shù)決字段的位數(shù)由微程序流程圖的分支個(gè)數(shù)決定,可采用定,可采用譯碼方式譯碼方式和和直接方式直接方式。 例例: :下圖為

37、一微程序流程圖下圖為一微程序流程圖, ,每一個(gè)方框代表一每一個(gè)方框代表一條條微指令微指令, ,分別用字符分別用字符A-PA-P表示其執(zhí)行的表示其執(zhí)行的微操作微操作, ,根據(jù)給定的微程序流程根據(jù)給定的微程序流程, ,設(shè)計(jì)微指令的順序控制設(shè)計(jì)微指令的順序控制字段字段, ,并為每條微指令分配一個(gè)微地址并為每條微指令分配一個(gè)微地址. .A AB BC CD DH HL LP PE EF FI IMMJ JNNG GK KOO(1)(1)根據(jù)根據(jù)IRIR1 1、IRIR0 0做四路分支做四路分支(2)(2)根據(jù)運(yùn)算結(jié)果狀態(tài)位根據(jù)運(yùn)算結(jié)果狀態(tài)位C CZ Z的值的值做兩路分支做兩路分支該微程序有兩處分支該微

38、程序有兩處分支: :IRIR1 1IRIR0 0=00=00IRIR1 1IRIR0 0=01=01IRIR1 1IRIR0 0=10=10IRIR1 1IRIR0 0=11=11(1)(1)(2)(2) C CZ Z=0=0C CZ Z=1=1返回返回解解: :由于有由于有1616條微指令條微指令, ,再加上一些轉(zhuǎn)移微指令再加上一些轉(zhuǎn)移微指令, ,安排微地址安排微地址為為6 6位位. . 轉(zhuǎn)移控制字段的長(zhǎng)度與微程序流程圖中的轉(zhuǎn)移情況有轉(zhuǎn)移控制字段的長(zhǎng)度與微程序流程圖中的轉(zhuǎn)移情況有關(guān)關(guān), ,現(xiàn)有現(xiàn)有2 2種轉(zhuǎn)移情況種轉(zhuǎn)移情況, ,加上無條件轉(zhuǎn)移加上無條件轉(zhuǎn)移, ,故需用故需用2 2位轉(zhuǎn)移控制位

39、轉(zhuǎn)移控制字段字段(P1P0)(P1P0)來控制來控制( (譯碼方式譯碼方式). ). P1P0=00: P1P0=00:無條件轉(zhuǎn)移無條件轉(zhuǎn)移; ; P1P0=01: P1P0=01:由指令的操作碼來由指令的操作碼來IR1IR0IR1IR0修改修改PC5PC5和和PC4;PC4; P1P0=10: P1P0=10:由由CzCz修改修改PC3PC3增量方式的微地址安排如下圖所示增量方式的微地址安排如下圖所示: : A A B B C C D DH H E E F FI IJ JG GK KIR1IR0=00IR1IR0=0110110 00000000000010000010 101 001000

40、00001100001000001001 110001010010010 00 1 00000000010011010100000011000011001011010011011 100 000000 011100略略011010計(jì)數(shù)器方式形成后續(xù)地址圖示:計(jì)數(shù)器方式形成后續(xù)地址圖示:T T 轉(zhuǎn)移地址轉(zhuǎn)移地址CMCMPCPC微地址微地址轉(zhuǎn)移邏輯轉(zhuǎn)移邏輯OPOP條件碼條件碼狀態(tài)標(biāo)志狀態(tài)標(biāo)志 IRIR轉(zhuǎn)移控制轉(zhuǎn)移控制IRIR圖圖5.29 5.29 計(jì)數(shù)器方式形成后續(xù)地址結(jié)構(gòu)框圖計(jì)數(shù)器方式形成后續(xù)地址結(jié)構(gòu)框圖 2 2、斷定斷定( (下址字段下址字段) )方式方式優(yōu)點(diǎn)優(yōu)點(diǎn): : 簡(jiǎn)單簡(jiǎn)單; ;要求組成

41、一個(gè)微程序的多條微指令在要求組成一個(gè)微程序的多條微指令在CMCM中中連續(xù)存放連續(xù)存放; ;微指令字長(zhǎng)縮短微指令字長(zhǎng)縮短. . 缺點(diǎn):微程序中會(huì)出現(xiàn)大量的轉(zhuǎn)移微指令,導(dǎo)致執(zhí)行缺點(diǎn):微程序中會(huì)出現(xiàn)大量的轉(zhuǎn)移微指令,導(dǎo)致執(zhí)行時(shí)間增加;需要區(qū)分普通微指令和轉(zhuǎn)移微指令,使微程序時(shí)間增加;需要區(qū)分普通微指令和轉(zhuǎn)移微指令,使微程序控制電路復(fù)雜化控制電路復(fù)雜化; ;CMCM物理地址分配不方便物理地址分配不方便. .斷定方式:后繼微程序地址可由設(shè)計(jì)者指定或由測(cè)試判斷定方式:后繼微程序地址可由設(shè)計(jì)者指定或由測(cè)試判別字段控制產(chǎn)生別字段控制產(chǎn)生. .斷定方式的微指令格式斷定方式的微指令格式: :微操作碼微操作碼測(cè)試條

42、件測(cè)試條件 下地址下地址操作控制字段操作控制字段順序控制字段順序控制字段微操作碼微操作碼測(cè)試條件測(cè)試條件 下地址下地址 (2) (2)微程序出現(xiàn)分支時(shí),按順序控制字段給出的測(cè)試微程序出現(xiàn)分支時(shí),按順序控制字段給出的測(cè)試條件字段結(jié)合指令操作碼、狀態(tài)條件等來形成后繼微條件字段結(jié)合指令操作碼、狀態(tài)條件等來形成后繼微地址。地址。 說明:說明: (1)(1)微程序不產(chǎn)生分支時(shí),直接由微指令中順序控制字微程序不產(chǎn)生分支時(shí),直接由微指令中順序控制字段給出后繼地址,該字段即段給出后繼地址,該字段即“下地址下地址”字段。字段。 注意該字段位數(shù)的要求。注意該字段位數(shù)的要求。 注意該字段位數(shù)的要求。注意該字段位數(shù)的

43、要求。3 3、斷定方式與計(jì)數(shù)器方式結(jié)合的方法確定后續(xù)地址斷定方式與計(jì)數(shù)器方式結(jié)合的方法確定后續(xù)地址略略例:用下址方式為上例中的部分微指令序列安排微地址。例:用下址方式為上例中的部分微指令序列安排微地址。解解: : 先確定微指令格式中順序控制字段的安排。先確定微指令格式中順序控制字段的安排。(1)(1)下址字段位數(shù)下址字段位數(shù)APAP共為共為1616條微指令,需要條微指令,需要1616個(gè)微地個(gè)微地址,故用址,故用4 4位;位;(2)(2)測(cè)試條件字段測(cè)試條件字段P P的位數(shù)的位數(shù)22位位( (描述后繼地址的形成條描述后繼地址的形成條件件) )。OPOP測(cè)試條件測(cè)試條件P P下地址下地址0000取

44、下地址取下地址0101按按IR1IR1、IR0IR0轉(zhuǎn)移(修改末兩位)轉(zhuǎn)移(修改末兩位)1010按按C Cz z值轉(zhuǎn)移(修改末一位)值轉(zhuǎn)移(修改末一位)1111空空再考慮微地址的分配。微地址分配的關(guān)鍵是帶有分支再考慮微地址的分配。微地址分配的關(guān)鍵是帶有分支的微指令,的微指令,為了簡(jiǎn)化地址修改邏輯,通常使帶分支的微為了簡(jiǎn)化地址修改邏輯,通常使帶分支的微指令的下址字段被測(cè)試條件控制的那幾位為全指令的下址字段被測(cè)試條件控制的那幾位為全0 0。無轉(zhuǎn)移無轉(zhuǎn)移時(shí),微地址可任意分配,一般由小到大分配,將時(shí),微地址可任意分配,一般由小到大分配,將CMCM中沒中沒有分配的微地址分配到不同的微指令中去。有分配的微

45、地址分配到不同的微指令中去。00000000(0 0)00010001(1 1)00100010(2 2)01010000(4 4)01010101(5 5)01011010(6 6)010111 11(7 7)00110011(3 3)10001000(8 8)10011001(9 9)1011010 0(1010)1011011 1(11 11)11001100(1212)11011101(1313)11101110(1414)11111111(1515)A A 0000 00010001B B 0000 00100010C C 010101010000D D 0000 00110011E

46、 E 1010 10101010F F 000011011101G G 0000 00000000H H 0000 10001000I I0000 10111011J J0000 11101110K K 0000 00000000L L 0000 10011001MM 0000 11001100NN 0000 11111111OO 0000 00000000P P 0000 10011001IRIR1 1IRIR0 0=00=00IRIR1 1IRIR0 0=01=01IRIR1 1IRIR0 0=10=10IRIR1 1IRIR0 0=11=11根據(jù)運(yùn)算結(jié)果狀態(tài)根據(jù)運(yùn)算結(jié)果狀態(tài)位位Cz,Cz

47、,修改修改AR0,AR0,做做兩路選擇兩路選擇根據(jù)根據(jù)IR1IR1,IR0IR0,修,修改改AR0AR0和和AR1AR1,做做四路分支四路分支0000 A 00 00010000 A 00 00010001 B 00 00100001 B 00 00100010 C 01 01000010 C 01 01000011 E 10 1010 0011 E 10 1010 0100 D 00 00110100 D 00 00110101 H 00 10000101 H 00 10000110 L 00 10010110 L 00 10010111 P 00 10010111 P 00 1001100

48、0 I 00 10111000 I 00 10111001 M 00 1100 1001 M 00 1100 1010 F 00 1101 1010 F 00 1101 1011 J 00 11101011 J 00 11101100 N 00 11111100 N 00 11111101 G 00 00001101 G 00 00001110 K 00 00001110 K 00 00001111 O 00 00001111 O 00 0000二進(jìn)制二進(jìn)制十進(jìn)制十進(jìn)制微地址微地址微指令微指令操作控制字段操作控制字段順序控制字段順序控制字段微命令微命令判別測(cè)試判別測(cè)試下地址下地址按按OPOP轉(zhuǎn)

49、移轉(zhuǎn)移按按Cz轉(zhuǎn)移轉(zhuǎn)移由指令由指令OPOP控制控制由由Cz控制控制v微地址修改電路如圖:微地址修改電路如圖:與與與與與與ARAR0 0 AR AR0 0P=01P=01P=10P=10IR1 IR0 Z IR1 IR0 Z 或或ARAR0 0ARAR1 1控制存儲(chǔ)器控制存儲(chǔ)器地址譯碼地址譯碼微地址寄存器微地址寄存器微地址轉(zhuǎn)移微地址轉(zhuǎn)移邏輯邏輯P P字段字段控制字段控制字段OPOPIRIR狀態(tài)條件狀態(tài)條件圖圖5.30 5.30 斷定方式形成后繼地址結(jié)構(gòu)圖斷定方式形成后繼地址結(jié)構(gòu)圖 斷定方式形成后繼地址結(jié)構(gòu)圖如下圖所示:斷定方式形成后繼地址結(jié)構(gòu)圖如下圖所示: 本例中微地址轉(zhuǎn)移邏輯的內(nèi)部結(jié)構(gòu)如下圖所

50、示:本例中微地址轉(zhuǎn)移邏輯的內(nèi)部結(jié)構(gòu)如下圖所示:與與與與與與ARAR1 1 AR AR0 0 AR AR0 0P=01P=01P=10P=10IR1 IR0 CzIR1 IR0 Cz圖圖5.31 5.31 微地址修改電路圖微地址修改電路圖 5.6.3 5.6.3微指令格式微指令格式一、水平型微指令一、水平型微指令一次能定義并能并行執(zhí)行多個(gè)微命令的微指令一次能定義并能并行執(zhí)行多個(gè)微命令的微指令.從編從編碼方式上看碼方式上看,直接表示法、字段直接譯碼法及混合法直接表示法、字段直接譯碼法及混合法,都屬都屬于水平型微指令于水平型微指令.特點(diǎn)特點(diǎn):并行性好并行性好,效率高效率高,靈活性強(qiáng)靈活性強(qiáng),執(zhí)行一條

51、機(jī)器指令所執(zhí)行一條機(jī)器指令所需微指令的數(shù)目少需微指令的數(shù)目少,執(zhí)行時(shí)間短執(zhí)行時(shí)間短;但微指令字較長(zhǎng)但微指令字較長(zhǎng),增加了增加了CMCM的橫向容量的橫向容量.二、垂直型微指令二、垂直型微指令采用類似機(jī)器指令操作碼的方法采用類似機(jī)器指令操作碼的方法,在微指令中設(shè)置操在微指令中設(shè)置操作碼字段作碼字段,由操作碼規(guī)定微指令的功能由操作碼規(guī)定微指令的功能.是是一次只能執(zhí)行一次只能執(zhí)行一個(gè)微命令的微指令一個(gè)微命令的微指令.特點(diǎn)特點(diǎn):并行性差并行性差,效率低效率低,執(zhí)行一條機(jī)器指令所需微指令執(zhí)行一條機(jī)器指令所需微指令的數(shù)目多的數(shù)目多,執(zhí)行時(shí)間長(zhǎng)執(zhí)行時(shí)間長(zhǎng),但微指令與機(jī)器指令相似但微指令與機(jī)器指令相似,容易掌握

52、容易掌握. 兩種微指令格式的比較兩種微指令格式的比較 水平型微指令比垂直型微指令并行操作能水平型微指令比垂直型微指令并行操作能力強(qiáng)、效率高、靈活性強(qiáng)力強(qiáng)、效率高、靈活性強(qiáng). 水平型微指令執(zhí)行一條機(jī)器指令所需的微水平型微指令執(zhí)行一條機(jī)器指令所需的微指令數(shù)目少指令數(shù)目少,因此速度比垂直型微指令的速因此速度比垂直型微指令的速度快度快. 水平型微指令用較短的微程序結(jié)構(gòu)換取較水平型微指令用較短的微程序結(jié)構(gòu)換取較長(zhǎng)的微指令結(jié)構(gòu)長(zhǎng)的微指令結(jié)構(gòu),垂直型微指令正好相反垂直型微指令正好相反,它它以較短的微指令結(jié)構(gòu)換取較長(zhǎng)的微程序結(jié)構(gòu)以較短的微指令結(jié)構(gòu)換取較長(zhǎng)的微程序結(jié)構(gòu). 水平型微指令與機(jī)器指令差別較大水平型微指

53、令與機(jī)器指令差別較大,而垂直而垂直型微指令與機(jī)器指令相似型微指令與機(jī)器指令相似. 5.6.4 5.6.4 微程序控制器設(shè)計(jì)舉例微程序控制器設(shè)計(jì)舉例一、模型機(jī)總體結(jié)構(gòu)如下圖所示。一、模型機(jī)總體結(jié)構(gòu)如下圖所示。 (2)(2)寄存器的組織寄存器的組織 ( (一一) )部件設(shè)置部件設(shè)置 1 1、CPUCPU包括三個(gè)部分:包括三個(gè)部分: (1)(1)運(yùn)算部件運(yùn)算部件 以以ALUALU為核心,它的一個(gè)輸入端設(shè)有累加器為核心,它的一個(gè)輸入端設(shè)有累加器ACAC,另一,另一個(gè)輸入端數(shù)據(jù)直接來自個(gè)輸入端數(shù)據(jù)直接來自DRDR;ALUALU的輸出直接送累加器的輸出直接送累加器ACAC。 程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC,

54、通過,通過ALUALU實(shí)現(xiàn)增實(shí)現(xiàn)增1 1操作;操作; 指令寄存器指令寄存器IRIR; 與主存的接口寄存器與主存的接口寄存器MARMAR、MDRMDR (3) (3) 控制單元控制單元 主體即主體即CMCM,也是微程序設(shè)計(jì)的目標(biāo),另需配有:微地,也是微程序設(shè)計(jì)的目標(biāo),另需配有:微地址修改邏輯、址修改邏輯、ARAR、IRIR等。等。2 2、主存、主存MM 按字編址,字長(zhǎng)按字編址,字長(zhǎng)1616位;位; 接收接收CMCM的的READ/WRITEREAD/WRITE及及MREQMREQ微操作控制信號(hào)。微操作控制信號(hào)。3 3、數(shù)據(jù)通路、數(shù)據(jù)通路 CPU CPU內(nèi)部數(shù)據(jù)通路采用專用數(shù)據(jù)通路和單總線相結(jié)合內(nèi)部

55、數(shù)據(jù)通路采用專用數(shù)據(jù)通路和單總線相結(jié)合的方式。的方式。圖中圖中 表示信息傳送方向,表示信息傳送方向, 表示控制門,表示控制門, 表示微操表示微操作控制信號(hào)。作控制信號(hào)。ALU狀態(tài)寄存器狀態(tài)寄存器ACPCAR指令譯碼器指令譯碼器控制單元控制單元CU存儲(chǔ)器存儲(chǔ)器 數(shù)據(jù)總線數(shù)據(jù)總線+1PC ARMREQR/WDBUS ARDBUS PCCDR ACDR ACDR ALUIRDRDR IRIR(AR) DBUS+_DBUS DRDR DBUS IR(AR)OPDBUS DRDBUS PC內(nèi)部控制信號(hào)內(nèi)部控制信號(hào)MREQ R/W 外部控制信號(hào)外部控制信號(hào)IR( (二二) )模型機(jī)指令系統(tǒng)模型機(jī)指令系統(tǒng)O

56、POP I I D DIRIR1515IRIR1414IRIR1313IRIR1212IRIR0 0IRIR11 11IRIR(1)(1)指令格式:?jiǎn)巫珠L(zhǎng)單地址指令,格式如下:指令格式:?jiǎn)巫珠L(zhǎng)單地址指令,格式如下: 操作碼操作碼3 3位,指令系統(tǒng)最多表示位,指令系統(tǒng)最多表示2 23 3共共8 8條機(jī)器指令;條機(jī)器指令; 尋址方式尋址方式1 1位,表示有兩種尋址方式:位,表示有兩種尋址方式: I=0I=0,存儲(chǔ)器直接尋址;,存儲(chǔ)器直接尋址; I=1I=1,存儲(chǔ)器間接尋址,存儲(chǔ)器間接尋址 形式地址形式地址D D為為1212位位 (2) (2) 指令系統(tǒng)指令系統(tǒng) 模型機(jī)指令系統(tǒng)包括模型機(jī)指令系統(tǒng)包括

57、5 5條指令,如下所示:條指令,如下所示:CLA CLA ; ; 清清ACACADD I DADD I D ; I=0 ; I=0為直接尋址為直接尋址, ,即即(AC)+(D) AC(AC)+(D) AC I=1 I=1為間接尋址為間接尋址, ,即即(AC)+(D) AC(AC)+(D) ACSTA I DSTA I D ; I=0 ; I=0為直接尋址為直接尋址, ,即即(AC) D(AC) D I=1 I=1為間接尋址為間接尋址, , 即即(AC) (D)(AC) (D)LDA I DLDA I D ; I=0 ; I=0為直接尋址為直接尋址, ,即即(D) AC(D) AC I=1 I=

58、1為間接尋址為間接尋址, , 即即(D) AC(D) ACJMP I DJMP I D ; I=0 ; I=0為直接尋址為直接尋址, ,即即D PCD PC I=1 I=1為間接尋址為間接尋址, ,即即 (D) PC(D) PC 二、微程序控制器設(shè)計(jì)步驟二、微程序控制器設(shè)計(jì)步驟 (1) (1) 根據(jù)根據(jù)CPUCPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列,如下圖所示。成微操作序列,如下圖所示。 圖中每一個(gè)矩形框表示一條微指令。以加法指令圖中每一個(gè)矩形框表示一條微指令。以加法指令A(yù)DDADD為例。為例。 (2) (2) 選擇合適的控制時(shí)序選擇合適的

59、控制時(shí)序微周期微周期T1T1T2T2采用同步控制方式,選用二相控制時(shí)序如下:采用同步控制方式,選用二相控制時(shí)序如下:PC ARPC AR R R,MREQMREQ,+1+1DBUS DRDBUS DRDR IRDR IR取指微程序取指微程序第一處分支第一處分支: :根據(jù)根據(jù)IRIR1515IRIR1414IRIR1313的的值,做值,做5 5路分路分支支C CCLA(IRCLA(IR1515IRIR1414IRIR1313=000)=000)ADD(IRADD(IR1515IRIR1414IRIR1313=001)=001)IR(AR) DBUSIR(AR) DBUSDBUS ARDBUS A

60、R接下頁接下頁第二處分支:根第二處分支:根據(jù)據(jù)IR12IR12的值,做的值,做2 2路分支路分支接上頁接上頁( (以加法指令以加法指令A(yù)DDADD為例為例) )R R,MREQMREQDBUS ARDBUS ARIRIR1212=1(=1(間址間址) )IRIR1212=0(=0(直接尋址直接尋址) )R R,MREQMREQDBUS DRDBUS DRDR ALUDR ALU+ + 其它指令的微操作序列可自己分解其它指令的微操作序列可自己分解(3)(3)對(duì)微命令編碼對(duì)微命令編碼微命令共有微命令共有1616條,其中選通信號(hào)為條,其中選通信號(hào)為11 11個(gè)個(gè)( (如如DBUSARDBUSAR,)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論