計(jì)算機(jī)組成原理課件-64-微程序控制原理_第1頁
計(jì)算機(jī)組成原理課件-64-微程序控制原理_第2頁
計(jì)算機(jī)組成原理課件-64-微程序控制原理_第3頁
計(jì)算機(jī)組成原理課件-64-微程序控制原理_第4頁
計(jì)算機(jī)組成原理課件-64-微程序控制原理_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

北京理工大學(xué)計(jì)算機(jī)學(xué)院第6章6.1中央處理器的功能和組成6.2控制器的組成和實(shí)現(xiàn)方法6.3時(shí)序系統(tǒng)與控制方式6.4微程序控制原理6.5

控制單元的設(shè)計(jì)6.6

流水線技術(shù)6.7

精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)北京理工大學(xué)計(jì)算機(jī)學(xué)院第6章6.1中央處理器的功能和組成北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微程序設(shè)計(jì)技術(shù)的實(shí)質(zhì)是將程序設(shè)計(jì)技術(shù)和存儲(chǔ)技術(shù)相結(jié)合,即用程序設(shè)計(jì)的思想方法來組織操作控制邏輯,將微操作控制信號(hào)按一定規(guī)則進(jìn)行信息編碼(代碼化),形成控制字(微指令),再把這些微指令按時(shí)間先后排列起來,存放在一個(gè)只讀存儲(chǔ)器中。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

每一條機(jī)器指令對(duì)應(yīng)一段“程序”,該“程序”被存放在一個(gè)只讀的控制存儲(chǔ)器中,因?yàn)槊慷巍俺绦颉钡膱?zhí)行結(jié)果是實(shí)現(xiàn)了一條機(jī)器指令的功能,所以我們將這些“程序”稱為指令的微程序。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.1微程序控制的基本概念1.微程序設(shè)計(jì)的提出與發(fā)展微程序設(shè)計(jì)的概念和原理最早是由英國(guó)劍橋大學(xué)的M.V.Wilkes教授于1951年提出來的。1964年,IBM公司在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù),解決了指令系統(tǒng)的兼容問題。70年代以來,由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用,目前,大多數(shù)計(jì)算機(jī)都采用微程序設(shè)計(jì)技術(shù)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.1微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.基本術(shù)語(1)微命令和微操作一條機(jī)器指令可以分解成一個(gè)微操作序列,這些微操作是計(jì)算機(jī)中最基本的、不可再分解的操作。微命令是控制計(jì)算機(jī)各部件完成某個(gè)基本微操作的命令。微命令和微操作是一一對(duì)應(yīng)的。微命令是微操作的控制信號(hào),微操作是微命令的操作過程。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.基本術(shù)語北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微命令有兼容性和互斥性之分,兼容性微命令是指那些可以同時(shí)產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機(jī)器中不允許同時(shí)出現(xiàn)的微命令。兼容和互斥都是相對(duì)的,一個(gè)微命令可以和一些微命令兼容,和另一些微命令互斥。對(duì)于單獨(dú)一個(gè)微命令,談?wù)撈浼嫒莺突コ舛际菦]有意義的。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)微指令、微地址

微指令是指控制存儲(chǔ)器中的一個(gè)單元的內(nèi)容,即控制字,它是若干個(gè)微命令的集合。存放控制字的控制存儲(chǔ)器的單元地址就稱為微地址。一條微指令通常至少包含兩大部分信息:①操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各微操作控制信號(hào)。②順序控制字段,又稱微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)微指令、微北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微指令有垂直型和水平型之分,垂直型微指令接近于機(jī)器指令的格式,每條微指令只能完成一個(gè)基本操作。水平型微指令則具有良好的并行性,每條微指令可以完成較多的基本操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微周期從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行相應(yīng)的微命令所需的全部時(shí)間稱為微周期。(4)微程序一系列微指令的有序集合就是微程序。一條機(jī)器指令對(duì)應(yīng)于一段微程序。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微周期北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

