計算機組成原理 (6)課件_第1頁
計算機組成原理 (6)課件_第2頁
計算機組成原理 (6)課件_第3頁
計算機組成原理 (6)課件_第4頁
計算機組成原理 (6)課件_第5頁
已閱讀5頁,還剩112頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第6章控制系統與CPU6.1控制器概述.6.1.1指令執行的基本步驟

1.取指令根據指令所處的存儲器單元地址(由程序計數器PC提供),從存儲器(RAM)中取出所要執行的指令。

2.分析指令

3.執行指令根據指令功能,執行指令所規定的操作,并根據需要,保存操作結果。

控制器的主要功能就是按取指令、分析指令、執行指令這樣的步驟進行周而復始的控制過程,直到完成程序所規定的任務并停機為止。

圖6-1描述了指令執行的一般過程。圖6-1(a)為一個簡單的CPU模型,所執行的指令的功能是(A)+(R7)→A,圖6-1(b)描述了指令執行的一般流程。126.1.2控制器的基本功能

控制器一般具有如下功能:1.控制指令的正確執行其中包括指令流出的控制、分析指令和執行指令的控制、指令流向的控制。

指令流出控制也就是對取指令的控制。首先給出指令地址,并向存儲器發出讀命令。讀出的指令經存儲器數據寄存器存放到指令寄存器(IR)中,即:

(PC)→MAR,Read(MDR)→IR

指令譯碼器(ID)譯碼分析,確定操作性質,判明尋址方式并形成操作數的有效地址。

指令流向控制即下條指令地址的形成控制。2.控制程序和數據的輸入及結果的輸出3.異常情況和特殊請求的處理控制器必須具有檢測和處理這些異常情況和特殊請求的功能。36.1.3控制器的組成控制器一般由以下幾個基本部分組成,如圖6-2所示。圖6-2控制器組成框圖

41.指令部件指令部件的主要功能是完成取指令和分析指令。包括下面幾個部件。

⑴程序計數器PC⑵指令寄存器IR

⑶指令譯碼器ID

⑷地址形成部件

根據機器所規定的各種尋址方式,用來形成操作數有效地址。2.時序控制部件

一條指令的執行過程可以分解為若干簡單的基本操作,稱之為微操作,這些微操作是有著嚴格的時間順序要求的,不可隨意顛倒。時序控制部件就是用

⑴脈沖源

⑵啟停電路可靠地送出或封鎖主時鐘脈沖,控制時序信號的發生與停止。5

⑶時序信號發生器

不同的機器有著不同的時序信號。有三種時序控制方式:同步、異步和聯合控制方式。在同步控制的機器中,一般包括周期、節拍、脈沖等三級時序信號。

3.微操作控制信號形成部件微操作控制信號形成部件的功能是根據指令部件提供的操作控制電位、時序部件所提供的各種時序信號,以及有關的狀態條件,產生機器所需要的各種微操作控制信號。

4.中斷控制邏輯

5.程序狀態寄存器PSRVAX-11的程序狀態字的結構格式為:3130292827262524232221201615876543210CMTP×FPDISCMODEPMODE0IPL×DVFUIVTNZVC

8086微處理器的程序狀態字的結構格式為:11109876420OFDFIFTFSFZFAFPFCF6

6.控制臺6.1.4控制器的組成方式

1.組合邏輯型這種控制器稱為組合邏輯控制器。

優點是速度快。

缺點是微操作信號發生器結構不規整,使得設計、調試、維修較困難,難以實現設計自動化。一旦控制部件構成之后,要想增加新的控制功能是不可能的。

2.存儲邏輯型(微程序)這種控制器稱為微程序控制器。

優點是設計規整,調試、維修以及更改、擴充指令的方便,易于實現自動化設計,已成為當前控制器的主流。

缺點是由于增加了一級控制存儲器(CM或CS),所以指令的執行速度比組合邏輯控制器慢。3.組合邏輯和存儲邏輯結合型(PLA)它是吸收前兩種的設計思想來實現的。7圖6-3微操作信號發生器示意圖

86.2控制器控制方式與時序系統6.2.1控制方式一般而言,有三種時序控制方式:同步、異步和聯合控制方式。

⒈同步控制方式指控制序列中每步的執行都由確定的具有基準時標的時序信號來控制。每個時序信號的結束就意味著所要求的操作已完成。隨即開始執行下一步。

同步方式的時序信號通常由周期、節拍和脈沖組成。

⑴采用中央控制與局部控制相結合的方法

根據大多數指令的微操作序列的情況,設置一個統一的節拍數,使大多數指令均能在統一的節拍內完成。把統一節拍的控制稱為中央控制。對于少數在統一節拍內不能完成的指令,采用延長節拍或增加節拍數,使之在延長節拍內完成,執行完畢再返回中央控制。

9

⑵采用不同的機器周期和延長節拍的方法把在延長節拍內的控制稱為局部控制。

⑶采用分散節拍的方法所謂分散節拍是指運行不同指令時,需要多少節拍,時序部件就發生多少節拍。⒉異步控制方式

所謂異步控制方式,是指不僅要區分不同指令所對應的操作序列的長短,而且要區分其中每個操作的繁簡,按每條指令、每個操作的需要而占用的時間的一種控制方式。

圖6-4中央節拍與局部節拍的關系10⒊聯合控制方式是同步和異步控制方式的結合。現代計算機大多采用同步控制方式或聯合控制方式。圖6-5所示為PDP-11機的同步與異步時序的銜接關系。

圖6-5同步與異步時序的銜接

116.2.2時序系統通常,設計時序系統主要是針對同步控制方式的。下面主要討論同步控制中的時序系統。

⒈指令周期與機器周期

機器周期又稱CPU周期,它是指令執行過程中的相對獨立的階段。一條指令的執行過程(即指令周期)由若干個機器周期所組成,每個機器周期完成一個基本操作。一般機器的CPU周期有取指周期、取數周期(有的機器還進一步分為取源數周期和取目的數周期)、執行周期、中斷周期等。由于CPU內部操作速度快,而CPU訪存所花時間較長,所以許多計算機系統往往以主存周期為基礎來規定CPU周期,以便二者協調工作。⒉節拍在一個機器周期內,要完成若干個微操作,這些微操作不但需要占用一定的時間,而且有一定的先后次序。因此,基本的控制方法是把一個機器周期等分成若干個時間區間,每一時間區間稱為一個節拍,一個節拍對應一個電位信號,控制一個或幾個微操作的執行12圖6-6三級時序系統3.脈沖在一個節拍內,有時還設置一個或幾個工作脈沖,用于寄存器的復位和接收數據等。上述的周期、節拍、脈沖構成了三級時序系統,它們之間關系如圖6-6所示。

微型機中常用的時序系統與上述三級時序系統有所不同,稱之為時鐘周期時序系統。13圖6-7時鐘周期時序系統

