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

微程序控制器第一頁(yè),共六十四頁(yè),2022年,8月28日5.1微程序控制的基本原理5.2微程序控制器的組成與工作過(guò)程5.3微程序設(shè)計(jì)技術(shù)5.4模型機(jī)的微程序控制器第二頁(yè),共六十四頁(yè),2022年,8月28日組合邏輯控制器存在的兩個(gè)比較突出的缺點(diǎn):設(shè)計(jì)復(fù)雜、繁瑣,缺乏規(guī)律性,設(shè)計(jì)效率低。不易修改和擴(kuò)充,缺乏靈活性。微程序的概念和原理:英國(guó)劍橋大學(xué)的教授于1951年提出的主要缺點(diǎn):速度比較慢第三頁(yè),共六十四頁(yè),2022年,8月28日5.1微程序控制的基本原理ABCDEFGHIJKLMN控制信號(hào):硬連邏輯第四頁(yè),共六十四頁(yè),2022年,8月28日ABCDEFGHIJKLMN控制信號(hào):硬連邏輯T0:11000101000010第一個(gè)節(jié)拍第五頁(yè),共六十四頁(yè),2022年,8月28日ABCDEFGHIJKLMN控制信號(hào):硬連邏輯第二個(gè)節(jié)拍00110000110000T1:第六頁(yè),共六十四頁(yè),2022年,8月28日ABCDEFGHIJKLMN控制信號(hào):硬連邏輯第三個(gè)節(jié)拍00001010000000T2:第七頁(yè),共六十四頁(yè),2022年,8月28日ABCDEFGHIJKLMN控制信號(hào):硬連邏輯第四個(gè)節(jié)拍00000000001101T3:第八頁(yè),共六十四頁(yè),2022年,8月28日ABCDEFGHIJKLMN控制信號(hào):T0:1100010100001000110000110000T1:00001010000000T2:00000000001101T3:微程序控制器00000000000000第九頁(yè),共六十四頁(yè),2022年,8月28日基本思想用二進(jìn)制編碼字(稱為微指令字)來(lái)代替組合邏輯控制器中的微操作控制信號(hào)的產(chǎn)生。例:用“1”表示進(jìn)行相應(yīng)的微操作,“0”表示不進(jìn)行操作,則圖中的微指令字所對(duì)應(yīng)的微操作集合為:

{PC+4,讀指令}(假設(shè)其他各位都是0)5.1微程序控制的基本原理第十頁(yè),共六十四頁(yè),2022年,8月28日5.1微程序控制的基本原理把在一條指令的執(zhí)行過(guò)程中各節(jié)拍要進(jìn)行的微操作集合都用一個(gè)微指令字來(lái)表示,然后把他們按節(jié)拍的先后順序存放到一個(gè)特殊的存儲(chǔ)器中(稱為控制存儲(chǔ)器CM)。執(zhí)行該指令時(shí),按順序依次讀出微指令字。實(shí)質(zhì):

用程序設(shè)計(jì)的思想方法來(lái)組織操作控制邏輯,用規(guī)整的存儲(chǔ)邏輯來(lái)代替繁雜的組合邏輯。第十一頁(yè),共六十四頁(yè),2022年,8月28日5.1微程序控制的基本原理幾個(gè)基本概念微命令和微操作微命令:控制部件向執(zhí)行部件發(fā)出的各種控制命令。

