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

下載本文檔

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

文檔簡介

5.4微程序控制器

5.4.1微程序控制原理

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

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

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

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

①微命令:

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

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

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

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

微指令和微程序

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

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

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

操作控制字段中的每一位表示一個微命令?!ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ?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微命令

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

組合

組合

機器指令

a.

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

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

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

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

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

(4)微地址寄存器μAR

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

微程序控制的計算機的工作過程①執(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微地址寄存器地址譯碼控制存儲器P字段控制字段……微命令信號指令寄存器IR…狀態(tài)條件微指令寄存器圖5.22微程序控制器組成原理框圖我們舉“十進制加法”指令為例,具體看一看微程序控制的過程。

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

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

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

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

(1)1010微指令

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

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

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

完成(R2)+(R3)→R2P2

測試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第二條微指令的二進制編碼是01010010010000000001001第三條微指令的二進制編碼是01000100110000000010000第四條微指令的二進制編碼是01000100100100000000000第一條微指令的二進制編碼是CY=100001010100100015.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

特點:微指令存放位置靈活,不需MPC。

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

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

①用P1和IR5~IR2修改μA5~μA2②用P2和C修改μA2

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

設在微周期的T2打入微指令,T4修改微地址。【例5.1】設微地址寄存器有8位(μA7~μA0),“取指”微指令的微地址為00000000,修改微地址時可通過觸發(fā)器的強置端S將其置1。現(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR5~IR2)進行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令的微程序時,按進位標志C的狀態(tài)進行2路分支;(3)執(zhí)行控制臺指令的微程序時,按IR0,IR1的狀態(tài)進行4路分支??尚薷牡奈⒌刂肥铅藺7~μA2,請按多路轉(zhuǎn)移方法設計微地址轉(zhuǎn)移邏輯并畫出邏輯電路圖。∴轉(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是控制存儲器微指令中的下址字段(8位),在T2時打入(μA7~μA0)5.5硬連線控制器

5.5.1實現(xiàn)方法

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

5.5.2設計目標

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

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

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

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

使微操作信號按時序要求產(chǎn)生。

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

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

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

組合邏輯控制器的設計步驟

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

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

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

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

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

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是三個節(jié)拍電位信號;T2、T3、T4為節(jié)拍脈沖信號;ADD、STA、JMP是指令OP字段譯碼器的輸出信號。(5)實現(xiàn)電路根據(jù)整理并化簡的邏輯表達式組,可以用一系列組合邏輯電路加以實現(xiàn),加根據(jù)邏輯表達式畫出邏輯電路圖,用邏輯門電路的組合來實現(xiàn)之,也可以直接根據(jù)邏輯表達式,用PLA或其他邏輯電路實現(xiàn)。5.7.1并行性概念

1.并行性的含義

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

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

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

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

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

(1)問題的提出

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

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

①指令周期三個主要過程:圖5.30指令周期的三個過程段取數(shù)取指執(zhí)行②指令執(zhí)行過程的時空圖a.非流水線時空圖

I1I1I1I2I2I2I3I3I3I1I2I3空間S時間T執(zhí)行取數(shù)取指(a)非流水線時空圖b.標量流水線時空圖I1I1I1I2I2I2I3I3I3I4I4I4I1I2I3空間S時間T執(zhí)行取數(shù)取指(b)標量流水線時空圖I4圖5.31非流水線與流水線對比

c.

超標量流水線時空圖I1I3I5I2I4I6I1I3I5I7I2I4I6I8I1I3I5I7I9I2I4I6I8I10I1I2I3I4I5I6執(zhí)行取數(shù)取指空間S時間T(C)超標量流水線時空圖小結(jié):

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

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

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

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

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

在同一機器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突。

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

解決方法:

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

②將取指操作推遲一個時鐘進行;

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

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

例:

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

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

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

解決方法:

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

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

【例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)是存儲器單元

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指令運算結(jié)果應先寫入R1,然后在I2指令中讀出R1內(nèi)容。由于I2指令進入流水線,變成I2指令在I1指令寫入R1前就讀出R1內(nèi)容,發(fā)生RAW(寫后讀)相關(guān)。(2)I3:

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

I4:ADDR3,R4,R5;(R4)+(R5)->R3第(2)組指令中,I3指令應先讀出R3內(nèi)容并存入存儲單元M(x),然后在I4指令中將運算結(jié)果寫入R3。但由于I4指令進入流水線,變成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指令的加法運算完成時間早于I5指令的乘法運算時間,變成指令I(lǐng)6在指令I(lǐng)5寫入R3前就寫入R3,導致R3的內(nèi)容錯誤,發(fā)生WAW(寫后寫)相關(guān)。

3.流水線工作方式的特點

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

5.7.3奔騰CPU

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

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

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

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

計分牌是

溫馨提示

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

評論

0/150

提交評論