圖6-7所示的是一典型指令的基本時序,一個指令周期包含三個機器周期:取指周期、存儲器讀周期和存儲器寫周期,三個周期中分別包含4個、3個和3個時鐘周期。146.3CPU的總體結構CPU即中央處理器,它包含運算器和控制器兩個部分。6.3.1寄存器的設置盡管不同計算機的CPU結構存在著這樣那樣的差別,但在CPU內部一般都設置下列寄存器:(1)指令寄存器lR;(2)程序計數器PC;(3)累加寄存器AC;(4)程序狀態寄存器PSR;(5)地址寄存器MAR;(6)數據緩沖寄存器MDR(或MBR)。累加寄存器簡稱累加器AC。

通用寄存器是一組程序可訪問的、具有多種功能的寄存器。在指令系統中為這些寄存器分配了編號(或稱寄存器地址),可以編程指定使用其中的某個寄存器。156.3.2數據通路結構及指令流程分析

⒈單總線結構圖6-8所示為一個典型的單總線結構計算機框圖。圖6-8典型的單總線結構計算機框圖

“。”為控制門,在相應控制信號控制下打開相應的控制門,建立相應寄存器與總線間的聯系。16

例6.1現分析執行一條加法指令:ADD(R1),R0的操作流程。該指令是實現((R1))+(R0)→R0操作,執行本指令需要下列動作。

(1)(PC)→MAR,Read,PC→Y;送指令地址,讀主存(2)M→MDR→IR,(Y)+1→Z;取指令到IR,PC+1暫存于Z(3)(Z)→PC;PC+1→PC(4)(R1)→MAR;Read;送源操作數地址(5)M→MDR→Y;取出源操作數到Y中(6)(Y)+(R0)→Z;執行加法運算,結果暫存于Z(7)(Z)→R0;加法結果送回目標寄存器

取指

⒉雙總線結構圖6-9是一種雙總線結構的CPU組成框圖。取數17圖6-9雙總線結構的CPU組成框圖“。”為控制門,控制著相應寄存器的輸出(送至B總線),或控制相應寄存器的輸入(從F總線接收信息)。2018

例6.2分析執行加法指令:ADD(R1),R0的操作流程和控制信號序列:加法指令完成的功能是:((R1))+(R0)→R0操作

解:表6-1加法指令的執行流程操作流程

控制信號序列(1)(PC)→MAR,ReadPC→B、Gon、F→MAR、Read、F→Y(2)(PC)+1→PCINC、F→PC(3)M→MDR→IRMDR→B、Gon、F→IR(4)(R1)→MAR,ReadR1→B、Gon、F→MAR、Read(5)M→MDR→YMDR→B、Gon、F→Y(6)(Y)+(R0)→R0R0→B、ADD、F→R0

例6.3分析執行減法指令SUBX(R1),(R2)+的操作流程和控制信號序列。

解:取指取數19表6-2減法指令的執行流程

指令流程

控制信號序列(1)(PC)→MAR,ReadPC→B、Gon、F→MAR、Read、F→Y(2)(PC)+l→PCINC、F→PC(3)(M→MDR)→IRMDR→B、Gon、F→IR(4)(PC)→MAR,ReadPC→B、Gon、F→MAR、Read、F→Y(5)(PC)+l→PCINC、F→PC(6)(M→MDR)→YMDR→B、Gon、F→Y(7)(Y)+(R1)→MAR,ReadR1→B、ADD、F→MAR、Read(8)(M→MDR)→TEMPMDR→B、Gon、F→TEMP(9)(R2)→MAR,ReadR2→B、Gon、F→MAR、Read、F→Y(10)(R2)+1→R2INC、F→R2(11)(M→MDR)→YMDR→B、Gon、F→Y(12)(Y)-(TEMP)→MDRTEMP→B、SUB、F→MDR(13)(MDR)→M,WriteWrite取形式地址X取指形成EA取第2操作數(R2)-(X(R1))18206.4模型機的總體結構6.4.1模型機的數據通路

⒈模型機的數據通路模型機的數據通路如圖6-10所示。

設模型機字長為16位,指令、數據均為16位長。全機采用總線結構,分為內部總線和系統總線。

⒉模型機的ALU功能模型機ALU采用SN74181中規模集成電路構成。在M、S3、S2、S1、S0控制信號控制下可實現16種算術運算和16種邏輯運算。表6-3列出了模型機所涉及的幾種操作。ALU的輸出經移位器送入總線BUS2,移位器采用直送、斜送的方法實現直接傳送(DM)、左移一位(SL)、右移一位(SR)。模型機中未使用字節交換功能。模型機的主存按字(16位)進行編址,主存容量為64K字。21圖6-10模型機的數據通路結構框圖

22表6-3模型機所涉及的算術邏輯操作6.4.2模型機的指令系統

⒈模型機的指令格式模型機共設置16條指令,用四位操作碼表示,指令格式如圖6-11所示。23圖6-11模型機指令格式

24表6-4模型機的指令系統

指令名稱操作碼指令功能傳送(MOV)0000(ES)→ED加法(ADD)0001(ED)+(ES)→ED減法(SUB)0010(ED)一(ES)→ED邏輯與(AND)0011(ED)∧(ES)→ED邏輯或(OR)0100(ED)∨(ES)→ED異或(EOR)0101(ED)(ES)→ED加1(INC)0110(ED)+1→ED取反(COM)0111ED→ED左移(ROL)1000(ED)左移一位→ED,移位方式由指令第8~6位指定右移(ROR)1001(ED)右移一位→ED,移位方式由指令第8~6位指定無條件轉移(JP)1010(PC)+位移量D→PC有進位轉移(JC)1011若CC=1,則(PC)+D→PC結果零轉移(JZ)1100若CZ=1,則(PC)+D→PC轉子程序(JSR)1101(PC)入棧,(PC)→PC返回(RTS)1110從棧頂彈出返回地址→PC停機(HALT)1111停機25轉子指令操作如下:

SPSP-1→MARWrite((MDR)→存儲器)(PC)+D→PC子程序結束通過返回指令從棧中彈出返回地址返回主程序。返回指令操作為:(SP)→MAR,ReadM→MDR→PC(SP)+l→SP左、右移位指令可以用單操作數指令的第8位到第6位規定移位方式,如算術移位、邏輯移位、循環移位等,在此不再詳述,讀者可自己考慮設計方案。3.模型機的尋址方式模型機的尋址方式有如下五種:⑴寄存器尋址

26尋址方式編碼為000,匯編符號為Rn,n為寄存器編號。寄存器尋址是指操作數在指定寄存器Rn中。⑵寄存器間址尋址方式編碼為001,匯編符號為@Rn或(Rn)。E=(Rn),E表示有效地址。⑶自增型寄存器間址尋址方式碼為010,匯編符號為(Rn)+。E=(Rn),再(Rn)+1→R。。

若Rn=SP,則為彈出堆棧的尋址;

