微程序控制器_第1頁
微程序控制器_第2頁
微程序控制器_第3頁
微程序控制器_第4頁
微程序控制器_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微程序控制器微命令和微操作微命令控制部件通過控制線向執(zhí)行部件發(fā)出的各種控制命令。微操作執(zhí)行部件接受微命令后所進(jìn)行的操作??刂撇考c執(zhí)行部件通過控制線和反饋信息進(jìn)行聯(lián)系。簡單運算器數(shù)據(jù)通路微指令和微程序

G:/Chap05/5.4.htm在機器的一個CPU周期中,一組實現(xiàn)一定操作功能的微命令的組合。微程序?qū)崿F(xiàn)一條機器指令功能的許多條微指令組成的序列??刂撇考c執(zhí)行部件通過控制線和反饋信息進(jìn)行聯(lián)系。1R1->X微程序控制器原理框圖微程序控制器原理框圖它主要由控制存儲器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。控制存儲器控制存儲器用來存放實現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲器。一旦微程序固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時間總和稱為一個微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲器的工作周期??刂拼鎯ζ鞯淖珠L就是微指令字的長度,其存儲容量視機器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對控制存儲器的要求是速度快,讀出周期要短。微指令寄存器微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測試字段的信息。地址轉(zhuǎn)移邏輯

在一般情況下,微指令由控制存儲器讀出后直接給出下一條微指令的地址,通常我們簡稱微地址,這個微地址信息就存放在微地址寄存器中。如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時,意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過判別測試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動完成修改微地址的任務(wù)。微程序舉例

一條機器指令對應(yīng)一個微程序。十進(jìn)制加法指令十進(jìn)制加法指令的功能是用BCD碼來完成十進(jìn)制數(shù)的加法運算。在十進(jìn)制中,兩數(shù)相加之和大于9時產(chǎn)生進(jìn)位,用BCD碼進(jìn)行加法運算,當(dāng)和數(shù)大于9時,必須進(jìn)行加6修正。00000000000011111100000010100100100000000010010100010011000000001000001000100100100000000000CPU周期與微指令周期的關(guān)系在串行方式的微程序控制器中:微指令周期=讀出微指令時間+執(zhí)行該條微指令時間下圖示出了某小型機中CPU周期與微指令周期的時間關(guān)系:設(shè)某計算機運算器框圖如圖(a)所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表。機器采用串行微程序控制方式,其微指令周期見圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1μs;ALU工作是加法器做加法運算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。微指令字長12位,微指令格式如下:RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001SUB4.11**101000005.10**100100006.**1101000101MOV7.10**101000008.**1101001011

RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

微程序控制器原理框圖5.4.2微程序設(shè)計技術(shù)設(shè)計微指令應(yīng)當(dāng)追求的目標(biāo)有利于縮短微指令的長度有利于縮小CM的容量有利于提高微程序的執(zhí)行速度有利于對微指令的修改有利于提高微程序設(shè)計的靈活性5..4.2微程序設(shè)計技術(shù)微命令編碼微地址的形成方法微指令格式動態(tài)微程序設(shè)計編碼表示法:將操作控制字段分為若干個小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。5.4.2微程序設(shè)計技術(shù)編碼表示法特點:可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執(zhí)行速度減慢微命令編碼對微指令中的操作控制字段采用的表示方法。1.直接表示法其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。2.編碼表示法編碼表示法是把一組相斥性的微命令信號組成一個小組(即一個字段),然后通過小組(字段)譯碼器對每一個微命令信號進(jìn)行譯碼,譯碼輸出作為操作控制信號,其微指令結(jié)構(gòu)如下圖所示。3.混合表示法這種方法是把直接表示法與字段編碼法混合使用,以便能綜合考慮指令字長、靈活性、執(zhí)行微程序速度等方面的要求。設(shè)某計算機運算器框圖如圖(a)所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表。機器采用串行微程序控制方式,其微指令周期見圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1μs;ALU工作是加法器做加法運算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。微指令字長12位,微指令格式如下:RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

要求用二進(jìn)制代碼寫出如下指令的微指令:ADDR0,R1;(R0)+(R1)→R1SUBR2,R3;(R3)-(R2)→R3MOVR2,R3;(R2)→(R3)指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001SUB4.11**101000005.10**100100006.**1101000101MOV7.10**101000008.**1101001011

RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

