版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十章控制單元設(shè)計(jì)計(jì)算機(jī)組成原理2006年8月28日10.1組合邏輯設(shè)計(jì)以這種設(shè)計(jì)方式,CU本質(zhì)上是一個(gè)組合邏輯電路,它將輸入邏輯信號(hào)轉(zhuǎn)換為一組輸出控制信號(hào),又稱為硬連線方式。10.1.1設(shè)計(jì)方法1.列出微操作序列的操作時(shí)間表每一條指令都可分解為一個(gè)微操作序列。由前已寫出的幾條指令的微操作序列可看出,每個(gè)微操作控制信號(hào)的產(chǎn)生由指令的操作碼,尋址方式、時(shí)序信號(hào)、狀態(tài)條件等決定。根據(jù)這些條件即可構(gòu)成產(chǎn)生每一個(gè)控制信號(hào)的邏輯電路。圖10.1所示為產(chǎn)生ALU→LT的電路示意。將這些電路集中起來,就構(gòu)成了控制單元CU。但是,因?yàn)椴煌噶畹奈⒉僮餍蛄兄杏邢嗤目刂菩盘?hào),因此,需將相同的控制信號(hào)綜合在一起。&FTP0圖10-1產(chǎn)生ALULT電路例如:BUS→MAR控制信號(hào),參照上章的幾條微操作序列,找出出現(xiàn)BUS→MAR的地方和條件有:公操作:FTP0ADDDTP0(MD=1)
SUBSTP0(MS=2)
DTP0(MD=4)
DTP1(MD=4)
INCDTP0(MD=3)
DTP0(MD=3)2.綜合合并產(chǎn)生單一控制信號(hào)的邏輯表達(dá)式BUS→MAR=FTP0+DTP0ADD(MD=1)+STP0SUB(MS=2)+DTP0SUB(MD=4)+DT’P1SUB(MD=4)+P0INC(MD=3)+DT’P0INC(MD=3)+……類似有1C0=FTP0+STP0SUB(MS=2)+DTP0SUB(MD=4)+DTP0INC(MD=3)+ETP0INC+ETP0JMP(MS=2)+……從上面的例子可以看出,微操作控制信號(hào)是周期、節(jié)拍、指令碼及其他條件的函數(shù)。上面寫出的微操作控制信號(hào)的邏輯表達(dá)式是根據(jù)僅有的幾條指令寫出的,如果指令條數(shù)增多,其邏輯表達(dá)式可能還要長(zhǎng)。實(shí)際機(jī)器指令往往有幾十條到幾百條,所在整個(gè)機(jī)器的微操作控制信號(hào)很多,而且每個(gè)微操作信號(hào)的邏輯表達(dá)式中包含的項(xiàng)數(shù)也很多。所以,還須進(jìn)行邏輯化簡(jiǎn)、整理、以得到最簡(jiǎn)的合理表達(dá)式。3.化簡(jiǎn)問題,可采用“數(shù)字邏輯”課程中介紹的各種方法?;?jiǎn)的目的,一是減少引線,減少元器件數(shù),使成本最低;二是使邏輯級(jí)數(shù)最少,以減少延遲時(shí)間,提高速度。4.邏輯實(shí)現(xiàn)經(jīng)過化簡(jiǎn)以后的邏輯表達(dá)式即可用邏輯電路實(shí)現(xiàn)。圖10.2是產(chǎn)生BUS→MAR的邏輯電路示意圖。
圖5.31硬布線控制器結(jié)構(gòu)方框圖來自指令操作碼(OP)譯碼器的輸出Im;
來自執(zhí)行部件的反饋信息Bj來自時(shí)序產(chǎn)生器的時(shí)序信號(hào),包括節(jié)拍電位信號(hào)M和節(jié)拍脈沖信號(hào)T
邏輯網(wǎng)絡(luò)N的輸出信號(hào)就是微操作控制信號(hào),它用來對(duì)執(zhí)行部件進(jìn)行控制。
硬布線控制器的基本原理:C=f(Im,Mi,Tk,Bj)1、組合邏輯控制單元框圖(1).CU外特性CU由組合邏輯網(wǎng)絡(luò)組成,可以是組合邏輯電路或PLA等。它的輸入信號(hào)主要有:(1)指令譯碼器輸出。包括指令OP和尋址方式譯碼器輸出。因?yàn)椴煌噶钚枰煌奈⒉僮骺刂菩盘?hào),必須由當(dāng)前執(zhí)行的指令的OP決定。同時(shí),在執(zhí)行不同尋址方式取不同操作數(shù)時(shí),應(yīng)有尋址方式?jīng)Q定執(zhí)行相應(yīng)的微操作。(2)時(shí)序信號(hào),當(dāng)指令處于不同的時(shí)間段時(shí),執(zhí)行不同的操作,則CU也必須受周期、節(jié)拍信號(hào)的控制。(3)標(biāo)志,由PSW給出,CU需要一些標(biāo)志來決定CPU應(yīng)該發(fā)出哪些控制信號(hào)。組合邏輯網(wǎng)絡(luò)的輸出即為微操作控制信號(hào)(微命令)。指令執(zhí)行過程:機(jī)器加電后產(chǎn)生的Reset信號(hào)將要執(zhí)行的第一條指令的地址裝入PC,并且將FT周期觸發(fā)器置1。當(dāng)復(fù)位信號(hào)結(jié)束后,開放時(shí)鐘,節(jié)拍發(fā)生器產(chǎn)生節(jié)拍信號(hào),CU則根據(jù)周期觸發(fā)器狀態(tài),節(jié)拍信號(hào)產(chǎn)生取指令所需的各個(gè)微命令,完成將第一條指令取出送到IR。同時(shí)PC+1→PC,準(zhǔn)備好下一條指令的地址。然后根據(jù)取出的指令進(jìn)行相應(yīng)的操作,具體完成本條指令的功能。
·邏輯網(wǎng)絡(luò)的輸入信號(hào)來源:
①來自指令操作碼的譯碼輸出信號(hào)Im;
②來自執(zhí)行部件的操作反饋信息Bj;
③來自時(shí)序產(chǎn)生器的時(shí)序信號(hào):·節(jié)拍電位(CPU周期)信號(hào)Mi
·節(jié)拍脈沖(時(shí)鐘脈沖)信號(hào)Tk
·邏輯網(wǎng)絡(luò)的輸出信號(hào):
①微操作控制信號(hào)Cn---對(duì)執(zhí)行部件進(jìn)行操作控制;
②其他控制信號(hào)---根據(jù)條件變量改變時(shí)序發(fā)生器的計(jì)數(shù)順序,以縮短指令周期?!辔⒉僮骺刂菩盘?hào)Cn是Im、Mi、Tk和Bj的函數(shù),即:
Cn=f(Im,Mi,Tk,Bj)
(2)節(jié)拍信號(hào)CLKT0T1T2T3時(shí)鐘周期機(jī)器周期機(jī)器周期T0T1T2T3T0T1T2T3
2.微操作的節(jié)拍安排采用
同步控制方式CPU內(nèi)部結(jié)構(gòu)采用非總線方式一個(gè)
機(jī)器周期
內(nèi)有
3
個(gè)節(jié)拍(時(shí)鐘周期)
MDRPC
MARIRACCU時(shí)鐘ALU………C1C2C5C9C0C10C3C7C4C6C12C11C8控制信號(hào)標(biāo)志控制信號(hào)
(1).安排微操作時(shí)序的原則原則一微操作的先后順序不得隨意更改原則二被控對(duì)象不同的微操作盡量安排在一個(gè)節(jié)拍內(nèi)完成原則三占用時(shí)間較短的微操作盡量安排在一個(gè)節(jié)拍內(nèi)完成并允許有先后順序(2).取指周期微操作的節(jié)拍安排PCMARM(MAR)MDRMDRIR(PC)+1PC原則二原則二原則三(3).間址周期微操作的節(jié)拍安排M(MAR)MDRMDRAd(IR)T0T1T2T0T1T21ROP(IR)IDAd(IR)MAR1R(4).執(zhí)行周期微操作的節(jié)拍安排①CLA②COM
③SHRT0T1T2T0T1T2T0T1T2AC0AC0L(AC)R(AC)0ACACAC④CSL⑤STP⑥ADDX⑦STAXR(AC)L(AC)AC0ACnT0T1T20GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR
(AC)+(MDR)ACAd(IR)MARACMDRMDRM(MAR)1R1W⑧LDAX⑨JMPX⑩BANXT0T1T2Ad(IR)MARM(MAR)MDRMDRACT0T1T2T0T1T2Ad(IR)PC1RA0?Ad(IR)+A0?
PCPC(5).中斷周期微操作的節(jié)拍安排T0T1T20MARPCMDRMDRM(MAR)硬件關(guān)中斷向量地址PC中斷隱指令完成1W3、組合邏輯設(shè)計(jì)步驟(1).列出操作時(shí)間表T2T1T0
FE取指JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII間址特征
組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表T2T1T0
IND
間址JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND間址周期標(biāo)志T2T1T0
EX執(zhí)行JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表1W組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表T2T1T0
FE取指JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII1111111111111111111111111111111111111111111111組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表T2T1T0
IND
間址JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表T2T1T0
EX執(zhí)行JMPLDASATADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W1111111111111(2).寫出微操作命令的最簡(jiǎn)表達(dá)式=FE
·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}(3).畫出邏輯圖特點(diǎn)
思路清晰簡(jiǎn)單明了
龐雜調(diào)試?yán)щy修改困難
速度快&&&11&&&&&≥FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&&10.2微程序設(shè)計(jì)CU采用組合邏輯設(shè)計(jì),因微操作控制信號(hào)全部由硬件產(chǎn)生,所以速度快,可用于構(gòu)成高速的RISC機(jī)和巨型機(jī)。它的缺點(diǎn):(1)邏輯實(shí)現(xiàn)復(fù)雜(2)不易擴(kuò)展和修改。采用微程序設(shè)計(jì)方法可克服上述缺點(diǎn)。它是利用程序設(shè)計(jì)及存儲(chǔ)邏輯的概念,稱為微程序設(shè)計(jì)技術(shù)。它解決了設(shè)計(jì)的規(guī)整性問題,它將不規(guī)則的微操作命令變成了有規(guī)律的微程序,使控制單元的設(shè)計(jì)更科學(xué)合理。存儲(chǔ)邏輯又解決了可修改問題,簡(jiǎn)化了控制器的設(shè)計(jì)任務(wù),即不易出錯(cuò)成本又較低;缺點(diǎn)是操作速度比較低。10.2.1微程序設(shè)計(jì)思想的產(chǎn)生1951英國(guó)劍橋大學(xué)教授Wilkes完成一條機(jī)器指令微操作命令1微操作命令2微操作命令n……微指令110100000微指令n微程序00010010存儲(chǔ)邏輯一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序……存入ROM10.2.1微程序控制的基本原理1.基本概念1)微命令和微操作計(jì)算機(jī)基本可劃分為二大部分——控制部件和執(zhí)行部件??刂破魇强刂撇考\(yùn)算器、存儲(chǔ)器、外部設(shè)備是執(zhí)行部件。微命令——構(gòu)成控制信號(hào)序列的最小單位,即微操作控制信號(hào)。微操作——執(zhí)行部件接受微命令后所進(jìn)行的最基本的操作。2)微指令和微周期微指令——若干個(gè)微命令的組合。以編碼字的形式放在控存的一個(gè)單元中。用來產(chǎn)生一組控制信號(hào)。一條微指令有:微操作碼字段,又稱操作控制字段。微地址碼字段,又稱順序控制字段。其它相關(guān)信息,如常數(shù)字段、標(biāo)志字段等。
微指令周期:從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行這條微指令所需的時(shí)間,通常一個(gè)微指令周期與一個(gè)CPU周期的時(shí)間相等.微指令中的微命令可以用節(jié)拍脈沖來同步定時(shí).微周期子周期T1T2T3T4多周期節(jié)拍脈沖T1T2T3T4T1T2T3T4讀微指令執(zhí)行微指令微指令周期CPU周期
CPU周期與微指令周期的關(guān)系3)微程序和微程序微設(shè)計(jì)微程序——由微指令組成的程序。微程序設(shè)計(jì)是將傳統(tǒng)的程序設(shè)計(jì)方法運(yùn)用到控制邏輯的設(shè)計(jì)中??刂七壿嫷谋举|(zhì)是控制計(jì)算機(jī)內(nèi)部的信息傳送以及它們之間的相互關(guān)系。因此,微程序設(shè)計(jì)就是用類似程序設(shè)計(jì)的方法,組織和控制計(jì)算機(jī)內(nèi)部信息的傳送和相互的聯(lián)系。4)控制存儲(chǔ)器存放微程序的存儲(chǔ)器,又稱為微程序存儲(chǔ)器。由于該存儲(chǔ)器主要存放控制命令與下一條要執(zhí)行的微指令地址,所以稱控制存儲(chǔ)器。它們每個(gè)單元存放一條微指令代碼。計(jì)算機(jī)的指令系統(tǒng)是固定的,所以實(shí)現(xiàn)指令系統(tǒng)的微程序也是固定的,于是控存可用只讀存儲(chǔ)器實(shí)現(xiàn)。10.2.2微程序控制單元及工作原理1.機(jī)器指令對(duì)應(yīng)的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)LDA操作的微程序?qū)?yīng)STA操作的微程序間址周期微程序中斷周期微程序2.微程序控制單元的基本框圖
微地址
形成部件順序邏輯CMAR地址譯碼控制存儲(chǔ)器標(biāo)志CLK下地址CMDR至CPU內(nèi)部和系統(tǒng)總線的控制信號(hào)OPIR操作控制順序控制微指令基本格式微程序控制單元框圖及工作原理M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)
LDA操作的微程序?qū)?yīng)STA
操作的微程序間址周期微程序中斷周期微程序M+1M+2P+1P+2K+1K+2MM轉(zhuǎn)執(zhí)行周期微程序…轉(zhuǎn)取指周期微程序…3.工作原理控存M+1MM+2P+1QQ+2PP+2Q+1…取指周期
微程序?qū)?yīng)
LDA操作的微程序?qū)?yīng)ADD
操作的微程序Q+1Q+2MM+1M+2P+1P+2M………對(duì)應(yīng)STA
操作的微程序K+1K+2MKK+2K+1LDAXADDYSTAZ主存STP用戶程序工作原理(1)取指階段MCMARCM(CMAR)CMDR由CMDR發(fā)命令形成下條微指令地址Ad(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令M+1M+2PCMAR1RM(MAR)MDR(PC)+1PCMDRIR0010000M+2…100001M+1M…010010M+2M+1…形成下條微指令地址執(zhí)行取指微程序(取指令微程序的第一條微指令的微地址M)(2)執(zhí)行階段CM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令OP(IR)微地址形成部件
CMAR(PCMAR)Ad(CMDR)CMARAd(IR)MAR1RM(MAR)MDRMDRAC00000010P+2
…M執(zhí)行LDA微程序
形成下條微指令地址P+1形成下條微指令地址P+2形成下條微指令地址
M(MCMAR)01000P+2P+1…0001001P+1P…(3)取指階段CM(CMAR)CMDR由CMDR發(fā)命令MCMARPCMAR1R100001M+1M全部微指令存在CM中,程序執(zhí)行過程中只需讀出關(guān)鍵
微指令的操作控制字段如何形成微操作命令
微指令的后繼地址如何形成執(zhí)行取指微程序……10.2.2微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)的關(guān)鍵是如何確定微指令的結(jié)構(gòu)(包括微指令編碼和微地址形成方法)。1.微指令編碼(1)直接表示法---微指令操作控制宇段中的每一位代表一個(gè)微命令。
·優(yōu)點(diǎn):簡(jiǎn)單直觀,其輸出可直接用于控制;
·缺點(diǎn):微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。(2)編碼表示法---把一組相斥性的微命令信號(hào)組成一個(gè)小組(即一個(gè)字段),然后通過小組(字段)譯碼器產(chǎn)生操作控制信號(hào)。
·優(yōu)點(diǎn):可以用較少的二進(jìn)制信息位表示較多的微命令信號(hào),使微指令字長(zhǎng)大大縮短;
·缺點(diǎn):由于增加了譯碼延時(shí),微程序的執(zhí)行速度略有減慢。(3)混合表示法---把直接表示法與編碼表示法混合使用,以便綜合考慮微指令字長(zhǎng)、靈活性和執(zhí)行微程序速度等方面的要求。(例)某機(jī)有8條微指令I(lǐng)1-I8,每條微指令所包含的微命令控制信號(hào)如下表所示。
a-j分別對(duì)應(yīng)10種不同性質(zhì)的微命令信號(hào)。假設(shè)一條微指令的控制字段為8位,請(qǐng)安排微指令的控制字段格式。
解:分析表格,(e,f,h)和(b,i,j)對(duì)于任何一條微指令,都是相斥性微操作,即不可能在同一個(gè)CPU周期中同時(shí)發(fā)生這些操作,因此可分別組成兩個(gè)小組或兩個(gè)字段,然后進(jìn)行譯碼產(chǎn)生這六個(gè)微命令信號(hào)。剩下的a,c,d,g四個(gè)微命令信號(hào)可進(jìn)行直接控制,其整個(gè)微指令控制字段組成如下:
(2)微地址的確定方法在計(jì)算機(jī)中,微程序以編碼形式按給定的微指令地址存放在控存中相應(yīng)單元,執(zhí)行時(shí),只依次給出各條微指令的地址,就能使微程序連續(xù)執(zhí)行,直至完成為止。要解決微程序的執(zhí)行順序控制,關(guān)鍵在于當(dāng)前微指令執(zhí)行完畢后,如何確定,后續(xù)微指令的地址。后續(xù)微地址的確定,取決于微程序的基本流程。在微程序設(shè)計(jì)中充分運(yùn)用了軟件的程序設(shè)計(jì)技術(shù),因而,微程序流程中也有微程序、微程序循環(huán)、微子程序等?!龀跏嘉⒌刂返男纬?-微指令地址的形成此節(jié)討論微指令中地址字段和后繼微地址的形成方法,然后討論如何找到每條機(jī)器指令的微程序入口,又如何使微程序連續(xù)執(zhí)行下去。
1)初始微地址的形成每一條機(jī)器指令對(duì)應(yīng)著一段微程序,這段微程序的入口地址就是初始微地址。由于每條機(jī)器指令都先要執(zhí)行取指令操作,所以要有“取機(jī)器指令”微程序來取出一條機(jī)器指令,這段微程序是公用的,一般安排在0號(hào)單元或1號(hào)單元開始。取出機(jī)器指令后,就要執(zhí)行對(duì)應(yīng)這條機(jī)器指令的一段微程序,因此要由機(jī)器指令操作碼轉(zhuǎn)換成微程序入口地址,這叫做“功能轉(zhuǎn)移”。功能轉(zhuǎn)移有以下幾種方式。①一級(jí)功能轉(zhuǎn)移當(dāng)操作碼的位數(shù)與位置是固定時(shí),可直接使操作碼與微地址的部分位相對(duì)應(yīng)。例如入口地址=00Q,Q為操作碼。這樣,把控制存儲(chǔ)器零頁的一些單元安排為各段微程序入口地址,再通過無條件轉(zhuǎn)移使這些單元和自己的后續(xù)微程序相連接,這就一次轉(zhuǎn)移成功。②二級(jí)功能轉(zhuǎn)移各類指令的操作碼位數(shù)與位置不固定時(shí),可能要分級(jí)轉(zhuǎn)移。例如第一次先按指令類型的標(biāo)志位轉(zhuǎn)移到某條微指令,這次轉(zhuǎn)移先區(qū)分出是哪一大類,如單操作數(shù)指令,或雙操作數(shù)指令。在每一類中操作碼的位數(shù)與位置是固定的,第二次就進(jìn)一步按機(jī)器指令操作碼轉(zhuǎn)移,區(qū)分出是該類機(jī)器指令中的哪一條機(jī)器指令。
2)后繼微地址的形成找到微程序入口地址后,就可以開始執(zhí)行微程序,每條微指令執(zhí)行完畢都要根據(jù)要求形成后繼微指令的地址。后繼微地址的形成方法對(duì)微程序編制的靈活性影響很大。值得指出的是:在微程序中分支流程是很多的,不僅對(duì)無條件轉(zhuǎn)移和條件轉(zhuǎn)移要有分支,還有很多指令的微程序中也要有分支。由于每條指令都對(duì)應(yīng)一個(gè)獨(dú)立的微子程序,而且大多數(shù)機(jī)器指令都有幾種尋址方式,如果為每條機(jī)器指令,每種尋址方式單獨(dú)設(shè)置一段微子程序,則微程序太長(zhǎng),需要的控存的存儲(chǔ)容量太大。因此應(yīng)把重復(fù)的部分作為共享的微子程序,由各微程序調(diào)用,這就導(dǎo)致了大量的尋址分支流程。對(duì)于尋址分支流程,測(cè)試源是機(jī)器指令中的尋址方式字段的編碼,按照測(cè)試的結(jié)果轉(zhuǎn)到相應(yīng)的尋址操作流程,這是多路分支流程。當(dāng)一條指令執(zhí)行完畢時(shí),就需要對(duì)中斷請(qǐng)求等進(jìn)行測(cè)試,若有中斷請(qǐng)求,則程序應(yīng)轉(zhuǎn)向相應(yīng)的處理程序,否則就順序取下一條機(jī)器指令。這也是多路分支。
總之,在微程序中分支流程是很多的,因而產(chǎn)生大量的轉(zhuǎn)移,從而使機(jī)器指令的執(zhí)行時(shí)間增加。為了實(shí)現(xiàn)這些轉(zhuǎn)移,微程序控制常用的方法是在微程序中引入條件轉(zhuǎn)移的概念,對(duì)微指令系統(tǒng)進(jìn)行擴(kuò)充,把一些條件轉(zhuǎn)移的微指令包括進(jìn)去。轉(zhuǎn)移微指令中除了給出轉(zhuǎn)移地址以外,還要指出需要檢查哪個(gè)狀態(tài)標(biāo)志,條件代碼,或者指令寄存器的哪些位作為產(chǎn)生轉(zhuǎn)移的條件。按這種方法形成微地址,叫做順序轉(zhuǎn)移微地址,或叫增量型微地址。1)增量方式(計(jì)數(shù)方式)增量型微地址與一般程序地址相類似,微程序按地址遞增順序一條一條地執(zhí)行微指令,遇到轉(zhuǎn)移時(shí),由微指令指出轉(zhuǎn)移微地址,使微程序按新的順序執(zhí)行。這種微地址的指令格式如下:
微操作控制字段轉(zhuǎn)移方式轉(zhuǎn)移地址順序控制字段
轉(zhuǎn)移方式指明判別條件,轉(zhuǎn)移地址指明轉(zhuǎn)移成功后微程序的去向,不成功則順序執(zhí)行。轉(zhuǎn)移地址的字段位數(shù)較短,一般只有4~8位,這是因?yàn)檗D(zhuǎn)移地址通常在現(xiàn)行微地址的附近。全機(jī)可作為轉(zhuǎn)移判別的條件有多個(gè),但每次只能選擇一個(gè)測(cè)試判別源,所以一次只允許兩路分支。實(shí)現(xiàn)增量方式的微程序控制器如下圖10-6所示。在該控制器中,使用μ
PC其位數(shù)與控存的容量相適應(yīng),由μ
PC給出控存的地址,就可實(shí)現(xiàn)從微程序存儲(chǔ)器中順序讀出微指令?!捌鹗己娃D(zhuǎn)移地址發(fā)生器”的任務(wù)有兩個(gè),其一是當(dāng)一條新的機(jī)器指令裝入IR時(shí),它就把對(duì)應(yīng)的該機(jī)器指令的微程序的起始地址裝入μ
PC,μ
PC自動(dòng)地隨時(shí)鐘增加,這就連續(xù)地從控存中讀出微指令,控制信號(hào)也就以正確的順序傳送到CPU的各部分。第二個(gè)任務(wù)是當(dāng)微指令指示它測(cè)試狀態(tài)標(biāo)志條件代碼或機(jī)器指令的某些位時(shí),它就對(duì)指定的條件進(jìn)行測(cè)試,滿足轉(zhuǎn)移條件,就把新的地址裝入μ
PC,實(shí)現(xiàn)轉(zhuǎn)移;如不滿足轉(zhuǎn)移條件,則不裝入新地址,微程序順序執(zhí)行。所以,每次從微程序存儲(chǔ)器中取出一條新的微指令時(shí),μ
PC都增加,只有下述情況例外。①遇到END微指令時(shí),就把微程序的第1條控制字的地址裝入U(xiǎn)PC,開始取指令周期。②當(dāng)一條新的指令裝入IR時(shí),就把該指令的微程序的起始地址裝入μ
PC。③遇到轉(zhuǎn)移微指令,并滿足轉(zhuǎn)移條件時(shí),就把轉(zhuǎn)移地址裝入μPC。在增量方式中,順序控制與一般程序控制很相似,其優(yōu)點(diǎn)是微指令中順序控制字段較短,微程序便于順序執(zhí)行,也便于無條件轉(zhuǎn)移和條件轉(zhuǎn)移。其缺點(diǎn)是增量方式盡管可以對(duì)多個(gè)測(cè)試源進(jìn)行測(cè)試,但是對(duì)一條微指令來說只能實(shí)現(xiàn)兩路分支,或者是順序執(zhí)行,或者是按轉(zhuǎn)移地址來執(zhí)行,從而不利于提高微程序的執(zhí)行速度。如果要求一次能進(jìn)行四路轉(zhuǎn)移,則應(yīng)有三個(gè)轉(zhuǎn)移地址字段,它又大大增加了微指令的字長(zhǎng)。為解決這個(gè)問題,須采用其他技術(shù)。這種方式比較適用于速度要求不高的小型、微型機(jī)。2)斷定方式——具有下地址域的微指令形成后繼微地址的斷定方式是指后繼微地址可由微程序設(shè)計(jì)者指定,或者根據(jù)微指令所測(cè)試的結(jié)果直接決定后繼地址全部或部分地址值。這種微地址結(jié)構(gòu)打破了順序地址物理分配方式,也打破了順序執(zhí)行微指令的控制方式。因?yàn)槊織l微指令的地址必須由上一條微指令給出,所以每條機(jī)器指令的微程序序列也不一定要求安排在控存的連續(xù)單元之中,從而使得微程序中各微指令的安排十分靈活,給微程序在ROM中的物理分配提供了方便,并可使ROM中的各單元得以充分利用。采用斷定方式的微指令都有一個(gè)地址區(qū),這種微指令又叫具有下地址域的微指令。該地址域區(qū)一般分為兩部分,一部分為非測(cè)試地址,由程序設(shè)計(jì)者直接指定,占高位部分;另一部分為測(cè)試地址,由測(cè)試結(jié)果確定其地址值,占低位部分。測(cè)試地址相當(dāng)于在指定的區(qū)域內(nèi)斷定具體的分支。所依據(jù)的測(cè)試狀態(tài)可能是指定的開關(guān)狀態(tài),按鍵狀態(tài),指令的某些位,狀態(tài)字,運(yùn)算結(jié)果等。
2.微指令格式1)水平型微指令---一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令,叫做水平型微指令。
2)垂直型微指令---類似與機(jī)器指令的結(jié)構(gòu),由微操作碼決定該條微指令的功能,通常一條微指令中只有1-2個(gè)微操作命令,功能簡(jiǎn)單。
垂直型微指令字短,但解釋執(zhí)行一條機(jī)器指令所需的微指令條數(shù)多。
兩種微指令方式的比較:
·水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng)。垂直型微指令則較差;
·水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng);
·由水平型微指令解釋指令的微程序,具有微指令字比較長(zhǎng),但微程序短的特點(diǎn)。垂直型微指令則相反,微指令字比較短而微程序長(zhǎng);
·水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對(duì)來說,比較容易掌握。
μ
OP測(cè)試判別下地址圖10-7斷定方式的微指令格式例題:已知MOV,ADD,COM,ADT四條指令微程序流圖如下:(1)P(1)的條件是指令寄存器OP字段,即IR7,IR6,P(2)的條件碼是進(jìn)位寄存器CJ,請(qǐng)?jiān)O(shè)計(jì)畫出微程序控制器地址轉(zhuǎn)移邏輯圖。(2)現(xiàn)設(shè)定控制存儲(chǔ)器EPROM容量最大為16字節(jié),其字長(zhǎng)符合微指令格式要求。請(qǐng)給微程序流程圖中每條微指令分配當(dāng)前微地址與下一微地址(用二進(jìn)制編碼給出)。
解:(1)從流程圖看出,P(1)處微程序出現(xiàn)四個(gè)分支,對(duì)應(yīng)四個(gè)微地址。為此用OP碼修改微地址寄存器的最后兩個(gè)觸發(fā)器即可。在P(2)處微程序出現(xiàn)2路分支,對(duì)應(yīng)兩個(gè)微地址,此時(shí)的測(cè)試條件是進(jìn)位觸發(fā)器Cj的狀態(tài)。為此用j修改μA2即可。轉(zhuǎn)移邏輯表達(dá)式如下:
μ
A0=P1·T4·IR6,μ
A1=P1·T4·IR7,μ
A2=P2·T4·j。由此可畫出微地址轉(zhuǎn)移邏輯。如下圖所示。
解:(2)因EPROM容量為16單元,微地址寄存器4位即可,設(shè)為μA3~μA0,七條微指令地址分配如下表所示,一條微指令只占一個(gè)微地址(可直接填寫在流程圖右上角和右下角)。(3)兩種微指令格式的比較①水平型微指令比垂直型微指令并行操作能力強(qiáng)
靈活性強(qiáng)②水平型微指令執(zhí)行一條機(jī)器指令所要的微指令數(shù)目少,速度快③水平型微指令用較短的微程序結(jié)構(gòu)換取較長(zhǎng)的微指令結(jié)構(gòu)④水平型微指令與機(jī)器指令差別大3.微指令的執(zhí)行方式及時(shí)序控制微程序計(jì)算機(jī)的控制是通過一條一條地址執(zhí)行微指令來實(shí)現(xiàn)的。執(zhí)行一條微指令的過程分二步。第一步,將微指令從控存中取出,稱取微指令;第二步執(zhí)行微指令所規(guī)定的各個(gè)操作。根據(jù)這二步可有二種執(zhí)行方式。(1)串行執(zhí)行方式在這種方式中,取微指令和執(zhí)行微指令按順序進(jìn)行,在一條微指令取出并執(zhí)行后,才能取下一條微指令。微周期的安排如下:
即從控存讀取微指令的操作與執(zhí)行微指令的數(shù)據(jù)通路操作是順序進(jìn)行的。假定控制存儲(chǔ)器的讀出時(shí)間為TCM,微指令的執(zhí)行時(shí)間為TCPU,則微周期TU=TCM+TCPU。該方式中在讀微指令時(shí),數(shù)據(jù)通路是空閑的;在數(shù)據(jù)通路操作時(shí),控存是空閑的如果TCM=1/3~1/2TU,則在執(zhí)行微指令時(shí),就有1/3~1/2左右的額外消耗時(shí)間在從控存讀取微指令的時(shí)間上,因此,TCM越小越好。(2)并行執(zhí)行方式為了提高微程序的執(zhí)行速度,將從控存讀微指令時(shí)與執(zhí)行微指令的操作在時(shí)間上重疊起來,在一條微指令執(zhí)行結(jié)束前下一條微指令提前從控存中取出,這就是并行執(zhí)行方式。如下圖。在這種方式下,由于預(yù)取微指令的時(shí)間重疊到現(xiàn)行微指令的執(zhí)行時(shí)間上,使CPU數(shù)據(jù)通路操作連續(xù)不斷地進(jìn)行,縮短了微指令周期,提高了執(zhí)行速度。并行執(zhí)行方式提高了微程序的執(zhí)行速度,但是,有一個(gè)根本問題要解決,就是如何解決微程序的轉(zhuǎn)移問題。
10.3微程序控制器單元設(shè)計(jì)舉例設(shè)計(jì)一個(gè)微程序控制器,主要用微程序設(shè)計(jì)的方法來設(shè)計(jì)其微操作序列形成部件。一般可歸納為下列四個(gè)步驟:①擬定各條機(jī)器指令的操作流程圖,寫出其微操作序列;②根據(jù)全機(jī)的微操作序列選用微指令的編碼設(shè)計(jì)方案;③根據(jù)各條機(jī)器指令的功能編制出相應(yīng)的微程序;④把已編好調(diào)試好的微程序?qū)懭胍粋€(gè)可高速讀出的只讀存儲(chǔ)器中。我們還是以前模型機(jī)的千條指令為例,來說明微程序控制器的設(shè)計(jì)過程。1.列出各條機(jī)器指令的微操作序列根據(jù)圖10-2所示的指令流程,列出各條機(jī)器指令的微操作序列如下:(1)清除累加器指令CLA的微操作序列(PC)→AR:指令地址送地址寄存器。(PC)→BUS,BUS→MAR(AR)→ABUS,RD:指令地址送地址總線,并發(fā)讀命令。
MAR→ABUS,RDDBUS→MDR,(PC)+1→PC:讀出指令以數(shù)據(jù)總線送數(shù)據(jù)寄存器,程序計(jì)數(shù)器加1送PC。
(MDR)→IR→ID:讀出指令送指令寄存器并譯碼
OP→uAR:操作碼經(jīng)微指令地址形成部件送微地址寄存器。
O→AC:“0”送累加器,即清除累加器。(2)加法指令A(yù)DD的微操作序列(PC)→MAR:同前(MAR)→ABUS,RD:同前
DBUS→MDR,(PC)+1→PC:同前(DR)→IR→ID:同前
OP→uAR:同前
IR(ADDR)→MAR:指令中操作數(shù)地址送地址寄存器。這里采用直接地址。(MAR)→ABUS,RD:操作數(shù)地址送地址總線,并發(fā)讀命令。
DBUS→MDR:讀出的操作數(shù)送數(shù)據(jù)寄存器。(MDR)→ALU:讀出的操作數(shù)送算/邏部件。(AC)→ALU:累加器中的數(shù)送算/邏部件。
ADD:加法命令。HALT(V=1):回溢出位V=1時(shí),停機(jī)。ALU→AC(V=0):當(dāng)溢出位V=0時(shí),運(yùn)算結(jié)果送累加器。(3)送存累加器指令STA(即將AC中的內(nèi)容按指令中給出的操作數(shù)地址存入存儲(chǔ)器)的微操作序列。(PC)→MAR:同前
PC→BUS,BUS→MAR(MAR)→ABUS,RD:
DBUS→MDR,(PC)+1→PC(MDR)→IR→IDOP→UARIR(ADDR)→MAR:同前,采用直接地址(MAR)→ABUS:存放操作數(shù)的地址送地址總線。(AC)→MDR:累加器中的結(jié)果送數(shù)據(jù)寄存器。(MDR)→DBUS,WE:結(jié)果送數(shù)據(jù)總線,發(fā)寫命令。(4)無條件轉(zhuǎn)移指令JMP的微操作序列。(PC)→AR:同前
PC→BUS,BUS→MAR
(MAR)→ABUS,RD:同前
DBUS→MDR,(PC)+1→PC:同前(MDR)→IR→ID:同前
OP→μAR:同前
IR(ADDR)→PC,IR(ADDR)→MAR:指令中操作數(shù)地址(此處是直接轉(zhuǎn)移地址)同時(shí)送PC和AR。2.進(jìn)行微指令的編碼設(shè)計(jì)(1)直接編碼法上面四條指令共有19個(gè)微操作信號(hào),因此,可以采用直接編碼的方法來安排微指令,如下圖10-10所示。直接編碼法微指令的每位代表一個(gè)微命令,不要譯碼,故稱為譯法。其優(yōu)點(diǎn)是簡(jiǎn)單、直觀、輸出可直接用于控制,又叫直接控制方式。這種方式在任何一個(gè)微周期內(nèi),一條微指令可以定義并執(zhí)行多個(gè)并行的微命令,故又稱為水平型微指令。但當(dāng)微命令增多時(shí),會(huì)導(dǎo)致微指令字加長(zhǎng),使控制存儲(chǔ)器的容量加大。故只適用于微命令數(shù)量不多的機(jī)器。由于本設(shè)計(jì)例子微命令較少,選用直接控制法。(2)微地址的設(shè)計(jì)①直接下地址這是順序執(zhí)行微指令的最有效的辦法之一,即在微指令中用若干位來作為下址字段,當(dāng)本條微指令被取出執(zhí)行時(shí),它的下址字段將指出下一條要執(zhí)行的微指令的地址。②微指令計(jì)數(shù)器增量簡(jiǎn)稱增量方式。由于微地址的增量為1,故用一個(gè)微程序計(jì)數(shù)器μPC來作增量器。這種方式可節(jié)省控制存儲(chǔ)器空間,但其執(zhí)行速度慢,靈活性差,只能實(shí)現(xiàn)單分支轉(zhuǎn)移,其多路并行轉(zhuǎn)移的功能差。由于本例微指令占用的控制存儲(chǔ)器的空間不大所以采用直接下地址域的方法。
3.微程序的編制在解決了后續(xù)微指令地址形成之后,便可進(jìn)行微程序設(shè)計(jì)。由于模型機(jī)僅用了4條機(jī)器指令,采用直接尋址時(shí)只要19個(gè)微命令,共有15條微指令。因此,采用25位字長(zhǎng)的直接編碼微指令,其中第0-18位為微操作命令字段,第19-23位為直接下址字段;第24位為測(cè)試位,該位為0,表示后繼微地址由下址字段產(chǎn)生。該位為1時(shí),表示程序轉(zhuǎn)移,后繼微地址經(jīng)“狀態(tài)條件”測(cè)試后,由微地址形成部件產(chǎn)生,當(dāng)操作碼出現(xiàn)時(shí),機(jī)器指令執(zhí)行段微程序入口地址由操作碼產(chǎn)生。模型機(jī)幾條指令的微程序如下表所示。
4.微程序裝入控制存儲(chǔ)器當(dāng)上表所示的微程序編好之后,經(jīng)檢測(cè)、調(diào)試無誤后,即可寫入高速讀出的只讀存儲(chǔ)器ROM中,得到所需的微程序控制器。為了使讀者對(duì)微程序控制器有較深刻的理解,下圖10-11畫出了模型機(jī)微程序控制器簡(jiǎn)框圖。圖中打圓點(diǎn)的地方,表示有微操作命令輸出。即表示該微地址被選中后與信號(hào)輸出線上跨接上一個(gè)導(dǎo)通的二極管。其工作過程與表所示微程序一一對(duì)應(yīng)。10.4典型CPU--奔騰CPU結(jié)構(gòu)框圖
1.奔騰CPU的結(jié)構(gòu)框圖(1)超標(biāo)量流水線
超標(biāo)量流水線是pentium系統(tǒng)結(jié)構(gòu)的核心。它由U和V兩條指令流水線構(gòu)成,每條流水線都有自已的ALU、地址生成電路、與數(shù)據(jù)cache的接口。兩個(gè)指令預(yù)取緩沖器,每個(gè)都是32字節(jié),負(fù)責(zé)由指令cache或主存取指令并放入其中。(2)指令cache和數(shù)據(jù)cache奔騰CPU則分設(shè)指令cache和數(shù)據(jù)cache,各8KB。指令cache是只讀的,以單端口256位(32B)向指令預(yù)取緩沖器提供超長(zhǎng)指令字代碼。數(shù)據(jù)cache是可讀可寫的,雙端口,(3)浮點(diǎn)運(yùn)算部件奔騰CPU內(nèi)部包含了一個(gè)8段的流水浮點(diǎn)運(yùn)算器。(4)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)技術(shù)執(zhí)行轉(zhuǎn)移指令時(shí)為了不使流水線斷流,
2.P
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二零二五年度西瓜品牌授權(quán)與營(yíng)銷推廣合同
- 二零二五年度解除長(zhǎng)租公寓租賃解除合同
- 二零二五年度股權(quán)質(zhì)押貸款合同
- 2025年度個(gè)人住宅購(gòu)房抵押貸款審批合同
- 2025年度股東內(nèi)部股權(quán)轉(zhuǎn)讓及公司股權(quán)激勵(lì)方案合同
- 二零二五年度廚師技能大賽裁判及雇傭合同
- 2025年度餐飲具消毒洗滌服務(wù)合同詳細(xì)版
- 二零二五年度研學(xué)旅行活動(dòng)評(píng)估與反饋合同
- 二零二五年度文化創(chuàng)意園區(qū)鋪面出租及創(chuàng)意合作合同
- 二零二五年度倉(cāng)儲(chǔ)物流租賃合同終止協(xié)議
- 2025年醫(yī)美醫(yī)院公司組織架構(gòu)和業(yè)務(wù)流程
- 乳腺癌課件教學(xué)課件
- 山西省2024年中考物理試題(含答案)
- 春節(jié)節(jié)后收心安全培訓(xùn)
- 高中物理斜面模型大全(80個(gè))
- 2025年高考物理復(fù)習(xí)壓軸題:電磁感應(yīng)綜合問題(解析版)
- 2024-2030年芯片行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)前景預(yù)測(cè)報(bào)告
- 2024年個(gè)人車位租賃合同經(jīng)典版(二篇)
- 2024-2030年中國(guó)汽車駕駛培訓(xùn)市場(chǎng)發(fā)展動(dòng)態(tài)與前景趨勢(shì)預(yù)測(cè)報(bào)告
- 中鐵十四局合同范本
- 浙教版七年級(jí)數(shù)學(xué)下冊(cè)單元測(cè)試題及參考答案
評(píng)論
0/150
提交評(píng)論