若Rn=PC,則為立即尋址,立即數存放在該指令的下一個單元中⑷自減型寄存器間址尋址方式碼為011,匯編符號為-(Rn)。這種尋址方式是將指定寄存器中的內容減1,作為操作數有效地址,并將減1結果送回原寄存器中,即27若Rn=SP,則為壓入堆棧的尋址。

但Rn≠PC,以免程序執行出現混亂,因為PC指針正常都是自增性的移動。

⑸變址型尋址尋址方式碼為100,匯編符號為X(Rn)。E=X+(Rn)

變址X存放在該指令的下一個單元中。尋址操作過程為:

(PC)→MAR,Read;送X的地址(PC)+1→PC;PC增量M→MDR→Y;取X值到Y(Y)+(Rn)→MAR;形成有效地址在上述的尋址方式中,除了自減型寄存器間址不能使用PC外,其他可編程寄存器均可使用,沒有特殊的限制。286.4.3模型機的時序系統模型機采用同步控制方式、三級時序系統。1.模型機的機器周期全機設置六個機器周期:取指周期FT、取源周期ST、取目的周期DT、執行周期ET、中斷周期IT和DMA周期DMAT。為簡化問題,本章不考慮IT與DMAT的操作。

取指周期FT主要用于實現取指令、分析指令和(PC)+1→PC的操作。

取源周期ST用于非寄存器尋址的雙操作數指令中源操作數地址的尋址和取源操作數。當源尋址方式為變址尋址時,需連續兩次進入ST。

取目的周期DT用于非寄存器尋址的目的操作數地址的尋址和取目標操作數。當目的尋址為變址尋址時,需在DT中重復一次。

執行周期ET用于完成指令所規定的操作并保存結果。每個周期設一個周期狀態觸發器,哪個觸發器為l,機器就進入哪個機器周期,如圖6-12所示。圖中略去了IT和DMAT。29圖6-12模型機的周期狀態觸發器

每個機器周期內可以完成主存的一次讀、寫操作。每個周期中設置四個節拍T0、T1、T2、T3。為節省節拍,在取目的周期DT和執行周期ET中安排兩種節拍。根據微操作的需要,可選擇兩個節拍,也可選擇四個節拍,如圖6-13所示。每個節拍內設置一個脈沖,用于寄存器接收代碼,圖6-10所示數據通路中的所有CP信號如CPIR、CPPC等均為脈沖信號。寄存器接收數據使用脈沖的前沿。脈沖的后沿用于周期、節拍的轉換。302.模型機的節拍與時序節拍由節拍發生器產生,其電路如圖6-13所示。該電路由兩位T型觸發器構成模4計數器,經譯碼產生四個節拍電位T0、T1、T2、T3。圖6-13模型機的節拍發生器原理圖

轉4331圖6-14模型機的三級時序關系

三級時序系統的時序關系如圖6–14所示。

326.5組合邏輯控制器設計6.5.1設計的步驟一般來說,組合邏輯控制器的設計有如下步驟。⒈繪制指令操作流程圖指令流程圖有兩種繪制的思路。

一種是以指令為線索,按指令類型分別繪制各條指令的流程。這種方法對一條指令的全過程有清晰的線索,易于理解。

另一種方法是以周期為線索,按機器周期擬定各類指令在本周期內的操作流程,再以操作時間表的形式列出各個節拍內所需的控制信號及它們的條件。這種方法便于微操作控制信號的綜合、化簡,容易取得優化結果。為理解控制器設計方法,模型機設計基本采用了后一種方法。⒉編排指令操作時間表

⒊進行微操作綜合對操作時間表中各個微操作控制信號分別按其條件進行歸納、綜合,列出其綜合的邏輯表達式,并進行適當的調整、化簡,得到比較合理的邏輯表達式。33

⒋設計微操作控制信號形成部件根據各個微操作控制信號的邏輯表達式,用一系列組合邏輯電路加以實現。6.5.2模型機的設計

1.指令操作流程圖⑴取指周期操作流程圖

圖6-15所示為取指公操作流程

圖6-15取指公操作流程

假定訪存操作安排在三個節拍內完成,

在取指周期內:

T0送指令地址;T1讀指令到MDR;T2將現行指令傳送到IR并由ID進行譯碼;T3根據指令譯碼進行判斷,以確定下面應進入哪個機器周期。

判斷框內的JUMP為轉移類指令的特征,其邏輯表達式為:34判斷框內的SR、DR分別為源、目標尋址方式為寄存器尋址的特征,其邏輯表達式為:⑵取源周期的操作流程圖雙操作數指令的源尋址方式為非寄存器尋址時,需進入取源周期。當源尋址方式為變址尋址時,在取源周期的T3建立Repeat信號和1→ST信號,使之重復進入ST。在重復的ST的T3時,將Repeat信號清除,進入下一個周期。取源周期的指令流程圖如圖6-16所示。35圖6-16取源周期的指令流程36例6-16取源周期操作流程圖中源尋址方式的判斷條件是源尋址方式的譯碼輸出。其中:

(RS)=IR11·IR10·IR9(RS)+=IR11·IR10·IR9-(RS)=IR11·IR10·IR9XS=IR11·IR10·IR9⑶取目的周期的操作流程圖雙操作數指令和單操作數指令的目的尋址方式為非寄存器尋址時,進入取目的周期,完成目的操作數地址的尋址并讀取目的操作數,操作流程如圖6-17所示。由于目的操作數在執行周期才送入ALU的A輸入端運算,所以取出的目的操作數暫不傳送,而保留在MDR中,因此對于非變址尋址的尋址方式,只安排兩個節拍即可完成操作。37圖6-17非MOV指令取目的周期的操作流程圖MOV指令的目的尋址為非寄存器尋址時,也需進入目的周期,但因MOV指令只需傳送目的地址而不需取目的操作數,因而操作比圖6-17所示的流程簡單,如圖6-1838圖6-18MOV指令取目的周期的操作流程圖⑷執行周期的操作流程①傳送類指令如圖6-19所示39圖6-19MOV指令的執行周期流程

②運算類指令模型機的運算類指令有雙操作數指令和單操作數指令兩種格式,完成算術加、算術減、邏輯與、邏輯或、邏輯異或、增1、取反、移位等功能,如圖6-20~圖6-21所示。這一類指令的操作結果影響標志寄存器的狀態。40圖6-20雙操作數指令的執行周期流程③轉移類指令為簡單起見,模型機的狀態標志只有CC和CZ兩個,這樣轉移類指令只有無條件轉移、有進位位轉移和結果為零轉移,如圖6-22所示。41

轉移指令執行周期的主要操作是形成目標地址:(PC)+IR(D)→PC④停機指令本指令的執行周期只產生一個停機信號,如圖6-23所示。圖6-23停機指令流程

42⑤轉子/返回指令