程序指令的集合指令(微程序)微指令的集合微指令微命令的集合微命令北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理程序指令的集北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微程序和程序是兩個(gè)不同的概念。微程序是由微指令組成的,它用于描述機(jī)器指令,實(shí)際上是機(jī)器指令的實(shí)時(shí)解釋器,它是由計(jì)算機(jī)的設(shè)計(jì)者事先編制好并存放在控制存儲(chǔ)器中的。對(duì)于程序員來說,計(jì)算機(jī)系統(tǒng)中微程序一級(jí)的結(jié)構(gòu)和功能是透明的。而程序則最終由機(jī)器指令組成,它是由軟件設(shè)計(jì)人員事先編制好并存放在主存或輔存中的。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

所以說,微程序控制的計(jì)算機(jī)涉及到兩個(gè)層次:一個(gè)是機(jī)器語言或匯編語言程序員所看到的傳統(tǒng)機(jī)器層,包括:機(jī)器指令、工作程序、主存儲(chǔ)器;另一個(gè)是機(jī)器設(shè)計(jì)者看到的微程序?qū)?,包括:微指令、微程序和控制存?chǔ)器。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.2微指令編碼法微指令編碼法指的就是操作控制字段的編碼方法。各類計(jì)算機(jī)的微指令編碼法不同。1.直接控制法(不譯碼法)操作控制字段中的各位分別可以直接控制計(jì)算機(jī),不需要進(jìn)行譯碼。操作控制字段的每一個(gè)獨(dú)立的二進(jìn)制位代表一個(gè)微命令,該位為“1”表示這個(gè)微命令有效,為“0”表示這個(gè)微命令無效。每個(gè)微命令對(duì)應(yīng)并控制數(shù)據(jù)通路中的一個(gè)微操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.2微指北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

這種方法結(jié)構(gòu)簡(jiǎn)單,并行性強(qiáng),操作速度快,但是微指令字太長(zhǎng),若微命令的總數(shù)為N個(gè),則微指令字的操作控制字段就要有N位。另外,在N個(gè)微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會(huì)使信息的利用率下降。操作控制字段……10110北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.最短編碼法最短編碼使得微指令字最短。這種方法將所有的微命令統(tǒng)一編碼,每條微指令只定義一個(gè)微命令。若微命令的總數(shù)為N,操作控制字段的長(zhǎng)度為L(zhǎng),則:

L≥log2N北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.最短編碼法北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

最短編碼法的微指令字長(zhǎng)最短,但要通過一個(gè)微命令譯碼器譯碼以后才能得到需要的微命令。微命令數(shù)目越多,譯碼器就越復(fù)雜。這種方法同一時(shí)刻只能產(chǎn)生一個(gè)微命令,不能充分利用機(jī)器硬件所具有的并行性,使得機(jī)器指令對(duì)應(yīng)的微程序變得很長(zhǎng),而且對(duì)于某些要求在同一時(shí)刻同時(shí)動(dòng)作的組合性微操作將無法實(shí)現(xiàn)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.字段編碼法前兩種編碼法的一個(gè)折衷的方法,既具有兩者的優(yōu)點(diǎn),又克服了它們的缺點(diǎn)。這種方法將操作控制字段分為若干個(gè)小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。這種方法又可進(jìn)一步分為字段直接編碼法和字段間接編碼法。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.字段編碼法北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)字段直接編碼法各字段都可以獨(dú)立地定義本字段的微命令,而和其他字段無關(guān),因此又稱為顯式編碼或單重定義編碼方法。這種方法縮短了微指令字,因此得到了廣泛的應(yīng)用。譯碼器譯碼器譯碼器微指令寄存器微命令微命令微命令操作控制字段順序控制字段……………………北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)字段直接編北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)字段間接編碼法字段間接編碼法是在字段直接編碼法的基礎(chǔ)上,用來進(jìn)一步縮短微指令字長(zhǎng)的方法。間接編碼的含義是,一個(gè)字段的某些編碼不能獨(dú)立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義,因此又稱為隱式編碼或多重定義編碼方法。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)字段間接編北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

字段編碼法中操作控制字段的分段原則:①把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長(zhǎng),而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理②應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。③每個(gè)小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長(zhǎng)度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用000表示不操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

例如,運(yùn)算器的輸出控制信號(hào)有直傳、左移、右移、半字交換等四個(gè),這四個(gè)微命令是互斥的,它們可以安排在同一字段編碼。同樣,存儲(chǔ)器的讀和寫命令也是一對(duì)互斥的微命令。還有象A→C、B→C(A、B、C都是寄存器)這樣的一類微命令也是互斥的微命令,它們不允許在同一時(shí)刻出現(xiàn)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

