第5章中央處理器白中英課件_第1頁
第5章中央處理器白中英課件_第2頁
第5章中央處理器白中英課件_第3頁
第5章中央處理器白中英課件_第4頁
第5章中央處理器白中英課件_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5.4微程序控制器

5.4.1微程序控制原理

5.4.2微程序設(shè)計(jì)技術(shù)發(fā)展

微程序的概念和原理是由英國(guó)劍橋大學(xué)的M·V·Wilkes教授于1951年在曼徹斯特大學(xué)計(jì)算機(jī)會(huì)議上首先提出來的,當(dāng)時(shí)還沒有合適的存放微程序的控制存儲(chǔ)器的元件。到1964年,IBM公司在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù)。20世紀(jì)70年代以來,由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)計(jì)技術(shù)。5.4.1微程序控制原理基本思想

仿照解題的方法,把操作控制信號(hào)編制成微指令,存放到控制存儲(chǔ)器里,運(yùn)行時(shí),從控存中取出微指令,產(chǎn)生指令運(yùn)行所需的操作控制信號(hào)。從上述可以看出,微程序設(shè)計(jì)技術(shù)是用軟件方法來設(shè)計(jì)硬件的技術(shù)。5.4.1微程序控制原理

根據(jù)每條指令執(zhí)行的階段性,將所需微操作信號(hào)以二進(jìn)制編碼形式存入存儲(chǔ)器,按序依次讀出執(zhí)行,即可實(shí)現(xiàn)指令的功能。

①微命令:

控制部件(如CU)通過控制線向執(zhí)行部件(如ALU、M、I/O等)發(fā)出的命令。

②微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。1.微命令和微操作ALUDRYX-+M468123579R1R2R3Cy圖5.23簡(jiǎn)單運(yùn)算器數(shù)據(jù)通路圖①相斥性微命令不能同時(shí)出現(xiàn)的微命令。

例如:+,-,M。②相容性微命令可能同時(shí)出現(xiàn)的微命令。

例如:圖中的4,5。2.

微指令和微程序

①微指令:在一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合。微指令的基本格式:P字段下址字段操作控制順序控制圖5.20微指令的基本格式…………

操作控制字段用于產(chǎn)生微命令。

順序控制字段用于確定下一條微指令的地址。

操作控制字段中的每一位表示一個(gè)微命令?!ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ?234567891011121314151617181920212223LDR’1LDR’2LDR’3R1→xR1→yR2→xR2→yDR→xR3→y+M-RD’LDDR’LDIR’LDAR’’PC+1P1P2直接地址操作控制順序控制圖5.24微指令基本格式例如:第1位=1——有微命令LDR’10——無微命令LDR’1微命令

②微程序:由微指令組成,用以實(shí)現(xiàn)指令功能的程序。微命令微指令微程序機(jī)器指令系統(tǒng)組合

組合

組合

機(jī)器指令

a.

微程序設(shè)計(jì)用類似程序設(shè)計(jì)的方法,組織和控制機(jī)器內(nèi)部信息的傳送和互相的聯(lián)系。b.

微程序設(shè)計(jì)任務(wù)設(shè)計(jì)微指令,編制微程序操作時(shí)序電位與脈沖的配合20ns60ns“+”LDR1CPU周期節(jié)拍電位信號(hào)節(jié)拍脈沖信號(hào)圖5.25運(yùn)算器操作時(shí)序與產(chǎn)生邏輯T4LDR1LDR2LDR3LDR’1LDR’2LDR’3LDR1?LDR3用于圖5.23的1,2,3微指令。3.微程序控制器原理框圖

地址轉(zhuǎn)移邏輯OP微地址寄存器地址譯碼控制存儲(chǔ)器P字段控制字段……微命令信號(hào)指令寄存器IR…狀態(tài)條件微指令寄存器圖5.22微程序控制器組成原理框圖地址轉(zhuǎn)移邏輯OP微地址寄存器地址譯碼控制存儲(chǔ)器P字段控制字段……微命令信號(hào)指令寄存器IR…狀態(tài)條件微指令寄存器圖5.22微程序控制器組成原理框圖

(1)控制儲(chǔ)存器CM存放實(shí)現(xiàn)機(jī)器指令系統(tǒng)功能的微程序,由高速ROM構(gòu)成。*①CM的字長(zhǎng)就是微指令字長(zhǎng);②CM是控制器的一部分;③要求CM高速可靠。

(2)微指令寄存器MIR寄存現(xiàn)行微指令。(3)地址轉(zhuǎn)移邏輯按要求修改、形成下一條微指令的地址。