為了準確地返回到主程序(調用程序),必須保留主程序調用指令的下一條指令地址(PC的值),并在子程序(被調用程序)的最后安排一條返回指令,恢復被保留的PC值。為便于實現多級程序調用,多數計算機采用堆棧保存PC值,如圖6-24所示。圖6-24轉子/返回指令執行周期流程轉圖6-13圖6-25指令周期結束后的檢測432.指令操作時間表模型機操作時間表如表6-5~表6-13所示。4445464748495051表6-11停機指令執行周期的操作時間表周期節拍微操作控制信號

電位信號脈沖信號

ET

Tn0→RUNT1表6-11停機指令執行周期的操作時間表周期節拍微操作控制信號

電位信號脈沖信號

ET

T0PC→BUS1[JP+JC?CC+JZ?CZ]S3S2S1S0MDMCPY[(JP+JC?CC+JZ?CZ)?P]

T1IR(D)→BUS1[JP+JC?CC+JZ?CZ]S3S2S1S0M[JP+JC?CC+JZ?CZ]DM1→FT[1→1T?1→DMA]

CPPCI(JP+JC·cc+JZ·Cz)·P]CPFT[P]CPST[P]CPDT[P]CPET[P]

5253下面對操作時間表做簡單說明。①表中控制信號后面中括號中的內容為該控制信號的產生條件。③表中未考慮在指令周期結束時出現中斷請求、DMA請求和電源失效等情況。實際應用中,一條指令執行結束,若有電源故障、中斷請求,則應進入中斷周期處理;若有DMA請求,則進入DMA周期處理。沒有發生上述情況,則進入取指周期,取下條指令。④未考慮模型機移位指令實現的細節問題,如何實現不同的移位方式,讀者可自行考慮。⑤采用變址尋址時需在相應的取數周期內重復一次,因此設Repeat信號。實現方法是采用一位計數器,用CPRepeat信號控制Repeat信號的置1和清0。如圖6-26所示,系統啟動運行時,由總清信號Reset將FT置1,計數器Repeat清0。系統由FT進入ST或DT時,只要不是變址尋址,就不會產生CPRepeat信號,使Repeat保持0。如果是變址尋址,則在T3拍產生CPRepeat信號,第一次時將Repeat置1,重復周期時在T3又產生CPRepeat信號,將Repeat清0

②對于脈沖信號,必須有脈沖控制,P表示脈沖前沿起作用,P表示脈沖后沿起作用。一般周期、節拍的轉換用P,寄存器接收代碼用P。

54圖6-26Repeat信號的產生及部分時間關系

3.微操作控制信號綜合對操作時間表中的各個控制信號進行歸納、綜合,將時間表中的所有相同信號按其條件寫出綜合邏輯表達式。表達式一般包括下列因素:

R/W=FT?T1+ST?T1+DT?T1?(MOV+XD)+ET?T2?RTSIR(D)(指令地址碼部分IR11~IR0)→BUS1=ET?T1?(JP+JC?CC+JZ?CZ)+ET?T3?JSR

55PC→BUS1=FT?(T0+T1)+ST?T0?(IR8IR7IR6+Xs?Repeat)+ST?T1?(IR8IR7IR6?(RS)+XS?Repeat)+DT?T0?(IR2IR1IR0+XD?Repeat)+DT?T1?(IR2IR1IR0?(RD)+XD?Repeat)+DT?T3?IR2IR1IR0?MOV+ET?T0?IR8IR7IR6?SR?MOV+ET?T0?

(JP+JC?CC+JZ?CZ)+ET?T0?IR8IR7IR6?SR?(ADD+SUB+AND+OR+EOR)+ET?T1?JSRMDR→BUS1=FT?T2+ST?T2+DT?T2?XD

?Repeat+ET?T1?DR?

(ADD+SUB+AND+OR+EOR)+ET?T0?DR?(INC+COM+ROL+ROR)+ET?T3?RTS

CPMAR=[FT?T0+ST?T0+DT?T0+DT?T3?MOV+ET?T0?(JSR+RTS)]?PCPTEMP=ST?T2?(XS+Repeat)?P56TEND=T3+ET?T1?MOV+INC+COM+ROL+ROR+JP+JC+JZ)+ET?T1?DR?(ADD+SUB+AND+OR+EOR)+DT?T1?(XD+Repeat)=T3+ET?T1(IR15IR14+IR14IR13IR12+IR15IR13IR12+IR15IR14IR13)+ET?T1?DR?(IRl5IR14IRl3+IR15IRl4IRl2+IRl5IRl4IRl3)+DT?T1?

(XD十Repeat)

對邏輯表達式需進行適當化簡、調整,以便得到比較合理的邏輯表達式。⒋電路實現⑴用組合邏輯電路實現將各個微操作控制信號用組合邏輯電路實現,即構成了組合邏輯控制器的微操作控制信號形成部件。圖6-27畫出了部分微操作控制信號的邏輯電路圖。57圖6-27實現微操作控制信號的部分邏輯電路

⑵用PLA器件實現組合邏輯控制電路的優點是運行速度快。缺點是設計和調試的代價大,而且一旦部件構成后修改和擴充功能難。58

例如用PLA器件實現下列邏輯函數,PLA的編程與實現如圖6-28所示。圖6-28用PLA器件實現邏輯函數輸入/輸出對應函數為:F1=ABC+ABC+ABC=AB+ACF2=ABC+ABC+ABCF3=AB+ABCF4=ABC+AB

圖6-29PLA器件實現模型機控制信號邏輯

596.6微程序控制器設計6.6.1微程序控制器概述微程序設計的概念和原理最早由劍橋大學WVWilkes教授于1951年首先提出來的。他關注的是為設計控制器開發出一種系統化辦法。他在《設計自動化計算機的最好方法》一文中指出:一條機器指令可以分解為許多基本的微指令序列。1964年最先在IBM360系列機上成功得以采用。

微程序設計技術的實質是將程序設計技術和存儲技術相結合,即用程序設計的思想方法來組織操作控制邏輯,將微操作控制信號按一定規則進行信息編碼(代碼化),形成控制字(微指令),再把這些微指令按執行時間的先后排列起來,存放在一個ROM中(這種存儲器稱為CM-固件)。

每條機器指令對應一段“微程序”,或者說,一條機器指令由一段微程序來解釋。

執行指令時,通過依次讀取一條條微指令,產生一組組操作控制信號,控制有關功能部件完成一組組微操作。因此,又稱為存儲邏輯。60

在微程序控制機器中,涉及兩個層次:一個層次是使用機器語言的程序員所看到的傳統機器級–機器指令。用機器指令編制工作程序,完成某一處理任務。CPU執行的程序存放在主存儲器中。另一個層次是硬件設計者所看到的微程序級––微指令。用微指令編制微程序,用以完成一條機器指令的功能。微程序存放在控制存儲器中。

微指令用于產生一組控制命令,稱為微命令,控制完成一組微操作。1.基本概念

⑴微命令微命令是構成控制信號序列的最小單位。通常是指那些直接作用于部件或控制門電路的控制命令。