假設(shè)某計(jì)算機(jī)共有256個(gè)微命令,如果采用直接控制法,微指令的操作控制字段就要有256位;而如果采用最短編碼法,操作控制字段只需要8位就可以了;如果采用字段直接編碼法,若4位為一個(gè)段,共需18段,操作控制字段只需72位,而且在同一時(shí)刻可以并行發(fā)出18個(gè)不同的微命令。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.3微程序控制器的組成和工作過程1.微程序控制器的基本組成微程序控制器比組合邏輯控制器多出以下幾個(gè)部件:

(1)控制存儲(chǔ)器(CM)這是微程序控制器的核心部件,用來存放微程序。

(2)微指令寄存器(IR)用來存放從CM取出的正在執(zhí)行的微指令。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.3微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微地址形成部件用來產(chǎn)生初始微地址和后繼微地址。

(4)微地址寄存器(MAR

)它接受微地址形成部件送來的微地址,為在CM中讀取微指令作準(zhǔn)備。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.微程序控制器的工作過程微程序控制器的工作過程實(shí)際上就是在微程序控制器的控制下,計(jì)算機(jī)執(zhí)行機(jī)器指令的過程。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.微程序控制器北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)執(zhí)行取指令公操作。取指令的公共操作通常由一段取指微程序來完成,這個(gè)取指微程序也可能僅由一條微指令組成。具體的執(zhí)行是:在機(jī)器開始運(yùn)行時(shí),自動(dòng)將取指微程序的入口微地址送MAR,并從CM中讀出相應(yīng)的微指令送入IR。微指令的操作控制字段產(chǎn)生有關(guān)的微命令,用來控制實(shí)現(xiàn)取機(jī)器指令的公共操作。取指微程序的入口地址一般為CM的0號(hào)單元,當(dāng)取指微程序執(zhí)行完后,從主存中取出的機(jī)器指令就已存入指令寄存器IR中了。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)由機(jī)器指令的操作碼字段通過微地址形成部件產(chǎn)生出該機(jī)器指令所對(duì)應(yīng)的微程序的入口地址,并送入MAR。

(3)從CM中逐條取出對(duì)應(yīng)的微指令并執(zhí)行之。

(4)執(zhí)行完對(duì)應(yīng)于一條機(jī)器指令的一段微程序后又回到取指微程序的入口地址,繼續(xù)第(1)步,以完成取下條機(jī)器指令的公共操作。以上是一條機(jī)器指令的執(zhí)行過程,如此周而復(fù)始,直到整個(gè)程序執(zhí)行完畢為止。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.4微程序入口地址的形成每條機(jī)器指令對(duì)應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機(jī)器指令之后,由機(jī)器指令的操作碼字段指出各段微程序的入口地址(初始微地址)。這是一種多分支(或多路轉(zhuǎn)移)的情況,由機(jī)器指令的操作碼轉(zhuǎn)換成初始微地址的方式主要有三種。1.一級(jí)功能轉(zhuǎn)換如果機(jī)器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與入口地址碼的部分位相對(duì)應(yīng)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.4微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

例如,某機(jī)有16條機(jī)器指令,指令操作碼由4位二進(jìn)制數(shù)表示,現(xiàn)以字母表示操作碼,令微程序的入口地址為:

11B00H公用段MOVADD***指令指令指令03H07H3FH…