構(gòu)成控制信號(hào)序列的最小單位。例如:打開(kāi)或關(guān)閉某個(gè)控制門(mén),多路器選擇哪個(gè)輸入等。微操作:指執(zhí)行部件接受微命令后所進(jìn)行的最基本的、不可再細(xì)分的操作。分為兩種:相容的微操作:可以同時(shí)進(jìn)行的微操作?;コ獾奈⒉僮鳎翰荒芡瑫r(shí)進(jìn)行的微操作。微命令和微操作是一一對(duì)應(yīng)的。微命令是微操作的控制信號(hào),微操作是微命令的操作過(guò)程。第十二頁(yè),共六十四頁(yè),2022年,8月28日5.1微程序控制的基本原理微指令和微程序微指令:用來(lái)產(chǎn)生微控制信號(hào)的二進(jìn)制編碼字。用于控制完成一組微操作。微程序:一序列微指令構(gòu)成的有序集合。每一條機(jī)器指令都對(duì)應(yīng)于一段微程序,通過(guò)解釋執(zhí)行這段微程序,完成指令所規(guī)定的操作。微指令周期微指令周期:微程序控制器的工作周期。從控制存儲(chǔ)器讀取一條微指令到執(zhí)行完相應(yīng)的微操作所需時(shí)間的最大值。第十三頁(yè),共六十四頁(yè),2022年,8月28日程序、指令、微程序、微指令、微命令、微操作的關(guān)系第十四頁(yè),共六十四頁(yè),2022年,8月28日Wilkes微程序控制器的原理圖控制存儲(chǔ)器CM簡(jiǎn)稱控存,用于存放實(shí)現(xiàn)整個(gè)指令系統(tǒng)的所有微程序。每個(gè)單元存放一條微指令字。微指令寄存器μIR用來(lái)存放從控存讀出的當(dāng)前微指令。微指令中包含兩個(gè)字段操作控制字段:直接與控制信號(hào)線連接,控制相關(guān)的部件完成微指令所規(guī)定的微操作。5.2微程序控制器的組成與工作過(guò)程第十五頁(yè),共六十四頁(yè),2022年,8月28日5.2微程序控制器的組成與工作過(guò)程圖5.2Wilkes微程序控制器原理圖第十六頁(yè),共六十四頁(yè),2022年,8月28日5.2微程序控制器的組成與工作過(guò)程地址控制字段:用于控制下一條微指令地址的產(chǎn)生。微地址形成電路該電路根據(jù)控制地址字段中的信息產(chǎn)生后續(xù)微地址。微地址寄存器μMAR

接受微地址形成電路送來(lái)的地址,為讀取下一條微指令做好準(zhǔn)備。地址譯碼器將μMAR中的微地址進(jìn)行譯碼,找到被訪問(wèn)的控存單元,將其中的微指令讀出并存放于μIR中。第十七頁(yè),共六十四頁(yè),2022年,8月28日5.2微程序控制器的組成與工作過(guò)程微程序控制器的工作過(guò)程(假設(shè)其微程序已經(jīng)在控存中準(zhǔn)備好)啟動(dòng)取指微程序,把要執(zhí)行的機(jī)器指令(其地址由PC給出)從主存取到指令寄存器IR中,并完成對(duì)PC的增量操作(參照?qǐng)D5.2中的①)。根據(jù)IR中指令的操作碼,微地址形成電路產(chǎn)生該指令的微程序的入口地址,并送入μMAR。μMAR中的微地址經(jīng)過(guò)譯碼,從控存中讀取相應(yīng)的微指令,送入μIR

。μIR中微指令的操作控制字段直接(或經(jīng)過(guò)譯碼)產(chǎn)生一組微命令,送往相應(yīng)的功能部件,控制它們完成所規(guī)定的微操作。第十八頁(yè),共六十四頁(yè),2022年,8月28日5.2微程序控制器的組成與工作過(guò)程微地址形成電路根據(jù)μIR中微指令的地址控制字段和機(jī)器的狀態(tài)信息(如程序狀態(tài)字PSW),產(chǎn)生下一條微指令的地址并送往μMAR。重復(fù)上述步驟第三到第五步,直到該機(jī)器指令的微程序全部執(zhí)行完畢。第十九頁(yè),共六十四頁(yè),2022年,8月28日目標(biāo)減少微指令的寬度,減少微程序的長(zhǎng)度,提高執(zhí)行速度,保持微程序設(shè)計(jì)的靈活性。一條微指令由兩部分構(gòu)成微操作控制字段地址控制字段對(duì)微操作控制字段進(jìn)行編碼的方法有4種直接控制編碼、最短字長(zhǎng)編碼分段直接編碼、分段間接編碼5.3微程序設(shè)計(jì)技術(shù)5.3.1微指令的編碼方法第二十頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)直接控制編碼法(不譯碼法)微操作控制字段的每一位直接對(duì)應(yīng)一個(gè)微操作。當(dāng)某位為1時(shí),就表示執(zhí)行相應(yīng)的微操作;為0時(shí)就不執(zhí)行該微操作。優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,并行性最好,操作速度快。缺點(diǎn):微指令字太長(zhǎng)。