(4)微地址寄存器μAR

寄存訪問CM的微指令地址。(4)

微程序控制的計(jì)算機(jī)的工作過程①執(zhí)行取指微指令:依(PC)從內(nèi)存讀出指令,由操作碼經(jīng)地址轉(zhuǎn)移邏輯形成執(zhí)行該指令的微程序入口地址→μAR;②根據(jù)(μAR)從CM中讀出微指令→MIR;

③操作控制字段(經(jīng)譯碼)產(chǎn)生微命令,送各功能部件執(zhí)行;

④由轉(zhuǎn)移邏輯形成下一微地址→μAR,可見:步驟②→③→④→②→③→④→……的循環(huán)過程就是微程序的執(zhí)行過程。

地址轉(zhuǎn)移邏輯OP微地址寄存器地址譯碼控制存儲(chǔ)器P字段控制字段……微命令信號(hào)指令寄存器IR…狀態(tài)條件微指令寄存器圖5.22微程序控制器組成原理框圖我們舉“十進(jìn)制加法”指令為例,具體看一看微程序控制的過程。

十進(jìn)制加法指令功能:實(shí)現(xiàn)兩個(gè)BCD碼十進(jìn)制加法運(yùn)算。算法:兩個(gè)一位BCD碼之和。大于9時(shí),和數(shù)必須加6修正,并產(chǎn)生十進(jìn)制進(jìn)位。不大于9時(shí),和數(shù)不必修正,且無十進(jìn)制數(shù)的進(jìn)位。4.指令的微程序舉例十進(jìn)制加法指令的微程序控制過程

PC→AR→ABUSDBUS→DR→IR,PC+1P1(R1)+(R2)→R2(R2)+(R3)→R2P2(R2)-(R3)→R200000000RD10101001000000000001Cy=0Cy=1圖5.29十進(jìn)制加法微程序流程圖1、執(zhí)行“取指”微指令,取出“十進(jìn)制加法”指令

LDAR’(MR16);(PC)→ARRD’(MR13);讀內(nèi)存

LDDR’(MR14);指令→DRLDIR’(MR15);(DR)→IRPC+1(MR17);(PC)+1→PCP1(MR18);允許用OP作為下一微地址,即微程序入口設(shè)十進(jìn)制加法指令OP=1010·······················1234567891011121314151617181920212223LDR’1LDR’2LDR’3R1→xR1→yR2→xR2→yDR→xR3→y+M-RD’LDDR’LDIR’LDAR’’PC+1P1P2直接地址操作控制順序控制2、執(zhí)行“十進(jìn)制加法”指令的微程序PC→AR→ABUSDBUS→DR→IR,PC+1P1(R1)+(R2)→R2(R2)+(R3)→R2P2(R2)-(R3)→R200000000RD10101001000000000001Cy=0Cy=1圖5.29十進(jìn)制加法微程序流程圖

(1)1010微指令

R1→x,R2→y,+,LDR2’

完成(R1)+(R2)→R2(2)1001微指令

R2→x,R3→y,+,LDR2’(R3)=(110)2

完成(R2)+(R3)→R2P2

測(cè)試CyCy=0,1→uAR0,0001為下一微地址Cy=1,0000為下一微指令

(3)(Cy=0),0001微指令R2→x,R3→y,-,LDR2’完成(R2)-(R3)→R2·······················1234567891011121314151617181920212223LDR’1LDR’2LDR’3R1→xR1→yR2→xR2→yDR→xR3→y+M-RD’LDDR’LDIR’LDAR’’PC+1P1P2直接地址操作控制順序控制00000000000011111100000第二條微指令的二進(jìn)制編碼是01010010010000000001001第三條微指令的二進(jìn)制編碼是01000100110000000010000第四條微指令的二進(jìn)制編碼是01000100100100000000000第一條微指令的二進(jìn)制編碼是CY=100001010100100015.

CPU周期與微指令周期的關(guān)系