例如模型機中的PC→BUS1、R0→BUS1、S3S2S1S0M、CPIR、R/W等控制信號都稱為微命令。61⑵微操作由微命令控制實現的最基本的操作稱為微操作。微操作的定義可大可小,如模型機中的(PC)→MAR是一個微操作,它是在一組微命令:PC→BUS1、S3S2S1S0M、DM、CPMAR的控制下實現的。也可以定義小一些,如打開PC與BUS1之間的控制門也是一個微操作,它是在微命令PC→BUS1的控制下實現的。

⑶微指令

用以產生一組微命令,控制完成一組微操作的二進制編碼字稱為微指令。

⑷微程序一系列微指令的有序集合稱為微程序。可以實現相應的一條機器指令的功能。

在微程序控制的機器中,每一條機器指令都對應著一段微程序,通過解釋執行這段微程序,完成指令所規定的操作功能。62

⑸微周期

從控制存儲器中讀取一條微指令并執行相應的微操作所需的時間稱為微周期。在微程序控制的機器中,微周期是它的主要時序信號。通常一個時鐘周期為一個微周期。

⑹控制存儲器(CM或CS)存放微程序的存儲器稱為控制存儲器,也稱為微程序存儲器(固件)。

⒉微程序控制器組成結構

圖6-30所示為微程序控制器組成框圖。

⑴控制存儲器CM控制存儲器的每個單元存放一條微指令代碼。圖6-30中每條橫線表示一個單元,其中每個交叉點表示微指令的一位,有“”表示該位為1,無“”表示該位為0。63圖6-30Wilkes微程序控制器原理圖

⑵微指令寄存器IR微指令通常分為兩大字段:操作控制字段與地址控制字段。操作控制字段經譯碼或直接產生一組微命令,控制有關部件完成微指令所規定的微操作。地址控制字段指示下條微指令地址的形成方式或直接給出下條微指令地址。

64⑶微地址形成電路用以產生起始微地址和后繼微地址,保證微程序的連續執行。⑷微地址寄存器MAR用于接收微地址形成電路送來的地址,為讀取微指令準備好控制存儲器的地址。⑸譯碼與驅動電路對微地址寄存器中的微地址進行譯碼,找到被訪問的CM單元并驅動其進行讀取操作,讀取微指令并存放于微指令寄存器中。⒊微程序執行過程

圖6-30中所標示的序號表示微程序控制器的工作過程。⑴啟動取指微指令或微程序;⑵根據IR寄存器中的指令碼,微地址形成電路產生該指令的微程序的起始微地址,并送入MAR中。⑶MAR中的微地址經譯碼、驅動,從被選的控存單元中取出一條微指令并送入IR。65⑷IR中的微指令的操作控制字段經譯碼或直接產生一組微命令,并送往有關的功能部件,控制其完成所規定的微操作。⑸

IR中微指令的地址控制字段及有關狀態條件送往微地址形成電路,產生下條微指令的地址,再讀取并執行下條微指令。如此循環,直到一條機器指令的微程序全部執行完畢。

微程序控制器設計的關鍵是要解決好下面問題:微指令的結構格式及編碼方法,即如何用一個二進制編碼字表示各個微命令;微程序順序控制的方法,也就是如何編制微程序,解決不同機器指令所對應微程序的邏輯銜接,保證微程序的連續執行;微指令執行方式,解決如何提高執行速度的問題。6.6.2微指令的編譯方法通常有下列幾種微指令編譯方法。⒈直接控制法

圖6-31直接控制法

66

優點是結構簡單,并行性強,操作速度快,

缺點是微指令字太長,信息效率低。

⒉最短編碼法

這種方法是將所有的微命令進行統一編碼。每條微指令只定義一個微命令。若微命令總數為N,則操作控制字段的長度L應滿足

L≥log2

N

⒊字段直接編碼法

這種編碼法實際是上述兩種方法的折中。不同子字段的不同編碼表示不同的微命令。字段編碼法中操作控制字段的分段必須遵循如下規則:①把互斥性的微命令(即在一條微指令中不允許同時出現的微命令)分在同一段,相容性的微命令(即在一條微指令中允許同時出現的微命令)分在不同段內。②應與數據通路結構相適應。③每個小段中包含的信息不能太多,否則將增加線路的復雜性和譯碼時間。67圖6-32字段直接編碼法

④一般每小段還要留出一個狀態,表示本字段不發出任何微命令。

⒋字段間接編碼法一個字段的編碼不能直接獨立地定義微命令,它必須與其他字段的編碼聯合定義,如圖6-33所示。

圖6-33字段間接編碼法68

⒌常數源字段的設置除上述幾種編碼方法之外,還有其他一些方法,如分類編碼法。機器指令根據操作類型分為幾類,如算術邏輯運算指令、訪主存指令、I/O指令及其他指令。不同的指令可以有不同的微指令格式。6.6.3微程序的順序控制方式通常把指令所對應的微程序的第一條微指令所在控制存儲器單元的地址稱為微程序的初始微地址,或稱微程序的入口地址。執行微程序過程中,當前正在執行的微指令稱為現行微指令,現行微指令所在控制存儲器單元的地址稱為現行微地址。現行微指令執行完畢后,下一條要執行的微指令稱為后繼微指令,后繼微指令所在控存單元的地址稱為后繼微地址。

⒈初始微地址的形成

初始微地址形成通常有下列幾種方式:⑴一級功能轉移根據指令操作碼,直接轉移到相應微程序的入口,稱為一級功能轉移。69當指令操作碼的位置與位數均固定時,可直接使用操作碼作為微地址的低位,例如微地址為00…0OP,OP為指令操作碼。

例如模型機的16條指令,操作碼對應IR的15~12位,當取出指令后,直接由IRl5~l2作為微地址(MAR)的低4位,如圖6-34所示。

圖6-34一級功能轉移示意圖

⑵二級功能轉移

所謂二級功能轉移是指先按指令類型標志轉移,以區分出哪一類指令。在每類指令中假定操作碼的位置和位數是固定的,第二級即可按操作碼區分出具體是哪條指令,以便轉移到相應微程序入口。⑶用PLA電路實現功能轉移PLA輸入是指令操作碼,輸出就是相應微程序入口地址。70假定有I0,I1,…,I7共8條指令,其操作碼分別為000,001,…,111,對應的微程序入口地址分別為020H,031H,…,146H,則用PLA的實現如圖6-35所示。圖6-35用PLA器件形成初始微地址高低71⒉后繼微地址的形成后繼微地址的形成方法對微程序編制的靈活性影響很大,它主要有兩種基本類型:增量方式(計數法)和斷定方式(下地址字段法)。⑴增量方式(計數法)所謂增量方式是指當微程序按地址遞增順序一條條地執行微指令時,后繼微地址是現行微地址加上一個增量(通常為1);當微程序轉移或調用微子程序時,由微指令地址控制字段產生轉移微地址。因此,微程序控制器中應有一個微程序計數器(PC)