第二十一頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)最短字長(zhǎng)編碼法將所有的微命令進(jìn)行統(tǒng)一的二進(jìn)制編碼,每條指令只定義一個(gè)微操作。微操作控制字段的長(zhǎng)度L與微命令的總數(shù)N的關(guān)系

L≥log2N優(yōu)缺點(diǎn)微指令的字長(zhǎng)最短,但要經(jīng)過(guò)譯碼后才能得到所需要的微命令,執(zhí)行速度會(huì)受到影響。在一條微指令中只能產(chǎn)生一個(gè)微命令,無(wú)法利用硬件所具有的并行性。第二十二頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)需對(duì)整個(gè)微操作控制字段進(jìn)行譯碼,產(chǎn)生相應(yīng)的一組微命令。

第二十三頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)字段直接編碼法把微操作控制字段進(jìn)一步劃分為若干個(gè)字段,每個(gè)字段單獨(dú)編碼,每個(gè)碼點(diǎn)表示一個(gè)微命令。上面兩種方法的折中方案:字段之間采用直接控制,字段內(nèi)部采用最短字長(zhǎng)編碼。進(jìn)行字段劃分時(shí),需要注意以下原則:可以按功能和部件劃分,對(duì)于機(jī)器中的每一種功能類(lèi)型或每一個(gè)部件,分配一個(gè)字段;把互斥的微操作分在同一字段,把相容的微操作分到不同的字段;字段的劃分應(yīng)與數(shù)據(jù)通路相適應(yīng);一般每個(gè)字段應(yīng)留出一個(gè)碼點(diǎn),用于表示不發(fā)任何微命令。第二十四頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)既能縮短微指令字長(zhǎng),又能實(shí)現(xiàn)較高的并行性,執(zhí)行速度比較快。

第二十五頁(yè),共六十四頁(yè),2022年,8月28日字段間接編碼字段的編碼的含義(即表示什么微命令)要由另外一個(gè)字段的編碼來(lái)解釋確定。一個(gè)解釋字段要同時(shí)對(duì)多個(gè)字段進(jìn)行控制(解釋),才能有效地縮短字長(zhǎng)。解釋字段應(yīng)有某些分類(lèi)的特征

第二十六頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)常數(shù)源字段的設(shè)置作用:提供常數(shù)參與其他字段的間接編碼第二十七頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)

分為兩大類(lèi):水平型微指令和垂直型微指令。水平型微指令一次能定義并執(zhí)行多個(gè)微操作的微指令。具有以下特點(diǎn):微指令字較長(zhǎng),一般為幾十位到上百位。例如:VAX-11/780機(jī)的微指令字長(zhǎng)為96位。