在串行方式的微程序控制器中:微指令周期=讀出微指令的時(shí)間+執(zhí)行該條微指令的時(shí)間下圖示出了某小型機(jī)中CPU周期與微指令周期的時(shí)間關(guān)系:一個(gè)CPU周期為0.8μs,它包含四個(gè)等間隔的節(jié)拍脈沖T1—T4,每個(gè)脈沖寬度為200ns。用T4作為讀取微指令的時(shí)間,用T1+T2+T3時(shí)間作為執(zhí)行微指令的時(shí)間。例如,在前600ns時(shí)間內(nèi)運(yùn)算器進(jìn)行運(yùn)算,在600ns時(shí)間的末尾運(yùn)算器已經(jīng)運(yùn)算完畢,可用T4上升沿將運(yùn)算結(jié)果打入某個(gè)寄存器。與此同時(shí)可用T4間隔讀取下條微指令,經(jīng)200ns時(shí)間延遲,下條微指令又從只讀存儲(chǔ)器讀出,并用T1上升沿打入到微指令寄存器。如忽略觸發(fā)器的翻轉(zhuǎn)延遲,那么下條微指令的微命令信號(hào)就從T1上升沿起就開始有效,直到下一條微指令讀出后打入微指令寄存器為止。因此一條微指令的保持時(shí)間恰好是0.8μs,也就是一個(gè)CPU周期的時(shí)間。6.機(jī)器指令與微指令的關(guān)系【問】:一會(huì)兒取機(jī)器指令,一會(huì)兒取微指令,它們之間到底是什么關(guān)系?【解】:1.一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序是由若干條微指令序列組成的。因此,一條機(jī)器指令的功能是由若干條微指令組成的序列來實(shí)現(xiàn)的。簡(jiǎn)言之,一條機(jī)器指令所完成的操作劃分成若干條微指令來完成,由微指令進(jìn)行解釋和執(zhí)行。2.從指令與微指令,程序與微程序,地址與微地址的一一對(duì)應(yīng)關(guān)系來看,前者與內(nèi)存儲(chǔ)器有關(guān),后者與控制存儲(chǔ)器有關(guān)。

3.我們?cè)谥v述本章5.2節(jié)時(shí),曾講述了指令與機(jī)器周期概念,并歸納了五條典型指令的指令周期,并演示了這五條指令的微程序流程圖,每一個(gè)CPU周期就對(duì)應(yīng)一條微指令。這就告訴我們?nèi)绾卧O(shè)計(jì)微程序,也將使我們進(jìn)一步體驗(yàn)到機(jī)器指令與微指令的關(guān)系。【例2】設(shè)某計(jì)算機(jī)運(yùn)算器框圖如圖(a)所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個(gè)通用寄存器由D觸發(fā)器組成,Q端輸出。4個(gè)通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表機(jī)器采用串行微程序控制方式,其微指令周期見圖(b)。其中讀ROM是從控存中讀出一條微指令時(shí)間,為1μs;ALU工作是加法器做加法運(yùn)算,為500ns;m1是讀寄存器時(shí)間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。微指令字長(zhǎng)12位,微指令格式如下:RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

01234567891011RA0RA1:讀R0-R3的選擇控制

WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令

W:寄存器寫命令LDSA:打入SA的控制信號(hào)LDSB:打入SB的控制信號(hào)SB-ALU:傳送SB的控制信號(hào)SB-ALU:傳送SB的控制信號(hào),并使加法器最低位加1.Reset:清暫存器SB為零的信號(hào)~:一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號(hào)要求:用二進(jìn)制代碼寫出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)先畫出三條指令的微指令的微程序流程圖,如下圖所示。根據(jù)給定的微指令周期時(shí)間關(guān)系,完成ADD,SUB指令的執(zhí)行動(dòng)作需要3條微指令,MOV指令只需2條微指令。用二進(jìn)制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號(hào)標(biāo)在每條微指令的右上角。每一框表示一條微指令。(1)“ADDR0,R1”指令,即(R0)+(R1)→R1RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

1.定義微指令格式2.寫出微指令RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

全部的微指令5.4.2微程序設(shè)計(jì)技術(shù)1.

設(shè)計(jì)微指令結(jié)構(gòu)的目標(biāo):有利于縮短微指令字長(zhǎng)度;有利于減少CM的容量;有利于提高微程序的執(zhí)行速度;有利于微指令的修改;有利于微程序設(shè)計(jì)的靈活性。1、微命令編碼就是對(duì)微指令中的操作控制字段采用的表示方法。(1)直接表示法(直接控制法,不譯法)操作控制字段中的每一位表示一個(gè)微命令?!ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ?234567891011121314151617181920212223LDR’1LDR’2LDR’3R1→xR1→yR2→xR2→yDR→xR3→y+M-RD’LDDR’LDIR’LDAR’’PC+1P1P2直接地址操作控制順序控制圖5.24微指令基本格式優(yōu)點(diǎn):簡(jiǎn)單,直觀,快速。