。為解決轉移微地址的產生,通常把微指令的地址控制字段分為兩個部分,一部分為轉移地址字段BAF,另一部分為轉移控制字段BCF,微指令格式如下:

操作控制字段(OCF)BCFBAFBCF用以規定地址形成方式,BAF提供轉移地址。假定微地址形成方式規定如表6-14所示。圖6-36是實現表6-14所示微地址控制方式的原理框圖。72圖6-36微地址控制原理框圖73表6-14微地址形成方式舉例⑵斷定方式(下地址字段法)斷定方式是指后繼微地址可由設計者指定或由設計者指定的測試判定字段控制產生。74采用斷定方式的后繼微地址一般由兩部分組成:非因變分量和因變分量。

非因變分量是指由設計者直接指定的部分,一般是微地址的高位部分。

因變分量是根據判定條件產生的部分,一般對應微地址的低位部分。

例如微指令格式如下:μIR:OCF微地址高位ABA、B為兩個判定條件,表6-15給出了判定條件與后繼微地址低位的關系。

表6-15判定條件與后繼微地址低位的關系

判定條件A斷定微地址次低位判定條件B斷定微地址次低位00000001101110T110T311T211T475以上述規定為例,若現行微指令的高位地址為1011001,A字段為10,B字段為11,則后繼微地址為1011001T1T4。根據T1T4狀態,可實現四路轉移。

若T1T4為00,則后繼微地址為101100100=164H;

若T1T4為10,則后繼微地址為101100110=166H。

例6·4已知某計算機采用微程序控制方式,其控制存儲器的容量為51232位。微程序可以在整個控制存儲器中實現轉移,可控制微程序轉移的條件有6個,采用直接控制和字段混合編碼,后繼微指令地址采用斷定方式,格式如下:

微操作編碼測試條件微地址

請說明微指令中3個字段分別應為多少位。解:3段的位數分配是:下條指令微地址=9位;轉移測試條件=6位;微操作編碼=17位。76

例6·5圖6-37為一微程序流程,每一方框為一條微指令,用字母A~P分別表示微指令執行的微操作,該微程序流程的兩個分支分別是:指令的OP最低兩位(I1I0)控制4路轉移;狀態標志CZ的值決定后繼微地址的形成。圖6-37某微程序流程圖

請設計該微程序的微指令的順序控制字段,并為每條微指令分配一個微地址。77解:就本微程序而言,測試條件可用2位表示,描述后繼地址的形成方式。因此,本例的微指令格式由3部分內容組成,如下所示:OP測試(2位)下地址(4位)00→取下地址01→按指令OP轉移(控制末2位)10→按CZ轉移(控制末1位)11→無操作

在本題中,微指令C按指令OP(I1I0)實現4路分支,控制在末2位,這樣,下地址的約束條件是末2位全為0,地址為0100,微指令C的后繼4條微指令的地址分別為0100、0101、0110、0111,末2位實現了按I1I0轉移。

同理,按CZ轉移的地址則為10x0、10x1。

表6-16是本例微程序的微指令的地址分配結果,其中,深色部分的微指令下地址的形成愛測試字段約束條件的控制。

在微地址形成電路形成微地址時,可通過圖6-38所示的修改電路生成受約束的微地址(高位地址指定)。

78表6-16微程序的地址分配表

微地址微命令測試條件下地址備注

0000A0000110001B0000100010C0101I1I00011E10101CZ0100D0000110101H001000由指令OP控制

0110L0010010111P0010011000I0010111001M0011001010F001101由CZ控制

1011J0011101100N0011111101G0000001110K0000001111O00000079圖6-38微地址修改電路6.6.4微指令的執行方式

執行一條微指令的過程基本上分為兩步:第一步,將微指令從控制存儲器中取出,稱為取微指令;第二步執行微指令所規定的各個微操作,稱為執行微指令。根據取后繼微指令和執行現行微指令之間的時間關系,微指令有兩種執行方式:串行執行和并行執行。

⒈串行執行方式

微周期的時序安排如圖6-39所示。

80圖6-39微周期的時序安排

串行方式的優點是控制簡單,因為在每個微周期中,總要等到所有微操作結束,并建立了運算結果狀態之后,才確定后繼微指令地址。因此,無論后繼微地址是按μPC增量方式,還是根據結果特征實現微程序轉移,串行方式都可容易地實現控制。

串行方式的主要缺點是設備效率低,執行速度慢。⒉并行執行方式在執行本條微指令的同時,預取下一條微指令,其微周期時序安排如圖6-40所示。假設取微指令所需時間比執行微指令短,因而取執行微指令時間為微周期。

81圖6-40并行方式時序圖

優點:微程序執行速度比串行方式快,設備效率也高。

缺點:微指令的預取會帶來一些控制問題。6.6.5微程序設計方法微指令格式設計除了要實現計算機的整個指令系統外,還要考慮具體的數據通路、控制存儲器速度以及微程序的編制等因素。在進行微程序設計時,應盡量縮短微指令字長,減少微程序長度,提高微程序的執行速度。82⒈水平型微指令與微程序設計采用水平型微指令編制微程序稱為水平型微程序設計。

水平型微指令是指一次能定義并執行多個操作微命令的微指令。水平型微指令格式如下所示

控制字段判別測試字段下地址字段

一股水平型微指令具有如下幾個特點:⑴微指令字較長,一般為幾十位到上百位,如VAX-II/780微指令字長為96位。巨型機ILLAIAC-Ⅳ微指令字長達280位;⑵微指令中微操作并行能力強,一個微周期中,一次能定義并執行多個并行操作微命令;⑶微指令編碼簡單,一般采用直接控制方式和字段直接編碼法,微命令與數據通路各控制點之間有比較直接的對應關系。

優點:并行操作能力強,效率高,編制微程序短,因此微程序的執行速度快,控制存儲器的縱向容量小。

缺點:微指令字比較長,明顯地增長了控制存儲器的橫向容量。另外微指令長,定義的微命令多,使微程序編制困難、復雜,也不易實現設計自動化。

83⒉垂直型微指令與微程序設計在微指令中設置微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能,這一類微指令稱為垂直型微指令。

一條垂直型運算操作的微指令格式為:

OP源寄存器1源寄存器II目的寄存器其它

再比如垂直型微程序轉移的微指令格式為:

轉移OP轉移微地址條件測試

垂直型微指令有如下特點:⑴微指令字短,一般為10~20位左右;⑵微指令的微操作并行能力弱,一條微指令只能控制數據通路的一兩種信息傳送;⑶采用微操作碼,規定微指令的基本功能和信息傳送路徑;⑷微指令編碼復雜,微操作碼字段需經過完全譯碼產生微命令,微指令的各個二進制位與數據通路的各個控制點之間不存在直接對應關系。84采用垂直型微指令編制微程序稱為垂直型微程序設計。