微指令中描述并行微操作的能力強(qiáng),在一個(gè)微周期中,能并行執(zhí)行多個(gè)微操作。微指令譯碼簡(jiǎn)單,一般采用直接控制編碼法和分段直接編碼法。5.3.2微指令格式第二十八頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)優(yōu)缺點(diǎn)并行操作能力強(qiáng)、執(zhí)行速度快、代碼長(zhǎng)度短。微指令字比較長(zhǎng),明顯增加了控存的寬度。編制微程序比較復(fù)雜,難度較大,也不易實(shí)現(xiàn)設(shè)計(jì)的自動(dòng)化。垂直型微指令一次只能定義一兩個(gè)微操作(一般是數(shù)據(jù)傳送),而且微指令字長(zhǎng)比較短。例如,一條垂直型運(yùn)算操作的微指令的格式為:第二十九頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)其中:μO(píng)P:微操作碼把兩個(gè)源寄存器中的內(nèi)容進(jìn)行μO(píng)P所規(guī)定的操作,結(jié)果存入目的寄存器字段所指定的寄存器中。特點(diǎn)微指令字短,一般為一、二十來(lái)位;微指令的并行微操作能力差,一條微指令只能控制數(shù)據(jù)通路的一兩種信息傳送;垂直型微指令是通過(guò)一個(gè)稱為微操作碼的字段來(lái)定義微指令的基本功能和信息傳送路徑。執(zhí)行時(shí),需進(jìn)行完全譯碼,譯碼比較復(fù)雜。微指令的各二進(jìn)制位與數(shù)據(jù)通路的各個(gè)控制點(diǎn)之間完全不存在直接對(duì)應(yīng)關(guān)系。第三十頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)優(yōu)點(diǎn)直觀、規(guī)整,易于編制微程序和實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。微指令字比較短,控存的橫向比較窄。可以直接應(yīng)用現(xiàn)有程序設(shè)計(jì)語(yǔ)言的結(jié)果。缺點(diǎn)微程序比較長(zhǎng),而且垂直型微指令產(chǎn)生微命令要經(jīng)過(guò)譯碼,程序執(zhí)行速度慢。描述并行微操作的能力很差,不適合用于數(shù)據(jù)通路有較多并行性的機(jī)器。第三十一頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)微程序的順序控制問(wèn)題(微程序地址控制問(wèn)題)初始微地址:機(jī)器指令所對(duì)應(yīng)的微程序的入口地址形成下一條微指令的地址(稱為后繼微地址)微程序入口地址的形成公用的“取指令”微程序一般存放在控存中第0號(hào)單元或其它指定的控存單元開(kāi)始的一片控存區(qū)域中。(這個(gè)地址是固定不變的)根據(jù)IR中的操作碼,找到該指令所對(duì)用的微程序的入口地址。5.3.3微程序的順序控制第三十二頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)實(shí)際上是一個(gè)從操作碼到入口地址的映象問(wèn)題。兩種實(shí)現(xiàn)方法:直接對(duì)應(yīng)法

所有指令的操作碼的位數(shù)和位置都相同時(shí)直接把操作碼與微地址碼的部分位對(duì)應(yīng)。例如,可指定微地址:Const|Op

(Op:操作碼,Const:常數(shù))

操作碼一般是連續(xù)編碼的,所以直接對(duì)應(yīng)過(guò)去的地址是連續(xù)的。改進(jìn):在上述拼接的微地址后面再拼接若干位0(設(shè)為n位),使得每個(gè)操作碼在所對(duì)用的區(qū)域中有一片單元(2n個(gè))可用。第三十三頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)如果操作碼的位數(shù)和位置不固定,但在每一類(lèi)指令中,操作碼的位數(shù)和位置都是相同的,則可以采用兩級(jí)分轉(zhuǎn)。查表法在操作碼的位數(shù)或位置不固定的情況下,需要用專門(mén)的硬件實(shí)現(xiàn)操作碼到入口地址的映象。用PLA或ROM實(shí)現(xiàn)一個(gè)表格,該表格給出了各操作碼所對(duì)應(yīng)的微程序的入口地址。使用該表時(shí),只要用操作碼作為輸入,就能在其輸出端得到該指令的微程序入口地址。第三十四頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)后繼微地址的形成兩種方式:增量方式,斷定方式。增量方式設(shè)置一個(gè)微程序計(jì)數(shù)器μPC。順序執(zhí)行時(shí),給μPC增加一個(gè)增量(通常為1)給出下一條微指令的地址。遇到轉(zhuǎn)移時(shí),由微指令給出轉(zhuǎn)移目標(biāo)的微地址。采用這種方式的微指令格式:第三十五頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)微地址字段SCF分成兩個(gè)字段轉(zhuǎn)移控制字段BCF

用于規(guī)定是順序執(zhí)行還是轉(zhuǎn)移。如果是轉(zhuǎn)移,就由BCF指出轉(zhuǎn)移地址的來(lái)源。轉(zhuǎn)移地址字段BAF轉(zhuǎn)移地址的來(lái)源有3種由BAF給出的地址;機(jī)器指令所對(duì)應(yīng)的微程序的入口地址;微子程序入口地址和返回地址(存放在返回地址寄存器中)。第三十六頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)舉例:假設(shè)BCF為3位,用于控制實(shí)現(xiàn)順序執(zhí)行、初始轉(zhuǎn)移、無(wú)條件轉(zhuǎn)移、條件轉(zhuǎn)移、測(cè)試循環(huán)、轉(zhuǎn)微子程序、微子程序返回等,如表所示。