各微程序的入口地址相差4個(gè)單元。11MOV指令000003HADD指令00017SUB指令0010B北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.二級(jí)功能轉(zhuǎn)換當(dāng)同類機(jī)器指令的操作碼字段的位數(shù)和位置固定,而不同類機(jī)器指令的操作碼的位數(shù)和位置不固定時(shí),就不能再采用一級(jí)功能轉(zhuǎn)換的方法。所謂二級(jí)功能轉(zhuǎn)換是指第一次先按指令類型標(biāo)志轉(zhuǎn)移,以區(qū)分出指令屬于哪一類,如:是單操作數(shù)指令,還是雙操作數(shù)指令等。因?yàn)槊恳活悪C(jī)器指令中操作碼字段的位數(shù)和位置是固定的,所以第二次即可按操作碼區(qū)分出具體是哪條指令,以便找出相應(yīng)微程序的入口微地址。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.二級(jí)功能轉(zhuǎn)換北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.通過PLA電路實(shí)現(xiàn)功能轉(zhuǎn)換當(dāng)機(jī)器指令的操作碼位數(shù)和位置都不固定時(shí),可以采用PLA電路將每條機(jī)器指令的操作碼翻譯成對(duì)應(yīng)的微程序入口地址。這種方法對(duì)于變長(zhǎng)度、變位置的操作碼顯得更有效,而且轉(zhuǎn)換速度較快。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.通過PL北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.5后繼微地址的形成找到初始微地址之后,可以開始執(zhí)行微程序,每條微指令執(zhí)行完畢都要根據(jù)要求形成后繼微地址。后繼微地址的形成方法對(duì)微程序編制的靈活性影響很大,它主要有兩大基本類型:增量方式和斷定方式。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.5后繼北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理1.增量方式(順序-轉(zhuǎn)移型微地址)這種方式和機(jī)器指令的控制方式很類似,它也有順序執(zhí)行、轉(zhuǎn)移和轉(zhuǎn)子之分。順序執(zhí)行時(shí)后繼微地址就是現(xiàn)行微地址加上一個(gè)增量(通常為1);轉(zhuǎn)移或轉(zhuǎn)子時(shí),由微指令的順序控制字段產(chǎn)生轉(zhuǎn)移微地址。因此,在微程序控制器中應(yīng)當(dāng)有一個(gè)微程序計(jì)數(shù)器(PC),為了降低成本,一般情況下都是將微地址寄存器MAR改為具有計(jì)數(shù)功能的寄存器,以代替PC。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理1.增量方式(順北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.斷定方式

斷定方式的后繼微地址可由微程序設(shè)計(jì)者指定,或者根據(jù)微指令所規(guī)定的測(cè)試結(jié)果直接決定后繼微地址的全部或部分值。這是一種直接給定與測(cè)試斷定相結(jié)合的方式,其順序控制字段一般由兩部分組成:非測(cè)試段和測(cè)試段。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.斷定方式

北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)非測(cè)試段,可由設(shè)計(jì)者指定,一般是微地址的高位部分,用來指定后繼微地址在CM中的某個(gè)區(qū)域內(nèi)。

(2)測(cè)試段,根據(jù)有關(guān)狀態(tài)的測(cè)試結(jié)果確定其地址值,一般對(duì)應(yīng)微地址的低位部分。這相當(dāng)于在指定區(qū)域內(nèi)斷定具體的分支。所依據(jù)的測(cè)試狀態(tài)可能是指定的開關(guān)狀態(tài)、指令操作碼、狀態(tài)字等。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

測(cè)試段如果只有一位,則微地址將產(chǎn)生兩個(gè)分支,若有兩位,則最多可產(chǎn)生四個(gè)分支,依此類推,測(cè)試段為n位最多可產(chǎn)生2n個(gè)分支。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.6微程序設(shè)計(jì)微程序設(shè)計(jì)方法(1)水平型微指令及水平型微程序設(shè)計(jì)

水平型微指令是指一次能定義并能并行執(zhí)行多個(gè)微命令的微指令。它的并行操作能力強(qiáng),效率高,靈活性強(qiáng),執(zhí)行一條機(jī)器指令所需微指令的數(shù)目少,執(zhí)行時(shí)間短;但微指令字較長(zhǎng),增加了控存的橫向容量,同時(shí)微指令和機(jī)器指令的差別很大,設(shè)計(jì)者只有熟悉了數(shù)據(jù)通路,才有可能編制出理想的微程序,一般用戶不易掌握。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.6微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)垂直型微指令和垂直型微程序設(shè)計(jì)

垂直型微指令是指一次只能執(zhí)行一個(gè)微命令的微指令。它的并行操作能力差,一般只能實(shí)現(xiàn)一個(gè)微操作,控制一、二個(gè)信息傳送通路,效率低,執(zhí)行一條機(jī)器指令所需的微指令數(shù)目多,執(zhí)行時(shí)間長(zhǎng);但是微指令與機(jī)器指令很相似,所以容易掌握和利用,編程比較簡(jiǎn)單,不必過多地了解數(shù)據(jù)通路的細(xì)節(jié),且微指令字較短。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)垂直型微指北京理工大學(xué)計(jì)算機(jī)學(xué)院第6章6.1中央處理器的功能和組成6.2控制器的組成和實(shí)現(xiàn)方法6.3時(shí)序系統(tǒng)與控制方式6.4微程序控制原理6.5