主要優點是直觀、規整、易于編制微程序和實現設計自動化。由于微指令字短,使控制存儲器的橫向容量少。垂直型微程序設計主要是面向算法的描述,故又稱為軟方法。

缺點是微指令并行操作能力弱,編制的微程序長,要求控制存儲器的縱向容量大。另外,它的執行效率較低,執行速度慢。

⒊毫微程序設計⑴毫微程序設計

毫微程序是一種解釋微程序的微程序,而組成毫微程序的毫微指令是解釋某一微指令的微指令。毫微程序設計就是用水平型的毫微指令來解釋垂直型微指令的微程序設計。

毫微程序設計采用兩級微程序設計方法:第一級采用垂直型微程序設計,即用垂直型微指令編制垂直微程序;第二級采用水平型微指令編制,即水平型微程序設計。

85毫微程序控制器中有兩個控制存儲器:一個稱為微程序控制存儲器(CM),用來存放垂直微程序,一個稱毫微程序控制存儲器(nCM),用于存放毫微程序。圖6-41基于毫微程序設計的控制器結構

86

如QM-1型計算機采用的就是毫微程序控制,其標準字長為18位。存儲器涉及以下3個方面:主存儲器M→是256K×18位的存儲器,用于存放機器語言程序。控制存儲器CM→字長18位,存放微程序。毫微存儲器nCM→容量為1.024×360位,存放毫微程序。

⑵毫微程序的優點

毫微程序設計的主要優點有:①通過使用少量的控制存儲器空間,就可以達到高度的操作并行性。因為CM橫向容量很小,而nCM采用并行性高的水平型微指令,所以使nCM縱向容量很小;②用垂直微指令編制微程序容易,易于實現微程序設計自動化;③由于微指令可以調用毫微指令,所以效率高,并行能力強,可以充分利用數據通路;④獨立性強,毫微程序之間沒有順序關系,修改、增刪毫微指令不會影響毫微程序的控制結構;⑤靈活性好,若改變機器指令的功能,只需修改垂直微程序,無需改變毫微程序,因此能方便地修改和擴充指令系統的功能,具有動態結構的特點。

87

毫微程序設計的缺點是由于一個微周期內兩次訪問控制存儲器(一次訪問CM,一次訪問nCM),速度將受到影響。另外也增加了硬件成本,所以,微、小型機一般不用。6.6.6微程序控制器設計步驟微程序控制器設計的最主要任務是編寫所有機器指令對應的微程序。具體地可按下列步驟設計微程序控制器。⑴確定微指令格式和執行方式⑵定義微命令集、確定微命令編碼方式和微指令排序方式⑶編制微程序⑷寫入程序注意:微程序和程序兩者之間的差異。①微程序是由微指令組成,用于描述機器指令,是機器指令的實時的解釋器,是計算機設計者事先編制好并存放在CM中的,一般不提供給用戶的。對于程序設計員而言,計算機系統中的微程序一級的結構和功能是透明的。②程序最終由機器指令組成,由軟件設計人員事先編制好并存放在M?M或A?M中的。

88微程序控制的計算機涉及到兩個層次:①機器語言或匯編語言程序員看到的傳統機器層,包括機器指令、工作程序、M?M;②機器設計者看到的微程序層,包括:微指令、微程序和CM。6.6.7舉例:模型機的微程序設計

⒈時序系統采用微程序控制以后,指令的微操作序列不再由周期、節拍等時序信號控制,而代之以統一規整的微周期。為簡化問題,模型機采用取微指令與執行微指令順序串行執行的控制方式,并采用三相時鐘控制,時序關系如圖6-42所示。

圖6-42微程序時序關系

89⒉微指令格式根據圖6-10所示的模型機數據通路結構的需要,模型機的微指令字長31位,采用直接控制和字段譯碼混合方式,將微控制信號共劃分為10個字段,格式設計如下:

⑴BUSin–BUS1輸入選擇字段(3位)

⑵ALU操作控制字段(5位)采用的是74LS181芯片,由S3S2S1S0M等5位控制,其編碼及意義詳見74LSl81芯片的功能表。

⑶C0–進位字段(1位)

⑷S–移位字段(2位)

⑸BUS0l–BUS2輸出分配字段1(2位)

⑹BUS02–BUS2輸出分配字段2(3位)

⑺R/W–可讀寫控制字段(1位)

⑻MREQ/IOREQ–訪問主存/IO請求字段(2位)

⑼SCF–順序控制字段(4位)

⑽下地址字段(8位)

90⒊模型機的微程序流程及微程序的編制

⑴取指令的微程序流程

圖6–44所示為取指微程序流程⑵MOV指令的微程序流程MOV指令的微程序流程如圖6–45所示。⑶雙操作數指令的微程序流程雙操作數指令的微程序流程如圖6–46所示。⑷單操作數指令的微程序流程單操作數指令的微程序流程如圖6–47所示。⑸其他指令的微程序流程除上述指令以外,轉移類指令和停機指令不需調用源子程序和目的子程序,因此取出指令后直接轉入執行,如圖6–48所示。⑹源微子程序流程源微子程序流程如圖6–49所示。⑺目的微子程序流程目的微子程序流程如圖6–50所示。模型機微程序的編制如表6–17所示。

916.6.8微程序設計技術的應用⒈微程序控制的特點通過對模型機控制器的兩種設計方式的對比與分析,可以看出微程序控制方式具有以下明顯的優點。

⑴用規整的存儲邏輯代替了復雜的、不規整的硬連邏輯,簡化了硬件結構,有利于設計自動化。⑵適宜作系列機的控制器,可以用比較簡單的硬件結構實現較復雜的指令系統。對組合邏輯控制器來說,隨著指令系統功能的增加,其價格將迅速增加,控制邏輯也變得復雜。微程序控制的計算機在同一系列內,功能的增加主要表現為微程序的增加,即控制存儲器容量的增加,其他硬件增加不多,所以性能價格比相對較高。⑶易于修改和擴充,靈活性、通用性強。在數據通路結構不變的前提下,可以通過修改微程序,修改指令功能或增加新的指令。⑷可靠性高,易于診斷與維護。這是因為微程序控制方式的結構簡單、規整,易于采用診斷技術。相對于組合邏輯控制方式,微程序控制方式的主要缺點是

⑴速度慢,因為增加了從控制存儲器中讀取微指令的時間。92⑵由于一條微指令的操作比一條機器指令所能定義的操作簡單,因而可能會降低并行操作能力,影響執行效率。

⒉微程序的應用⑴固件技術的發展固件一詞是1967年由美國的AOpler首先提出來的。

固件是指存放在存儲器中的各種用途的微程序,是具有軟件功能的硬件。固件是軟、硬件結合的產物,吸取了軟件、硬件各自的優點,其執行速度快于軟件,靈活性優于硬件。固件技術包括硬件固化和軟件固化⑵微程序仿真