RR:微子程序返回地址寄存器。當(dāng)執(zhí)行轉(zhuǎn)微子程序指令時(shí),把返回地址(μPC+1)送入返回地址寄存器RR中,并將轉(zhuǎn)移地址送入μPC中。當(dāng)執(zhí)行返回微指令時(shí),將RR中的返回地址送入μPC,返回微主程序。

第三十七頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)BCF轉(zhuǎn)移控制方式測(cè)試條件后繼微地址及有關(guān)操作000順序執(zhí)行μPC+1→μPC001初始轉(zhuǎn)移由操作碼形成010條件轉(zhuǎn)移不成立μPC+1→μPC成立BAF→μPC011無(wú)條件轉(zhuǎn)移BAF→μPC100循環(huán)測(cè)試不成立μPC+1→μPC成立BAF→μPC101轉(zhuǎn)微子程序μPC+1→RR,BAF→μPC110微子程序返回RR→μPC111備用第三十八頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)微地址控制方式的原理框圖第三十九頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)優(yōu)點(diǎn)

SCF字段比較短,后繼微地址生成邏輯比較簡(jiǎn)單,編制微程序也比較容易。缺點(diǎn):不能直接實(shí)現(xiàn)多路轉(zhuǎn)移。斷定方式按以下方式確定后繼微地址由微程序設(shè)計(jì)者直接指定;由微程序設(shè)計(jì)者指定的測(cè)試判別邏輯字段控制產(chǎn)生。后繼微地址由兩部分組成非測(cè)試地址微程序設(shè)計(jì)者直接指定的,是不變的,構(gòu)成微地址的高位部分。第四十頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)測(cè)試地址在微程序的執(zhí)行過(guò)程中,通過(guò)測(cè)試一些狀態(tài)位而動(dòng)態(tài)決定的,它構(gòu)成微地址的低位部分。微地址格式測(cè)試地址的位數(shù)決定了并行分支的路數(shù),而且也決定了測(cè)試控制字段的個(gè)數(shù)。例如:當(dāng)測(cè)試地址位數(shù)為m時(shí),分支的路數(shù)為2m,而測(cè)試字段的個(gè)數(shù)為m。至于測(cè)試字段的位數(shù)n,則是取決于測(cè)試條件的個(gè)數(shù)N,一般地,有n=[log2N]+1。第四十一頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)舉例:一個(gè)具有兩位測(cè)試地址的微地址的生成過(guò)程

HF為非測(cè)試地址,直接送CMAR。TC1、TC2是測(cè)試地址TF1和TF2的測(cè)試控制字段。實(shí)現(xiàn)4路并行轉(zhuǎn)移功能。第四十二頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)優(yōu)點(diǎn)能夠?qū)崿F(xiàn)快速多路轉(zhuǎn)移,提高微程序的執(zhí)行速度。而且微程序在控存中的存放位置也很靈活、方便。缺點(diǎn)后繼微地址的生成方法比較復(fù)雜,微程序的執(zhí)行順序不直觀。第四十三頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)執(zhí)行一條微指令的過(guò)程分兩步進(jìn)行按給定的微地址從控存取出微指令,并打入μIR;執(zhí)行微指令所規(guī)定的微操作。根據(jù)取后繼微指令和執(zhí)行現(xiàn)行微指令之間的時(shí)間關(guān)系的不同,微指令的執(zhí)行方式可分為兩種串行執(zhí)行并行執(zhí)行5.3.4微指令的執(zhí)行方式第四十四頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)串行執(zhí)行方式取微指令和執(zhí)行微指令串行進(jìn)行。在前一條的微指令執(zhí)行完之后,才能取下一條微指令。時(shí)間關(guān)系