控制單元的設(shè)計(jì)6.6

流水線技術(shù)6.7

精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)北京理工大學(xué)計(jì)算機(jī)學(xué)院第6章6.1中央處理器的功能和組成北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微程序設(shè)計(jì)技術(shù)的實(shí)質(zhì)是將程序設(shè)計(jì)技術(shù)和存儲(chǔ)技術(shù)相結(jié)合,即用程序設(shè)計(jì)的思想方法來組織操作控制邏輯,將微操作控制信號(hào)按一定規(guī)則進(jìn)行信息編碼(代碼化),形成控制字(微指令),再把這些微指令按時(shí)間先后排列起來,存放在一個(gè)只讀存儲(chǔ)器中。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

每一條機(jī)器指令對(duì)應(yīng)一段“程序”,該“程序”被存放在一個(gè)只讀的控制存儲(chǔ)器中,因?yàn)槊慷巍俺绦颉钡膱?zhí)行結(jié)果是實(shí)現(xiàn)了一條機(jī)器指令的功能,所以我們將這些“程序”稱為指令的微程序。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.1微程序控制的基本概念1.微程序設(shè)計(jì)的提出與發(fā)展微程序設(shè)計(jì)的概念和原理最早是由英國(guó)劍橋大學(xué)的M.V.Wilkes教授于1951年提出來的。1964年,IBM公司在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù),解決了指令系統(tǒng)的兼容問題。70年代以來,由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用,目前,大多數(shù)計(jì)算機(jī)都采用微程序設(shè)計(jì)技術(shù)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.1微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.基本術(shù)語(1)微命令和微操作一條機(jī)器指令可以分解成一個(gè)微操作序列,這些微操作是計(jì)算機(jī)中最基本的、不可再分解的操作。微命令是控制計(jì)算機(jī)各部件完成某個(gè)基本微操作的命令。微命令和微操作是一一對(duì)應(yīng)的。微命令是微操作的控制信號(hào),微操作是微命令的操作過程。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.基本術(shù)語北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微命令有兼容性和互斥性之分,兼容性微命令是指那些可以同時(shí)產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機(jī)器中不允許同時(shí)出現(xiàn)的微命令。兼容和互斥都是相對(duì)的,一個(gè)微命令可以和一些微命令兼容,和另一些微命令互斥。對(duì)于單獨(dú)一個(gè)微命令,談?wù)撈浼嫒莺突コ舛际菦]有意義的。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)微指令、微地址

微指令是指控制存儲(chǔ)器中的一個(gè)單元的內(nèi)容,即控制字,它是若干個(gè)微命令的集合。存放控制字的控制存儲(chǔ)器的單元地址就稱為微地址。一條微指令通常至少包含兩大部分信息:①操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各微操作控制信號(hào)。②順序控制字段,又稱微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)微指令、微北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微指令有垂直型和水平型之分,垂直型微指令接近于機(jī)器指令的格式,每條微指令只能完成一個(gè)基本操作。水平型微指令則具有良好的并行性,每條微指令可以完成較多的基本操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微周期從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行相應(yīng)的微命令所需的全部時(shí)間稱為微周期。(4)微程序一系列微指令的有序集合就是微程序。一條機(jī)器指令對(duì)應(yīng)于一段微程序。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微周期北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

程序指令的集合指令(微程序)微指令的集合微指令微命令的集合微命令北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理程序指令的集北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

微程序和程序是兩個(gè)不同的概念。微程序是由微指令組成的,它用于描述機(jī)器指令,實(shí)際上是機(jī)器指令的實(shí)時(shí)解釋器,它是由計(jì)算機(jī)的設(shè)計(jì)者事先編制好并存放在控制存儲(chǔ)器中的。對(duì)于程序員來說,計(jì)算機(jī)系統(tǒng)中微程序一級(jí)的結(jié)構(gòu)和功能是透明的。而程序則最終由機(jī)器指令組成,它是由軟件設(shè)計(jì)人員事先編制好并存放在主存或輔存中的。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