所謂微程序仿真是指用一臺計算機的微程序解釋執行另一臺計算機的指令系統,使本來不兼容的計算機之間具有程序兼容的能力。

用來進行仿真的計算機稱為宿主機,被仿真的計算機稱為目標機

⑶具有動態結構的通用微程序計算機

⑷面向高級語言的微程序解釋直接用微程序解釋高級語言,可以大大提高高級語言的執行效率93▼6.7流水線處理技術6.7.1指令的執行方式

⒈順序方式

所謂順序方式是指各條指令之間是順序串行執行的。即一條指令執行完以后,才取下條指令來執行。如果把一條指令執行過程劃分為取指、取數和執行三個步驟,則順序方式如圖6–51所示。

執行K+1分析K+1取指K+1執行K分析K取指K圖6?51順序執行方式

順序控制方式的優點是控制簡單,節省設備;

缺點是執行速度慢,機器效率低,在時間上不能充分利用各部件。例如在執行運算時主存可能是空閑的。⒉重疊方式

所謂重疊方式是指前一條指令的解釋執行完成之前,就開始下一條指令的解釋執行,即相鄰兩條指令在時間上相互重疊。圖6–52(a)和圖6–52(b)分別示出了兩種不同的重疊情況。94(a)一次重疊

(b)二次重疊圖6-52重疊執行方式

⒊流水方式它是把指令的執行過程劃分成若干個復雜程度相當、處理時間大致相等的子過程,每個子過程由一個獨立的功能部件來完成。同一時間,多個功能部件同時工作,完成對不同子過程的處理。由于流水線上各功能部件并行工作,同時進行對多條指令的解釋執行,使機器的處理速度大大提高。圖6–53(a)是一個五段的指令流水線,指令的流水處理過程如圖6–53(b)所示。95圖6-53流程執行方式

966.7.2流水線的分類.

⒈按處理級別分類從處理級別角度,流水線可分為操作部件級、指令級和處理機級等。

⒉按功能分類流水線按功能可分為單功能流水線和多功能流水線兩種。

圖6–54處理機級流水線

⒊按工作方式分類從工作方式角度,流水線可分為靜態流水線和動態流水線兩種。

⒋按流水線結構分類

流水線按結構可分為線性流水線和非線性流水線兩種。

976.7.3線性流水線的性能

⒈流水線時空圖

⒉流水線主要指標衡量流水線的主要指標有以下3個:吞吐率、效率和加速比。

⑴吞吐率(TP)

吞吐率是指單位時間內流水線能完成的指令數、任務數和輸出結果數量。

98⑵加速比(SP)

加速比是指采用流水線后的工作速度與等效的順序串行方式的工作速度之比。對求解n個任務而言,若串行方式工作需要時間為TP,而用m段流水線來完成該任務需要時間為TP,則加速比可用下列公式求出。⑶效率(η)

效率是指流水線中各功能段的利用率。一般用流水線各段處于工作時間的時空區與流水線中各段總的時空區之比來計算效率。即:

僅當n>>m,

Sp≈m。

99

例6.6設有100條指令的程序段經過圖6–53所示的指令流水線執行,請求出完成該程序段的流水時間、流水線的實際吞吐率、加速比和效率(假定△t=10ns)。解:流水總時間Tc=m△t+(n-1)△t=5×10+99×10=1040ns

TP=100/Tc=100/1040∵非流水時間Ts=100×5×10-5000ns∴SP=Ts/Tc=5000/1040≈5

=TP△t=1000/1040≈100%

⒊標準流水線從性能指標來看,流水線中的功能段數是影響流水線性能的重要元素。一般的流水線功能段數限定在5段之內。100

⒋高級流水線為了加速流水處理器的處理速度,流水線的構造需進一步加以改善。目前主要采取的措施有:超流水線、超長指令字流水線和超標量流水線。⑴超流水技術⑵超長指令字技術⑶超標量技術6.7.4流水線的相關問題

所謂相關,是指在一段程序的相近指令之間存在某種依賴關系,這種關系影響指令的并行執行。流水線的相關主要有資源相關、數據相關和控制轉移相關。⒈資源相關

資源相關是指當有多條指令進入流水線后,在同一機器周期內爭用同一功能部件而導致流水不能繼續運行的現象。

101

⒉數據相關由于多條指令進入流水線后,各條指令的操作重疊進行,使得原來對操作數的訪問順序發生了變化,產生了錯誤的運行結果,從而導致了數據相關沖突。

⒊控制轉移相關控制相關是指由分支指令、轉子指令和中斷等引起的相關。⑴加快和提前形成條件碼⑵預取轉移成功或不成功兩個分支序列的指令⑶采用延遲轉移技術

1026.8CPU舉例6.8.1Intel公司的Pentium處理器

⒈Pentium的特性

歸納起來,Pentium有如下的特性:⑴采用超標量雙流水結構

在PentiumCPU內部有兩個ALU,分別對應兩條流水線U和V(80486只有一條流水線),U流水線執行整數和浮點數指令;V流水線執行整數指令,以及交換寄存器的內容。所以,Pentium能在每個時鐘周期內執行兩條整數運算指令,或在每個時鐘周期內執行一條浮點數運算指令。U、V兩條指令流水線的段數都含有如下所示的5段

PFD1D2EXWBPF預取指令段。D1進行指令譯碼,以確定操作碼和尋址信息,并進行配對性和轉移預測檢查。D2形成訪內操作數地址。103

D1和D2均采用按序發射、按序調動的策略。⑵獨立的指令Cache和數據Cache各自都為8KB。指令Cache向指令預取緩沖器提供指令代碼;數據Cache與U、V流水線交換數據。它們對Pentium的超標量結構提供了強有力的支持。⑶MESI協議MESI協議是寫一無效式監聽協議,它要求每個cache行設置兩個狀態位,用于描述該行當前是處于修改態(M)、專有態(E)、共享態(S)或無效態(I)。MESI狀態的定義是:①Modified狀態修改態表明本行數據已被修改過(臟行),內容已不同于存儲器且為本Cache專有。②Exclusive狀態專有態說明本行數據與存儲器的相同(干凈行),并且不可以在其他Cache中出現。104③Shared狀態共享態說明本行數據與存儲器的相同(干凈行),并且可以在其他Cache中出現。④Invalid狀態無效態表明本行數據為廢棄數據(空行)。

⑷超流水的浮點運算單元PentiumCPU有一個內置的浮點運算單元——-FPU(floatprocessingunit),FPU有自己的浮點寄存器堆、加法器和乘/除運算器,并全部采用硬件實現。FPU遵守IEEE754標準,并采用超級流水技術,以便與整數運算相統一。浮點運算流水線擴充了U流水線,共分為8級,其中1~5級和U流水線共享。當執行浮點運算指令時,U流水線及其第4級以后的控制從ALU移到FPU。

⑸增強的64位數據總線P

溫馨提示

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

評論

0/150

提交評論