設(shè)備效率低,執(zhí)行速度慢。控制簡(jiǎn)單,易于實(shí)現(xiàn)。

第四十五頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)并行執(zhí)行方式當(dāng)前微指令的執(zhí)行和下一條微指令的取出重疊進(jìn)行。時(shí)間關(guān)系優(yōu)點(diǎn):提高了執(zhí)行速度和設(shè)備利用率。遇到需要根據(jù)當(dāng)前微指令的執(zhí)行結(jié)果進(jìn)行轉(zhuǎn)移時(shí),存在一些問(wèn)題。有兩種處理方法供選擇。一種是推遲下一條微指令的取出,使之取出的時(shí)間跟串行執(zhí)行方式時(shí)相同。另一種方法是猜測(cè)法,即猜測(cè)性地選擇兩條分支中的一個(gè)作為后繼微指令。第四十六頁(yè),共六十四頁(yè),2022年,8月28日5.3微程序設(shè)計(jì)技術(shù)并行執(zhí)行方式

假設(shè)執(zhí)行當(dāng)前微指令和取下一條微指令所需要的時(shí)間相同。第四十七頁(yè),共六十四頁(yè),2022年,8月28日采用字段直接編碼,給每一個(gè)部件分配一個(gè)字段。各字段的功能如表所示5.4模型機(jī)的微程序控制器5.4.1模型機(jī)的微指令格式圖5.12模型機(jī)的微指令格式

第四十八頁(yè),共六十四頁(yè),2022年,8月28日第四十九頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器字段名字段的功能IRWrite控制IR的寫(xiě)入。ALUCtrl指定ALU所進(jìn)行的操作。SRC1指定ALU的第一個(gè)操作數(shù)的來(lái)源。SRC2指定ALU的第二個(gè)操作數(shù)的來(lái)源。RegCtrl指定對(duì)寄存器組進(jìn)行的操作(讀或?qū)懀粚?duì)于寫(xiě)操作,指定寫(xiě)入值的來(lái)源。MemCtrl指定對(duì)存儲(chǔ)器進(jìn)行的操作(讀或?qū)懀?;?duì)于讀操作,指定目標(biāo)寄存器;對(duì)于寫(xiě)操作,指定寫(xiě)入值的來(lái)源。PCCtrl控制對(duì)PC的寫(xiě)操作,指定寫(xiě)入內(nèi)容的來(lái)源。Sequencing指定怎樣選取下一條將執(zhí)行的微指令。第五十頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器在模型機(jī)中,確定下一條微指令地址的來(lái)源有3種方法(由Sequencing字段指出)當(dāng)前微指令地址加1(即順序執(zhí)行)轉(zhuǎn)移到“取指令”的公共入口根據(jù)指令操作碼散轉(zhuǎn)到該指令(或該類(lèi)指令)的入口用操作碼作為索引,去查一個(gè)用硬件實(shí)現(xiàn)的表格,得到相應(yīng)的轉(zhuǎn)移地址(微程序地址)。采用兩級(jí)散轉(zhuǎn),即先散轉(zhuǎn)到相關(guān)的一類(lèi)指令的公共操作微程序入口。等公共操作完成后,再進(jìn)行第二次的散轉(zhuǎn),轉(zhuǎn)移到具體指令的微程序入口。(減少微程序所占的空間)第五十一頁(yè),共六十四頁(yè),2022年,8月28日第五十二頁(yè),共六十四頁(yè),2022年,8月28日模型機(jī)的微程序控制器第五十三頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器散轉(zhuǎn)ROM1和散轉(zhuǎn)ROM2分別用于第一級(jí)和第二級(jí)散轉(zhuǎn)。Fetch表示“取指令”公共微程序的入口AddrCtrl:微指令地址多路器MUX的控制信號(hào)當(dāng)AddrCtrl的值分別為00,01,10,11時(shí),MUX分別選擇以下4個(gè)來(lái)源:“取指令”公共微程序的入口Fetch從散轉(zhuǎn)表ROM1查到的地址從散轉(zhuǎn)表ROM2查到的地址當(dāng)前微指令地址加1第五十四頁(yè),共六十四頁(yè),2022年,8月28日ROM1散轉(zhuǎn)表OpOp名稱符號(hào)地址值000000R型RFORMAT1000100beqBEQ1100011loadLDST1101011storeLDST1OpOp名稱符號(hào)地址值100011loadLOAD2101011storeSTORE2ROM2散轉(zhuǎn)表第五十五頁(yè),共六十四頁(yè),2022年,8月28日表5.5微指令各個(gè)字段所允許的取值、各種取值情況下所形成的控制信號(hào)以及功能