所以說,微程序控制的計(jì)算機(jī)涉及到兩個(gè)層次:一個(gè)是機(jī)器語言或匯編語言程序員所看到的傳統(tǒng)機(jī)器層,包括:機(jī)器指令、工作程序、主存儲(chǔ)器;另一個(gè)是機(jī)器設(shè)計(jì)者看到的微程序?qū)?,包括:微指令、微程序和控制存?chǔ)器。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.2微指令編碼法微指令編碼法指的就是操作控制字段的編碼方法。各類計(jì)算機(jī)的微指令編碼法不同。1.直接控制法(不譯碼法)操作控制字段中的各位分別可以直接控制計(jì)算機(jī),不需要進(jìn)行譯碼。操作控制字段的每一個(gè)獨(dú)立的二進(jìn)制位代表一個(gè)微命令,該位為“1”表示這個(gè)微命令有效,為“0”表示這個(gè)微命令無效。每個(gè)微命令對(duì)應(yīng)并控制數(shù)據(jù)通路中的一個(gè)微操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.2微指北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

這種方法結(jié)構(gòu)簡(jiǎn)單,并行性強(qiáng),操作速度快,但是微指令字太長(zhǎng),若微命令的總數(shù)為N個(gè),則微指令字的操作控制字段就要有N位。另外,在N個(gè)微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會(huì)使信息的利用率下降。操作控制字段……10110北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.最短編碼法最短編碼使得微指令字最短。這種方法將所有的微命令統(tǒng)一編碼,每條微指令只定義一個(gè)微命令。若微命令的總數(shù)為N,操作控制字段的長(zhǎng)度為L(zhǎng),則:

L≥log2N北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.最短編碼法北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

最短編碼法的微指令字長(zhǎng)最短,但要通過一個(gè)微命令譯碼器譯碼以后才能得到需要的微命令。微命令數(shù)目越多,譯碼器就越復(fù)雜。這種方法同一時(shí)刻只能產(chǎn)生一個(gè)微命令,不能充分利用機(jī)器硬件所具有的并行性,使得機(jī)器指令對(duì)應(yīng)的微程序變得很長(zhǎng),而且對(duì)于某些要求在同一時(shí)刻同時(shí)動(dòng)作的組合性微操作將無法實(shí)現(xiàn)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.字段編碼法前兩種編碼法的一個(gè)折衷的方法,既具有兩者的優(yōu)點(diǎn),又克服了它們的缺點(diǎn)。這種方法將操作控制字段分為若干個(gè)小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。這種方法又可進(jìn)一步分為字段直接編碼法和字段間接編碼法。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理3.字段編碼法北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)字段直接編碼法各字段都可以獨(dú)立地定義本字段的微命令,而和其他字段無關(guān),因此又稱為顯式編碼或單重定義編碼方法。這種方法縮短了微指令字,因此得到了廣泛的應(yīng)用。譯碼器譯碼器譯碼器微指令寄存器微命令微命令微命令操作控制字段順序控制字段……………………北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)字段直接編北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)字段間接編碼法字段間接編碼法是在字段直接編碼法的基礎(chǔ)上,用來進(jìn)一步縮短微指令字長(zhǎng)的方法。間接編碼的含義是,一個(gè)字段的某些編碼不能獨(dú)立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義,因此又稱為隱式編碼或多重定義編碼方法。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)字段間接編北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

字段編碼法中操作控制字段的分段原則:①把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長(zhǎng),而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理②應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。③每個(gè)小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長(zhǎng)度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用000表示不操作。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

例如,運(yùn)算器的輸出控制信號(hào)有直傳、左移、右移、半字交換等四個(gè),這四個(gè)微命令是互斥的,它們可以安排在同一字段編碼。同樣,存儲(chǔ)器的讀和寫命令也是一對(duì)互斥的微命令。還有象A→C、B→C(A、B、C都是寄存器)這樣的一類微命令也是互斥的微命令,它們不允許在同一時(shí)刻出現(xiàn)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

