微程序控制器_第1頁(yè)
微程序控制器_第2頁(yè)
微程序控制器_第3頁(yè)
微程序控制器_第4頁(yè)
微程序控制器_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

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

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

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

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

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

2.動(dòng)態(tài)微程序設(shè)計(jì)

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

溫馨提示

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