字段名字段值控制信號(hào)(激活)功能IRWrite0無(wú)操作1對(duì)IR進(jìn)行寫(xiě)入操作ALUCtrlAddALUOp=00使ALU進(jìn)行加操作SubtALUOp=11使ALU進(jìn)行減操作functcodeALUOp=10用機(jī)器指令的funct字段來(lái)決定ALU的操作SRC1PC+4ALUSrcA=0選PC+4為ALU的第一個(gè)輸入AALUSrcA=1選寄存器A為ALU的第一個(gè)輸入SRC2BALUSrcB=00選寄存器B為ALU的第二個(gè)輸入ExtendALUSrcB=01選“Imm”部件的輸出作為ALU的第二個(gè)輸入ExtshftALUSrcB=10選“左移兩位”部件的輸出作為ALU的第二個(gè)輸入第五十六頁(yè),共六十四頁(yè),2022年,8月28日字段名字段值控制信號(hào)(激活)功能RegCtrlRead使用IR的rs和rt字段作為寄存器地址來(lái)讀兩個(gè)寄存器,將數(shù)據(jù)寫(xiě)入寄存器A和BWriteALURegWrite=1RegDst=1DMtoReg=1以IR的rd字段作為寄存器地址,以ALUOut的內(nèi)容作為數(shù)據(jù),寫(xiě)入寄存器組WriteLMDRegWrite=1RegDst=0DMtoReg=0以IR的rt字段作為寄存器地址,以LMD的內(nèi)容作為數(shù)據(jù),寫(xiě)入寄存器組DMCtrlReadALUDMRead=1用ALUo作為地址來(lái)讀存儲(chǔ)器,結(jié)果寫(xiě)入LMDWriteALUDMWrite=1用ALUo作為地址,B的內(nèi)容作為數(shù)據(jù)來(lái)寫(xiě)存儲(chǔ)器PCCtrlPC+4PCWrite=1Branch=0將PC+4寫(xiě)入PCBranchALUPCWrite=1Branch=1如果cond為1,將ALUo的內(nèi)容寫(xiě)入PC第五十七頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器字段名字段值控制信號(hào)(激活)功能SequencingFetchAddrCtrl=00跳轉(zhuǎn)到“取指令”的公共入口,開(kāi)始取和執(zhí)行一條新的機(jī)器指令Dispatch1AddrCtrl=01用ROM1進(jìn)行散轉(zhuǎn)Dispatch2AddrCtrl=10用ROM2進(jìn)行散轉(zhuǎn)SeqAddrCtrl=11順序選擇下一個(gè)微指令地址第五十八頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器在下面的微程序中,有些字段為空,它們表示以下情況:用于寫(xiě)控制信號(hào)或者功能部件控制碼,表示不進(jìn)行操作;用于多路器的控制信號(hào),表示不關(guān)心該多路器的輸出。公共操作的微程序模型機(jī)中的公共操作取指令、PC加4和根據(jù)機(jī)器指令的操作碼進(jìn)行第一級(jí)散轉(zhuǎn)。5.4.2構(gòu)造微程序第五十九頁(yè),共六十四頁(yè),2022年,8月28日5.4模型機(jī)的微程序控制器該微程序段由以下兩條微指令構(gòu)成(其入口地址為Fetch)第一條微指令:完成把所取指令寫(xiě)入IR的操作第2條微指令:根據(jù)機(jī)器指令的操作碼進(jìn)行第一級(jí)散轉(zhuǎn)LableALUCtrlSRC1SRC2RegCtrlDMCtrlPCCtrlIRWriteSequencingFetch1

溫馨提示

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