缺點(diǎn):微指令字太長(zhǎng),位信息利用率低。直接表示法適用于微命令少的場(chǎng)合。例如:第1位=1——有微命令LDR’10——無微命令LDR’1(2)編碼表示法(字段編譯法)將微命令分段編碼,經(jīng)簡(jiǎn)單譯碼產(chǎn)生微命令。優(yōu)點(diǎn):微指令字長(zhǎng)適中,譯碼器不龐大,能實(shí)現(xiàn)并行操作,速度較快。①字段直接編譯法(字段顯式編譯法)

微命令由字段自身的編碼確定。

n個(gè)字段的微命令總數(shù):2Xi

–n(5.2)圖5.26字段直接編譯法字段1字段2…下一微地址操作控制順序控制譯碼…譯碼…譯碼…微命令P1P2Pn…P字段式中:Xi─第i個(gè)字段包含的二進(jìn)制位數(shù)

n─字段數(shù)②字段間接編譯法(字段隱式編譯法)

字段的含義需由字段自身的編碼和另一字段或某特征觸發(fā)器的狀態(tài)共同確定。好處:可進(jìn)一步縮短微指令字長(zhǎng)

圖5.27字段間接編譯法字段1字段2微命令…字段n………………01C2×2i-1…CPU用CH用③分段原則:

①.相互有一定關(guān)系又不能在同一微周期出現(xiàn)(相斥性)的微命令可編在同一字段內(nèi);可能在同一微周期出現(xiàn)(相容性)的微命令應(yīng)編在不同的字段內(nèi);

②.分段應(yīng)與數(shù)據(jù)通路的結(jié)構(gòu)相適應(yīng),便于微命令設(shè)計(jì),修改,查找。

③.每個(gè)字段的位數(shù)不能太多(2~4位)。(3)混合表示法把直接表示法和編碼表示法相混合使用。④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長(zhǎng)度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用000表示不操作。2.微地址的形成方法入口地址:每條機(jī)器指令對(duì)應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機(jī)器指令之后,由機(jī)器指令的操作碼字段指出各段微程序的入口地址。這是一種多分支(或多路轉(zhuǎn)移)的情況。入口地址形成:如果機(jī)器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與微程序入口地址的部分位相對(duì)應(yīng)。微地址包括微程序的入口地址和后繼地址。微地址的形成方法:①計(jì)數(shù)器的方式②多路轉(zhuǎn)移的方式1.計(jì)數(shù)器方式在微程序控制器中設(shè)置一個(gè)微程序計(jì)數(shù)器MPC,取代微地址寄存器。MPC的作用類似PC。順序執(zhí)行微指令時(shí),后繼微地址由現(xiàn)行微地址加上一個(gè)增量來產(chǎn)生。非順序執(zhí)行微指令時(shí),必須通過執(zhí)行轉(zhuǎn)移微指令,把一個(gè)新的微地址送給MPC。2、后繼微地址形成方法

例:執(zhí)行某指令的微程序有8條微指令,設(shè)這8條微指令的微地址為00110~01000,01011~01111,則可在CM的01001單元安排一條轉(zhuǎn)移到01011微指令的轉(zhuǎn)移微指令。

特點(diǎn):控制字段較短,微地址產(chǎn)生機(jī)構(gòu)簡(jiǎn)單,但微指令存放位置不靈活,微轉(zhuǎn)移指令多時(shí),執(zhí)行速度較慢。計(jì)數(shù)器方式要求對(duì)于順序執(zhí)行的微指令序列必須安排在控制存儲(chǔ)器的連續(xù)單元中.2.多路轉(zhuǎn)移方式[下址字段方式(斷定方式)]一條微指令具有多個(gè)轉(zhuǎn)移分支的能力稱為多路轉(zhuǎn)移。在多路轉(zhuǎn)移方式中后繼微地址的產(chǎn)生:

當(dāng)微程序不產(chǎn)生分支時(shí),后繼微地址直接由微指令的順序控制字段給出;

當(dāng)微程序出現(xiàn)分支時(shí),有若干“后選”微地址可供選擇:即按順序控制字段的“判別測(cè)試”標(biāo)志和“狀態(tài)條件”信息來選擇其中一個(gè)微地址?!盃顟B(tài)條件”有n位標(biāo)志,可實(shí)現(xiàn)微程序2的n次方路轉(zhuǎn)移,涉及微地址寄存器的n位。P字段下址字段操作控制順序控制………

下址字段方式(斷定方式)不轉(zhuǎn)移時(shí)按下址字段從CM中取下一微指令。