某32位機共有微操作控制信號52個,構(gòu)成5個相斥類的微命令組,各組分別包含4個、5個、8個、15個、和20個微命令。已知可判定的外部條件有CY和ZF兩個,微指令字長29位。給出采用斷定方式的水平型微指令格式控制存儲器的容量應(yīng)為多少?解:1.微指令的格式:下址字段條件測試2位20個微命令5位15個微命令4位8條微命令4位5條微命令3位4條微命令3位8位2.控存容量:28X29=256X29各控制字段應(yīng)包含一種不發(fā)出命令的情況,條件測試字段中包含一種不轉(zhuǎn)移的情況微地址的形成方法微指令執(zhí)行的順序控制問題,實際上是如何確定下一條微指令的地址問題。通常,產(chǎn)生后繼微地址有兩種方法:計數(shù)器方式多路轉(zhuǎn)移方式微地址形成方法1.計數(shù)器方式這種方法同用程序計數(shù)器來產(chǎn)生機器指令地址的方法相類似。在順序執(zhí)行微指令時,后繼微地址現(xiàn)行微地址加上一個增量來產(chǎn)生;在非順序執(zhí)行微指令時,必須通過轉(zhuǎn)移方式,使現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行指定后繼微地址的下一條微指令。在這種方法中,微地址寄存器通常改為計數(shù)器。為此,順序執(zhí)行的微指令序列就必須安排在控制存儲器的連續(xù)單元中。計數(shù)器方式的基本特點是:微指令的順序控制字段較短,微地址產(chǎn)生機構(gòu)簡單。但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。2.多路轉(zhuǎn)移方式(也稱斷定方式)在多路轉(zhuǎn)移方式中,當(dāng)微程序不產(chǎn)生分支時,后繼微地直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時,有若干“后選”微地址可供選擇:即按順序控制字段的“判別測試”標(biāo)志和“狀態(tài)條件”信息來選擇其中一個微地址。“狀態(tài)條件”有n位標(biāo)志,可實現(xiàn)微程序2的n次方路轉(zhuǎn)移,涉及微地址寄存器的n位。多路轉(zhuǎn)移方式的特點是:能以較短的順序控制字段配合,實現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快,但轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計。微地址形成方法微地址寄存器有6位(μA5-μA0),當(dāng)需要修改其內(nèi)容時,可通過某一位觸發(fā)器的強置端S將其置“1”。現(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺指令微程序時,按IR4,IR5的狀態(tài)進(jìn)行4路分支。請按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯。按所給設(shè)計條件,微程序有三種判別測試,分別為P1,P2,P3。由于修改μA5-μA0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外還要考慮時間因素T4(假設(shè)CPU周期最后一個節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達(dá)式如下: μA5=P3·IR5·T4 μA4=P3·IR4·T4 μA3=P1·IR3·T4 μA2=P1·IR2·T4 μA1=P1·IR1·T4 μA0=P1·IR0·T4+P2·C·T4由于從觸發(fā)器強置端修改,故前5個表達(dá)式可用“與非”門實現(xiàn),最后一個用“與或非”門實現(xiàn)。機器指令與微指令的關(guān)系一會兒取機器指令,一會兒取微指令,它們之間到底是什么關(guān)系?1.一條機器指令對應(yīng)一個微程序,這個微程序是由若干條微指令序列組成的。因此,一條機器指令的功能是由若干條微指令組成的序列來實現(xiàn)的。簡言之,一條機器指令所完成的操作劃分成若干條微指令來完成,由微指令進(jìn)行解釋和執(zhí)行。2.從指令與微指令,程序與微程序,地址與微地址的一一對應(yīng)關(guān)系來看,前者與內(nèi)存儲器有關(guān),后者與控制存儲器有關(guān)。3.指令與機器周期概念中歸納了五條典型指令的指令周期,并給出了這五條指令的微程序流程圖,每一個CPU周期就對應(yīng)一條微指令。這就告訴我們?nèi)绾卧O(shè)計微程序,也將使我們進(jìn)一步體驗到機器指令與微指令的關(guān)系。微指令格式微指令的編譯方法是決定微指令格式的主要因素。微指令的格式大體分成兩類:水平型微指令和垂直型微指令。1.水平型微指令一次能定義并執(zhí)行多個并行操作微命令的微指令,叫做水平型微指令。其一般格式如下:控制字段判別測試字段下地址字段按照控制字段的編碼方法不同,水平型微指令又分為三種:全水平型(不譯法)微指令,字段譯碼法水平型微指令,以及直接和譯碼相混合的水平型微指令。2.垂直型微指令微指令中設(shè)置微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能,稱為垂直型微指令。其結(jié)構(gòu)類似于機器指令的結(jié)構(gòu)。它有操作碼,在一條微指令中只有1—2個微操作命令,每條微指令的功能簡單,因此,實現(xiàn)一條機器指令的微程序要比水平型微指令編寫的微程序長得多。它是采用較長的微程序結(jié)構(gòu)去換取較短的微指令結(jié)構(gòu)。垂直型微指令舉例寄存器—寄存器傳送微指令其功能是把源寄存器數(shù)據(jù)送目標(biāo)寄存器。13—15位為微操作碼(下同),源寄存器和目標(biāo)寄存器編址各5位,可指定31個寄存器。運算器控制微指令其功能是選擇ALU的左、右兩輸入源信息,按ALU字段所指定的運算功能(8種操作)進(jìn)行處理,并將結(jié)果送入暫存器中。左、右輸入源編址可指定31種信息源之一垂直型微指令舉例水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強,效率高,靈活性強,垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。動態(tài)微程序設(shè)計微程序設(shè)計技術(shù)有靜態(tài)微程序設(shè)計和動態(tài)微程序設(shè)計之分。1.靜態(tài)微程序設(shè)計對應(yīng)于一臺計算機的機器指令只有一組微程序,而且這一組微程序設(shè)計好之后,一般無須改變而且也不好改變,這種微程序設(shè)計技術(shù)稱為靜態(tài)微程序設(shè)計。

2.動態(tài)微程序設(shè)計

當(dāng)采用EPROM作為控制存儲器時,還可以通過改變微指令和微程序來改變機器的指令系統(tǒng),這種微程序設(shè)計技術(shù)稱為動態(tài)微程序設(shè)計。采用動態(tài)微程序設(shè)計時,微指令和微程序可以根據(jù)需要加以改變,因而可在一臺機器上實現(xiàn)不同類型的指令系統(tǒng)。這種技術(shù)又稱為仿真其他機器指令系統(tǒng),以便擴大機器的功能。假設(shè)某機器有128

溫馨提示

  • 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

提交評論