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

下載本文檔

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

文檔簡介

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

控制單元的設計6.6

流水線技術6.7

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

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

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

微命令有兼容性和互斥性之分,兼容性微命令是指那些可以同時產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機器中不允許同時出現(xiàn)的微命令。兼容和互斥都是相對的,一個微命令可以和一些微命令兼容,和另一些微命令互斥。對于單獨一個微命令,談論其兼容和互斥都是沒有意義的。北京理工大學計算機學院6.4微程序控制原理北京理工大學計算機學院6.4微程序控制原理(2)微指令、微地址

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

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

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

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

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

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

L≥log2N北京理工大學計算機學院6.4微程序控制原理2.最短編碼法北京理工大學計算機學院6.4微程序控制原理

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

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

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

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

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

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

(4)微地址寄存器(MAR

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

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

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

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

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

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

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

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

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

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

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

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

控制單元的設計6.6

流水線技術6.7

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

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

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

微命令有兼容性和互斥性之分,兼容性微命令是指那些可以同時產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機器中不允許同時出現(xiàn)的微命令。兼容和互斥都是相對的,一個微命令可以和一些微命令兼容,和另一些微命令互斥。對于單獨一個微命令,談論其兼容和互斥都是沒有意義的。北京理工大學計算機學院6.4微程序控制原理北京理工大學計算機學院6.4微程序控制原理(2)微指令、微地址

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

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

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

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

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

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

L≥log2N北京理工大學計算機學院6.4微程序控制原理2.最短編碼法北京理工大學計算機學院6.4微程序控制原理

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

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

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

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

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

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

(4)微地址寄存器(MAR

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論