轉(zhuǎn)移時(shí)(由判別標(biāo)志和狀態(tài)條件決定),由微地址形成電路產(chǎn)生下一微地址。

特點(diǎn):微指令存放位置靈活,不需MPC。

但增加了微指令的長(zhǎng)度,微地址產(chǎn)生機(jī)構(gòu)較復(fù)雜。OP10101011110100001010101111010000P1取指微指令微地址的設(shè)計(jì)當(dāng)微地址的位數(shù)與OP碼相同時(shí)微程序的入口地址=OP碼OP101010111101000000000010101100000011P1取指微指令當(dāng)微地址的位數(shù)與OP碼不相同時(shí),微地址的位數(shù)=8,OP=4位微程序的入口地址與OP碼有關(guān)××OP碼××0010111100110111【例5.1】設(shè)微地址寄存器有8位(μA7~μA0),“取指”微指令的微地址為00000000,修改微地址時(shí)可通過觸發(fā)器的強(qiáng)置端S將其置1。現(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR5~I(xiàn)R2)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令的微程序時(shí),按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺(tái)指令的微程序時(shí),按IR0,IR1的狀態(tài)進(jìn)行4路分支。

可修改的微地址是μA7~μA2,請(qǐng)按多路轉(zhuǎn)移方法設(shè)計(jì)微地址轉(zhuǎn)移邏輯并畫出邏輯電路圖。解:

①用P1和IR5~I(xiàn)R2修改μA5~μA2②用P2和C修改μA2

③用P3和IR1,IR0修改μA7,μA6。

設(shè)在微周期的T2打入微指令,T4修改微地址?!纠?.1】設(shè)微地址寄存器有8位(μA7~μA0),“取指”微指令的微地址為00000000,修改微地址時(shí)可通過觸發(fā)器的強(qiáng)置端S將其置1?,F(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR5~I(xiàn)R2)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令的微程序時(shí),按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺(tái)指令的微程序時(shí),按IR0,IR1的狀態(tài)進(jìn)行4路分支??尚薷牡奈⒌刂肥铅藺7~μA2,請(qǐng)按多路轉(zhuǎn)移方法設(shè)計(jì)微地址轉(zhuǎn)移邏輯并畫出邏輯電路圖?!噢D(zhuǎn)移的邏輯式為:μA7=P3·IR1·T4μA6=P3·IR0·T4μA5=P1·IR5·T4μA4=P1·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4+P2·C·T4SETCLRDSQQSETCLRDSQQSETCLRDSQQSETCLRDT2ROM7T4P3IR1IR2IR0P1P2ROM6ROM2ROM0圖5.28多路轉(zhuǎn)移微地址修改邏輯CPCPCPCPDDDD…………CSETSETSETSETCLRCLRCLRCLRuA7uA6uA2uA0ROM7~ROM0是控制存儲(chǔ)器微指令中的下址字段(8位),在T2時(shí)打入(μA7~μA0)5.5硬連線控制器

5.5.1實(shí)現(xiàn)方法

通過邏輯電路直接連線而產(chǎn)生的,又稱為組合邏輯控制方式

5.5.2設(shè)計(jì)目標(biāo)

使用最少元件(復(fù)雜的樹形網(wǎng)絡(luò))

速度最高5.5.3.邏輯思想微操作控制信號(hào)的產(chǎn)生在微程序控制器中,微操作控制信號(hào)由微指令產(chǎn)生,并且可以重復(fù)使用。在硬聯(lián)線控制器中,某一微操作控制信號(hào)由布爾代數(shù)表達(dá)式描述的輸出函數(shù)產(chǎn)生。5.5.3.邏輯思想

由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形網(wǎng)絡(luò)組成,用以產(chǎn)生執(zhí)行指令的一系列微操作信號(hào)。組合邏輯線路N節(jié)拍電位/節(jié)拍脈沖發(fā)生器M1MiT1Tk指令譯碼器ID指令寄存器IRI1ImB1BjMC1MCn啟動(dòng)停止時(shí)鐘復(fù)位微操作控制信號(hào)圖5.17組合邏輯控制器框圖……………1.組合邏輯線路的輸入信號(hào):

(1)來自指令譯碼器的輸出()不同的指令操作碼和尋址方式?jīng)Q定應(yīng)執(zhí)行的微操作。(2)來自時(shí)序發(fā)生器輸出的節(jié)拍電位/節(jié)拍脈沖()

使微操作信號(hào)按時(shí)序要求產(chǎn)生。