假設(shè)某計(jì)算機(jī)共有256個(gè)微命令,如果采用直接控制法,微指令的操作控制字段就要有256位;而如果采用最短編碼法,操作控制字段只需要8位就可以了;如果采用字段直接編碼法,若4位為一個(gè)段,共需18段,操作控制字段只需72位,而且在同一時(shí)刻可以并行發(fā)出18個(gè)不同的微命令。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.3微程序控制器的組成和工作過程1.微程序控制器的基本組成微程序控制器比組合邏輯控制器多出以下幾個(gè)部件:

(1)控制存儲(chǔ)器(CM)這是微程序控制器的核心部件,用來存放微程序。

(2)微指令寄存器(IR)用來存放從CM取出的正在執(zhí)行的微指令。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.3微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微地址形成部件用來產(chǎn)生初始微地址和后繼微地址。

(4)微地址寄存器(MAR

)它接受微地址形成部件送來的微地址,為在CM中讀取微指令作準(zhǔn)備。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(3)微北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.微程序控制器的工作過程微程序控制器的工作過程實(shí)際上就是在微程序控制器的控制下,計(jì)算機(jī)執(zhí)行機(jī)器指令的過程。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.微程序控制器北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(1)執(zhí)行取指令公操作。取指令的公共操作通常由一段取指微程序來完成,這個(gè)取指微程序也可能僅由一條微指令組成。具體的執(zhí)行是:在機(jī)器開始運(yùn)行時(shí),自動(dòng)將取指微程序的入口微地址送MAR,并從CM中讀出相應(yīng)的微指令送入IR。微指令的操作控制字段產(chǎn)生有關(guān)的微命令,用來控制實(shí)現(xiàn)取機(jī)器指令的公共操作。取指微程序的入口地址一般為CM的0號(hào)單元,當(dāng)取指微程序執(zhí)行完后,從主存中取出的機(jī)器指令就已存入指令寄存器IR中了。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理(2)由機(jī)器指令的操作碼字段通過微地址形成部件產(chǎn)生出該機(jī)器指令所對(duì)應(yīng)的微程序的入口地址,并送入MAR。

(3)從CM中逐條取出對(duì)應(yīng)的微指令并執(zhí)行之。

(4)執(zhí)行完對(duì)應(yīng)于一條機(jī)器指令的一段微程序后又回到取指微程序的入口地址,繼續(xù)第(1)步,以完成取下條機(jī)器指令的公共操作。以上是一條機(jī)器指令的執(zhí)行過程,如此周而復(fù)始,直到整個(gè)程序執(zhí)行完畢為止。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.4微程序入口地址的形成每條機(jī)器指令對(duì)應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機(jī)器指令之后,由機(jī)器指令的操作碼字段指出各段微程序的入口地址(初始微地址)。這是一種多分支(或多路轉(zhuǎn)移)的情況,由機(jī)器指令的操作碼轉(zhuǎn)換成初始微地址的方式主要有三種。1.一級(jí)功能轉(zhuǎn)換如果機(jī)器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與入口地址碼的部分位相對(duì)應(yīng)。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理6.4.4微程北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理

例如,某機(jī)有16條機(jī)器指令,指令操作碼由4位二進(jìn)制數(shù)表示,現(xiàn)以字母表示操作碼,令微程序的入口地址為:

11B00H公用段MOVADD***指令指令指令03H07H3FH…

各微程序的入口地址相差4個(gè)單元。11MOV指令000003HADD指令00017SUB指令0010B北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.二級(jí)功能轉(zhuǎn)換當(dāng)同類機(jī)器指令的操作碼字段的位數(shù)和位置固定,而不同類機(jī)器指令的操作碼的位數(shù)和位置不固定時(shí),就不能再采用一級(jí)功能轉(zhuǎn)換的方法。所謂二級(jí)功能轉(zhuǎn)換是指第一次先按指令類型標(biāo)志轉(zhuǎn)移,以區(qū)分出指令屬于哪一類,如:是單操作數(shù)指令,還是雙操作數(shù)指令等。因?yàn)槊恳活悪C(jī)器指令中操作碼字段的位數(shù)和位置是固定的,所以第二次即可按操作碼區(qū)分出具體是哪條指令,以便找出相應(yīng)微程序的入口微地址。北京理工大學(xué)計(jì)算機(jī)學(xué)院6.4微程序控制原理2.二級(jí)功能轉(zhuǎn)換北京理工大

溫馨提示

  • 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)論