(3)結(jié)果反饋信息()受條件碼(如N、O、C、Z等)影響的指令,因不同狀態(tài)條件而產(chǎn)生不同的執(zhí)行結(jié)果,即需不同的微操作信號(hào)。組合邏輯線路N節(jié)拍電位/節(jié)拍脈沖發(fā)生器M1MiT1Tk指令譯碼器ID指令寄存器IRI1ImB1BjMC1MCn啟動(dòng)停止時(shí)鐘復(fù)位微操作控制信號(hào)圖5.17組合邏輯控制器框圖…………2.組合邏輯線路的輸出信號(hào):(微操作控制信號(hào))MC=f()(5.1)圖5.17組合邏輯控制器框圖組合邏輯線路N節(jié)拍電位/節(jié)拍脈沖發(fā)生器M1MiT1Tk指令譯碼器ID指令寄存器IRI1ImB1BjMC1MCn啟動(dòng)停止時(shí)鐘復(fù)位微操作控制信號(hào)……………(1)根據(jù)CPU的結(jié)構(gòu),畫出指令操作流程圖;

(2)編排指令操作時(shí)間表;即把指令操作流程圖中的微操作落實(shí)到不同的

CPU周期和節(jié)拍中。(3)綜合化簡(jiǎn)微操作邏輯式,并畫出控制電路。

組合邏輯控制器的設(shè)計(jì)步驟

為了防止遺漏,設(shè)計(jì)時(shí)可按信號(hào)出現(xiàn)在指令流程圖中的先后次序書寫,然后進(jìn)行歸納和簡(jiǎn)化。要特別注意控制信號(hào)是電位有效還是脈沖有效,如果是脈沖有效,必須加入節(jié)拍脈沖信號(hào)進(jìn)行相“與”。

根據(jù)微操作時(shí)間表,將執(zhí)行某一微操作的所有條件(哪條指令、哪個(gè)機(jī)器周期、哪個(gè)節(jié)拍和脈沖)都考慮在內(nèi),加以分類組合,列出各微操作產(chǎn)生的邏輯表達(dá)式,并加以化簡(jiǎn)。(1)根據(jù)CPU的結(jié)構(gòu),畫出指令操作流程圖指令流程圖的進(jìn)一步具體化。把每一條指令的微操作序列分配到各個(gè)機(jī)器周期的各個(gè)時(shí)序節(jié)拍信號(hào)上。要求盡量多地安排公共操作,避免出現(xiàn)互斥。2)安排微操作命令的操作時(shí)間表

以微命令為依據(jù),表示在哪個(gè)機(jī)器周期的哪個(gè)節(jié)拍有哪些指令要求這些微命令。時(shí)序公共操作ADDSUBJMPT0LDPCPC+1T1LDARLDPCT2LDIR3)安排指令的微命令表機(jī)器指令A(yù)DDSUBSTALDPCM1,T3PC+1M1,T4LDARLDIR+M3,T2所有微命令(4)進(jìn)行微操作信號(hào)的綜合

當(dāng)列出所有指令的微操作時(shí)間表之后,需要對(duì)它們進(jìn)行綜合分析,把凡是要執(zhí)行某一微操作的所有條件(哪條指令、哪個(gè)機(jī)器周期、哪個(gè)節(jié)拍和脈沖等)都考慮在內(nèi),加以分類組合,列出各微操作產(chǎn)生的邏輯表達(dá)式,然后加以簡(jiǎn)化,使邏輯表達(dá)式更為合理。

[例4]圖5.32中五條指令的微操作控制信號(hào)舉例。

LDAR=M1·T2+M2(ADD+STA)·T2

LDDR=M1·T3+M3(ADD+STA)·T3

LDIR=M1·T4

LDPC=M1·T4+JMP·M2·T4

RD=ADD·M3

WE=STA·M3其中M1、M2、M3是三個(gè)節(jié)拍電位信號(hào);T2、T3、T4為節(jié)拍脈沖信號(hào);ADD、STA、JMP是指令OP字段譯碼器的輸出信號(hào)。(5)實(shí)現(xiàn)電路根據(jù)整理并化簡(jiǎn)的邏輯表達(dá)式組,可以用一系列組合邏輯電路加以實(shí)現(xiàn),加根據(jù)邏輯表達(dá)式畫出邏輯電路圖,用邏輯門電路的組合來實(shí)現(xiàn)之,也可以直接根據(jù)邏輯表達(dá)式,用PLA或其他邏輯電路實(shí)現(xiàn)。5.7.1并行性概念

1.并行性的含義

同時(shí)性——指兩個(gè)或者兩個(gè)以上事件在同一時(shí)刻發(fā)生。并發(fā)性——指兩個(gè)或者兩個(gè)以上事件在同一時(shí)間間隔內(nèi)發(fā)生。5.7流水CPU5.5.2并行性概念2.并行處理技術(shù)的主要形式

(1)時(shí)間并行—時(shí)間重疊

讓多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流重疊地使用同一套硬件的各個(gè)部分,從而贏得高速度。實(shí)現(xiàn)方式:采用流水處理部件。(2)空間并行——資源重復(fù)例:奔騰CPU采用的超標(biāo)量流水技術(shù)。用多個(gè)相同部件處理多個(gè)事件。實(shí)現(xiàn)方式:多處理器系統(tǒng)和多計(jì)算機(jī)系統(tǒng)或單處理器系統(tǒng)。

(3)時(shí)間并行+空間并行既采用時(shí)間并行性又采用空間并行性。1.流水計(jì)算機(jī)的系統(tǒng)組成

現(xiàn)代流水計(jì)算機(jī)的系統(tǒng)組成原理如左圖所示。其中CPU按流水線方式組織,通常由三部分組成:指令部件、指令隊(duì)列、執(zhí)行部件。這三個(gè)功能部件可以組成一個(gè)3級(jí)流水線。圖3.33流水計(jì)算機(jī)系統(tǒng)組成原理示意圖5.7.2流水CPU的結(jié)構(gòu)1.指令流水線原理

(1)問題的提出

串行執(zhí)行方式存在部件利用率不高(有閑置時(shí)間)的問題。

CPU周期使用部件閑置部件取指令PC,MS,IR等ALU,GRS取數(shù)MSPC,ALU,GRS執(zhí)行ALU,GRSPC,MS每個(gè)過程段所用的部件不同在某個(gè)過程段時(shí),其他過程段的部件處于空閑(2)流水線工作原理

①指令周期三個(gè)主要過程:圖5.30指令周期的三個(gè)過程段取數(shù)取指執(zhí)行②指令執(zhí)行過程的時(shí)空?qǐng)Da.非流水線時(shí)空?qǐng)D

I1I1I1I2I2I2I3I3I3I1I2I3空間S時(shí)間T執(zhí)行取數(shù)取指(a)非流水線時(shí)空?qǐng)Db.標(biāo)量流水線時(shí)空?qǐng)DI1I1I1I2I2I2I3I3I3I4I4I4I1I2I3空間S時(shí)間T執(zhí)行取數(shù)取指(b)標(biāo)量流水線時(shí)空?qǐng)DI4圖5.31非流水線與流水線對(duì)比

c.

超標(biāo)量流水線時(shí)空?qǐng)DI1I3I5I2I4I6I1I3I5I7I2I4I6I8I1I3I5I7I9I2I4I6I8I10I1I2I3I4I5I6執(zhí)行取數(shù)取指空間S時(shí)間T(C)超標(biāo)量流水線時(shí)空?qǐng)D小結(jié):

①非流水線指令的執(zhí)行是串行的;

②標(biāo)量流水線從滿載起,每經(jīng)1個(gè)周期做完一條指令;

③超標(biāo)量流水線,提高了吞吐量,但需二套(或二套以上)流水線的硬件及其他電路。

2.流水線中的主要問題及解決方法

(1)資源相關(guān)

在同一機(jī)器時(shí)鐘周期內(nèi)爭(zhēng)用同一個(gè)功能部件所發(fā)生的沖突。

時(shí)鐘指令12345I1取指譯碼取數(shù)執(zhí)行I2取指譯碼取數(shù)執(zhí)行I3取指譯碼取數(shù)在時(shí)鐘3發(fā)生爭(zhēng)用內(nèi)存的問題—資源相關(guān)。

解決方法:

①增設(shè)一個(gè)存儲(chǔ)器,將指令和數(shù)據(jù)分開存放;

②將取指操作推遲一個(gè)時(shí)鐘進(jìn)行;

③采用雙端口存儲(chǔ)器。(2)數(shù)據(jù)相關(guān)

在程序中,一條指令的執(zhí)行需等前一條指令執(zhí)行完后才能進(jìn)行,則有數(shù)據(jù)相關(guān)。

例:

取數(shù)譯碼取指ADD執(zhí)行取數(shù)譯碼取指SUB4321時(shí)鐘指令解決方法:

①推遲ADD指令的取數(shù)操作;②采用數(shù)據(jù)旁路(內(nèi)部向前)技術(shù),直接把結(jié)果送給下一條指令。(3)控制相關(guān)

由條件轉(zhuǎn)移指令引起的。

解決方法:

①延遲轉(zhuǎn)移法:加入空操作,等待轉(zhuǎn)移條件形成。

②猜測(cè)法:選擇出現(xiàn)概率較高的分支進(jìn)行指令預(yù)取。

【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀相關(guān);讀后寫相關(guān);寫后寫相關(guān)。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。(1)I1:

ADDR1,R2,R3;(R2)+(R3)->R1

I2:

SUBR4,R1,R5;(R1)-(R5)->R4(2)I3:

STAM(x),R3;R3)->M(x),M(x)是存儲(chǔ)器單元

I4:

ADDR3,R4,R5;(R4)+(R5)->R3(3)I5:

MULR3,R1,R2;(R1)×(R2)->R3

I6:

ADDR3,R4,R5;(R4)+(R5)->R3(1)I1:

ADDR1,R2,R3;(R2)+(R3)->R1

I2:

SUBR4,R1,R5;(R1)-(R5)->R4第(1)組指令中,I1指令運(yùn)算結(jié)果應(yīng)先寫入R1,然后在I2指令中讀出R1內(nèi)容。由于I2指令進(jìn)入流水線,變成I2指令在I1指令寫入R1前就讀出R1內(nèi)容,發(fā)生RAW(寫后讀)相關(guān)。(2)I3:

STAM(x),R3;(R3)->M(x),M(x)是存儲(chǔ)器單元

I4:ADDR3,R4,R5;(R4)+(R5)->R3第(2)組指令中,I3指令應(yīng)先讀出R3內(nèi)容并存入存儲(chǔ)單元M(x),然后在I4指令中將運(yùn)算結(jié)果寫入R3。但由于I4指令進(jìn)入流水線,變成I4指令在I3指令讀出R3內(nèi)容前就寫入R3,發(fā)生WAR(讀后寫)相關(guān)。(3)I5:MULR3,R1,R2;(R1)×(R2)->R3

I6:

ADDR3,R4,R5;(R4)+(R5)->R3第(3)組指令中,如果I6指令的加法運(yùn)算完成時(shí)間早于I5指令的乘法運(yùn)算時(shí)間,變成指令I(lǐng)6在指令I(lǐng)5寫入R3前就寫入R3,導(dǎo)致R3的內(nèi)容錯(cuò)誤,發(fā)生WAW(寫后寫)相關(guān)。

3.流水線工作方式的特點(diǎn)

①具有時(shí)間的并行性;②流水線分工越細(xì),可同時(shí)運(yùn)行的指令越多,吞吐率就越高。但需增加硬件,控制更復(fù)雜;③流水線每個(gè)階段的執(zhí)行時(shí)間應(yīng)盡量一致;④流水線充滿(滿載)時(shí)達(dá)到最大的吞吐率。

5.7.3奔騰CPU

RISC的三個(gè)要素是:(1)一個(gè)有限的簡(jiǎn)單的指令集;(2)CPU配備大量的通用寄存器;(3)強(qiáng)調(diào)對(duì)指令流水線的優(yōu)化。5.8RISCCPU5.8.2RISCCPU實(shí)例

1.MC88110CPU結(jié)構(gòu)框圖MC88110CPU是一個(gè)RISC處理器。處理器有12個(gè)執(zhí)行功能部件,3個(gè)cache和1個(gè)控制部件。其結(jié)構(gòu)框圖請(qǐng)見CAI所示。

2.MC88110的指令流水線由于MC88110是超標(biāo)量流水CPU,所以指令流水線在每個(gè)機(jī)器時(shí)鐘周期完成兩條指令。流水線共分為三段:取指和譯碼(F&D)段、執(zhí)行(EX)段、寫回(WB)段,如CAI所示。

指令動(dòng)態(tài)調(diào)度策略:按序發(fā)射取兩條指令,配對(duì)發(fā)送,一個(gè)周期可以有兩條指令執(zhí)行完畢圖5.38b第一條指令由于資源相關(guān)或數(shù)據(jù)相關(guān),則這兩條指令都不發(fā)射若第一條指令能發(fā)射,第二條不能發(fā)射,只發(fā)射第1條指令到EX段,第二條指令等待并新取一條指令與之配對(duì)等待發(fā)射2)計(jì)分牌方法

計(jì)分牌是

溫馨提示

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