大學計算機組成原理 第5章 中央處理器3_第1頁
大學計算機組成原理 第5章 中央處理器3_第2頁
大學計算機組成原理 第5章 中央處理器3_第3頁
大學計算機組成原理 第5章 中央處理器3_第4頁
大學計算機組成原理 第5章 中央處理器3_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理第第5 5章章 中央處理器中央處理器 課程教學要求本章內(nèi)容本章內(nèi)容: 5.1 CPU5.1 CPU的組成和功能的組成和功能 5.6 5.6 硬布線控制器硬布線控制器 5.25.2 指令周期指令周期 5.7 5.7 傳統(tǒng)的傳統(tǒng)的CPUCPU 5.3 5.3 時序產(chǎn)生器和控制方式時序產(chǎn)生器和控制方式 5.8 5.8 流水流水CPUCPU 5 5.4 .4 微程序控制器微程序控制器 5.9 RISC CPU 5.9 RISC CPU 5.5 5.5 微程序設計技術微程序設計技術 5 5.10 .10 多媒體多媒體CPU CPU 本章小結(jié)本章小結(jié)5.6硬布線控制器硬布線控制器 1.1.基

2、本思想基本思想 硬布線控制器把控制部件看作為產(chǎn)生專門固硬布線控制器把控制部件看作為產(chǎn)生專門固定時序控制信號的邏輯電路,而此邏輯電路以定時序控制信號的邏輯電路,而此邏輯電路以使使用最少元件和取得最高操作速度用最少元件和取得最高操作速度為設計目標。一為設計目標。一旦控制部件構(gòu)成后,除非重新設計和物理上對它旦控制部件構(gòu)成后,除非重新設計和物理上對它重新布線,否則要想增加新的控制功能是不可能重新布線,否則要想增加新的控制功能是不可能的。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復雜樹形邏輯網(wǎng)絡,故稱之為的復雜樹形邏輯網(wǎng)絡,故稱之為硬布線控制器硬布線控制器。中央處

3、理器中央處理器中央處理器中央處理器圖圖5.31 5.31 硬布線控制器結(jié)構(gòu)方框圖硬布線控制器結(jié)構(gòu)方框圖來自指令操作碼來自指令操作碼(OP)譯碼器的)譯碼器的輸出輸出Im; 來自執(zhí)行部件的來自執(zhí)行部件的反饋信息反饋信息Bj 來自時序產(chǎn)生器的來自時序產(chǎn)生器的時序信號,包括節(jié)時序信號,包括節(jié)拍電位信號拍電位信號M和節(jié)和節(jié)拍脈沖信號拍脈沖信號T 邏輯網(wǎng)絡邏輯網(wǎng)絡N的輸出信號的輸出信號就是微就是微操作控制信號,它用來對執(zhí)行操作控制信號,它用來對執(zhí)行部件進行控制。部件進行控制。 硬布線控制器的基本原理硬布線控制器的基本原理:C=f(Im,Mi,Tk,Bj)2.2.指令執(zhí)行流程指令執(zhí)行流程 在用硬聯(lián)線實現(xiàn)的

4、操作控制器中,通常,在用硬聯(lián)線實現(xiàn)的操作控制器中,通常,時序產(chǎn)生器除了產(chǎn)生節(jié)拍脈沖信號外,還應時序產(chǎn)生器除了產(chǎn)生節(jié)拍脈沖信號外,還應當產(chǎn)生當產(chǎn)生節(jié)拍電位節(jié)拍電位信號。因為在一個指令周期信號。因為在一個指令周期中要順序執(zhí)行一系列微操作,需要設置若干中要順序執(zhí)行一系列微操作,需要設置若干節(jié)拍電位來定時。例如前面提到的五條指令節(jié)拍電位來定時。例如前面提到的五條指令的指令周期,其指令流程可用下圖來表示的指令周期,其指令流程可用下圖來表示 。中央處理器中央處理器中央處理器中央處理器圖圖5.32 硬布線控制器的指令周期流程圖硬布線控制器的指令周期流程圖 采用同步工作方式采用同步工作方式,長指令和短指令對節(jié)

5、拍時,長指令和短指令對節(jié)拍時間的利用都一樣。短指令在時間的利用上是浪費的,間的利用都一樣。短指令在時間的利用上是浪費的,降低了降低了CPUCPU的指令執(zhí)行速度,影響到機器的速度指標。的指令執(zhí)行速度,影響到機器的速度指標。為了改變這種情況,在設計短指令流程時可以跳過為了改變這種情況,在設計短指令流程時可以跳過某些節(jié)拍。當然在這種情況下,節(jié)拍信號發(fā)生器的某些節(jié)拍。當然在這種情況下,節(jié)拍信號發(fā)生器的電電 路相應就要復雜一些。路相應就要復雜一些。節(jié)拍電位信號的產(chǎn)生電路與節(jié)拍脈沖產(chǎn)生電路類節(jié)拍電位信號的產(chǎn)生電路與節(jié)拍脈沖產(chǎn)生電路類似,它可以在節(jié)拍脈沖信號時序器的基礎上產(chǎn)生,似,它可以在節(jié)拍脈沖信號時序器

6、的基礎上產(chǎn)生,運行中以循環(huán)方式工作,并與節(jié)拍脈沖保持同步。運行中以循環(huán)方式工作,并與節(jié)拍脈沖保持同步。中央處理器中央處理器3.3.微操作控制信號的產(chǎn)生微操作控制信號的產(chǎn)生 在微程序控制器中,微操作控制信號在微程序控制器中,微操作控制信號由微指令產(chǎn)生,并且可以重復使用。由微指令產(chǎn)生,并且可以重復使用。 在硬聯(lián)線控制器中,某一微操作控制在硬聯(lián)線控制器中,某一微操作控制信號由布爾代數(shù)表達式描述的輸出函數(shù)產(chǎn)信號由布爾代數(shù)表達式描述的輸出函數(shù)產(chǎn)生。生。中央處理器中央處理器硬布線控制器的設計方法硬布線控制器的設計方法 n繪制指令的流程圖:繪制指令的流程圖:以指令的執(zhí)行過程為線索,以指令的執(zhí)行過程為線索,按

7、指令類型分類,將每條指令歸納為一個微操作按指令類型分類,將每條指令歸納為一個微操作序列,根據(jù)操作的先后順序畫出指令流程圖。序列,根據(jù)操作的先后順序畫出指令流程圖。n列出微操作時間表:列出微操作時間表:把指令流程圖中的微操作序把指令流程圖中的微操作序列合理地安排在各個機器周期的相應節(jié)拍和脈沖列合理地安排在各個機器周期的相應節(jié)拍和脈沖中去,使他們在執(zhí)行的時間上不發(fā)生沖突。中去,使他們在執(zhí)行的時間上不發(fā)生沖突。n微操作的邏輯綜合:微操作的邏輯綜合:以每個微操作為單位進行以每個微操作為單位進行“同類項合并同類項合并”,就是把不同指令在不同周期狀,就是把不同指令在不同周期狀態(tài),不同節(jié)拍和不同條件下所需要

8、的同一微操作態(tài),不同節(jié)拍和不同條件下所需要的同一微操作用邏輯關系式綜合起來,然后加以簡化使邏輯表用邏輯關系式綜合起來,然后加以簡化使邏輯表達式更為合理。達式更為合理。n電路實現(xiàn):電路實現(xiàn):按照最后得到的邏輯表達式組,可用按照最后得到的邏輯表達式組,可用一系列組合邏輯電路加以實現(xiàn)。一系列組合邏輯電路加以實現(xiàn)。 設計微操作控制信號的方法和過程是設計微操作控制信號的方法和過程是: 根據(jù)所有機器指令流程圖,尋找出產(chǎn)生同一個微根據(jù)所有機器指令流程圖,尋找出產(chǎn)生同一個微操作信號的所有條件,并與適當?shù)墓?jié)拍電位和節(jié)拍操作信號的所有條件,并與適當?shù)墓?jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾代數(shù)表達式并進行簡化,脈沖

9、組合,從而寫出其布爾代數(shù)表達式并進行簡化,然后用門電路或可編程器件來實現(xiàn)。然后用門電路或可編程器件來實現(xiàn)。 為了防止遺漏,設計時可按信號出現(xiàn)在指令流程為了防止遺漏,設計時可按信號出現(xiàn)在指令流程圖中的先后次序書寫,然后進行歸納和簡化。圖中的先后次序書寫,然后進行歸納和簡化。要特要特別注意控制信號是電位有效還是脈沖有效,如果是別注意控制信號是電位有效還是脈沖有效,如果是脈沖有效,必須加入節(jié)拍脈沖信號進行相脈沖有效,必須加入節(jié)拍脈沖信號進行相“與與”。中央處理器中央處理器 比較硬布線控制和微程序控制:【答】 硬布線控制與微程序控制器相同之處:硬布線控制與微程序控制器相同之處: 根據(jù)指令操作碼和時序信

10、號,產(chǎn)生各種控制根據(jù)指令操作碼和時序信號,產(chǎn)生各種控制信號,以便正確地建立各種數(shù)據(jù)通路,完成取信號,以便正確地建立各種數(shù)據(jù)通路,完成取指令和執(zhí)行指令的控制。指令和執(zhí)行指令的控制。 硬布線控制的優(yōu)點是由于控制器的速度取硬布線控制的優(yōu)點是由于控制器的速度取決于電路延遲,所以速度較快決于電路延遲,所以速度較快。 硬布線控制的主要缺點是由于將控制部件看硬布線控制的主要缺點是由于將控制部件看成專門產(chǎn)生固定時序控制信號的邏輯電路,所成專門產(chǎn)生固定時序控制信號的邏輯電路,所以把用最少元件和取得最高速度作為設計目標。以把用最少元件和取得最高速度作為設計目標。一旦設計完成,不可能通過其他的修改添加新一旦設計完成

11、,不可能通過其他的修改添加新功能。功能。 微程序控制的主要優(yōu)點是同硬布線控制器相微程序控制的主要優(yōu)點是同硬布線控制器相比,具有規(guī)整性、靈活性、可維護性等一系列比,具有規(guī)整性、靈活性、可維護性等一系列優(yōu)點。優(yōu)點。 微程序控制的主要缺點是由于微程序控制器微程序控制的主要缺點是由于微程序控制器采用了存儲程序原理,所以每條指令都要從控采用了存儲程序原理,所以每條指令都要從控存中取一次,因此影響了速度。存中取一次,因此影響了速度。5.7 傳統(tǒng)的傳統(tǒng)的CPU 5.7.1 M6800 CPU5.7.1 M6800 CPU5.7.2 Intel 8088 CPU5.7.2 Intel 8088 CPU5.7.

12、3 IBM 3705.7.3 IBM 370系列系列CPUCPU5.7.4 Intel 80486 CPU5.7.4 Intel 80486 CPU中央處理器中央處理器5.7.1 M6800 CPU 5.7.1 M6800 CPU 中央處理器中央處理器 M6800CPUM6800CPU的邏輯框圖如下:的邏輯框圖如下: 中央處理器中央處理器 M6800CPU M6800CPU是典型的是典型的單總線結(jié)構(gòu)單總線結(jié)構(gòu)的微理器,通過內(nèi)的微理器,通過內(nèi)部的一條總線將微處理器內(nèi)部的各個邏輯部件連接部的一條總線將微處理器內(nèi)部的各個邏輯部件連接起來,外部總線將起來,外部總線將CPUCPU與外面的部件連接起來。與

13、外面的部件連接起來。 M6800CPUM6800CPU是一種是一種8 8位微處理器,采用單一的位微處理器,采用單一的5V5V電源。時鐘脈沖采用兩相電源。時鐘脈沖采用兩相(1(1,2)2),主頻為,主頻為1MHz1MHz,由外面加入由外面加入CPUCPU。 M6800M6800的的CPUCPU包括包括8 8位的位的ALUALU,1616位的程序計數(shù)位的程序計數(shù)器、器、1616位的堆棧指示器和位的堆棧指示器和1616位的變址寄存器,兩個位的變址寄存器,兩個8 8位的累加器和一個位的累加器和一個8 8位的狀態(tài)條件碼寄存器,一個位的狀態(tài)條件碼寄存器,一個8 8位的指令寄存器以及指令譯碼與控制部件位的指

14、令寄存器以及指令譯碼與控制部件( (即操作即操作控制器控制器) )。此外還有一個。此外還有一個8 8位的數(shù)據(jù)緩沖寄存器和一位的數(shù)據(jù)緩沖寄存器和一個個1616位位 的地址緩沖寄存器。的地址緩沖寄存器。中央處理器中央處理器 ALUALU部件執(zhí)行算術運算和邏輯操作,它們包括部件執(zhí)行算術運算和邏輯操作,它們包括邏輯邏輯“與與”、邏輯、邏輯“或或”、邏輯、邏輯“異或異或”、求補、求補、比較、加法、減法、十進制調(diào)整等。比較、加法、減法、十進制調(diào)整等。 堆棧指示器可以指出主存儲器中的任何位置。這堆棧指示器可以指出主存儲器中的任何位置。這意味著在主存中的任何位置,都可設置先進意味著在主存中的任何位置,都可設置

15、先進 后出的后出的堆棧。變址寄存器可以用來存儲數(shù)據(jù),或者用來存堆棧。變址寄存器可以用來存儲數(shù)據(jù),或者用來存儲儲1616位地址,以便在變址尋址時使位地址,以便在變址尋址時使 用。狀態(tài)碼寄存用。狀態(tài)碼寄存器用來指出在器用來指出在ALUALU中操作的結(jié)果,以便在條件轉(zhuǎn)移中操作的結(jié)果,以便在條件轉(zhuǎn)移時使用。這些標志有負數(shù)時使用。這些標志有負數(shù) (N)(N)、零、零(Z)(Z)、溢出、溢出(V)(V)、進、進位位(C) (C) 和半進位和半進位(H)(H)。中央處理器中央處理器 為了與外界交換數(shù)據(jù),為了與外界交換數(shù)據(jù),CPUCPU通過數(shù)據(jù)緩沖寄存通過數(shù)據(jù)緩沖寄存器與雙向數(shù)據(jù)總線器與雙向數(shù)據(jù)總線D0D7D

16、0D7相連。而地址則是過地相連。而地址則是過地址緩沖寄存器送到址緩沖寄存器送到1616位地址總線位地址總線A15A0A15A0上。由于上。由于數(shù)據(jù)總線、地址總線與數(shù)據(jù)總線、地址總線與CPUCPU相連的緩沖寄存器都是相連的緩沖寄存器都是三態(tài)的,以后我們將會知道,這種邏輯結(jié)構(gòu)對直接三態(tài)的,以后我們將會知道,這種邏輯結(jié)構(gòu)對直接內(nèi)存訪問來說是方便的。其次,在內(nèi)存訪問來說是方便的。其次,在M 6800M 6800中,主存中,主存地址和外設地址是統(tǒng)一編址的,因此,在地址和外設地址是統(tǒng)一編址的,因此,在6553665536個個地址中有一部分是為外圍設備使用的。地址中有一部分是為外圍設備使用的。 5.7.2

17、Intel 8088 CPU 5.7.2 Intel 8088 CPU 中央處理器中央處理器 Intel 8088Intel 8088是一種通用的準是一種通用的準1616位微處理器,位微處理器,其內(nèi)部結(jié)構(gòu)為其內(nèi)部結(jié)構(gòu)為1616位,與外部交換的數(shù)據(jù)為位,與外部交換的數(shù)據(jù)為8 8位。位。它可以處理它可以處理1616位數(shù)據(jù)位數(shù)據(jù)( (具有具有1616位運算指令,包括位運算指令,包括乘除法指令乘除法指令) ),也可以處理,也可以處理8 8位數(shù)據(jù)。它有位數(shù)據(jù)。它有2020條地條地址線,所以直接尋址能力達到址線,所以直接尋址能力達到1M1M字節(jié)。采用字節(jié)。采用4040條引線封裝,單相時鐘,電源為條引線封裝

18、,單相時鐘,電源為5V5V。 圖圖5.34 8088 CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 中央處理器中央處理器 CPU CPU從功能上來說分成兩大部分從功能上來說分成兩大部分: : 總線接口單元總線接口單元BIUBIU:負責與存儲器和外圍設備接口負責與存儲器和外圍設備接口; ; 執(zhí)行單元執(zhí)行單元EUEU: 負責指令的執(zhí)行。負責指令的執(zhí)行。 寄存器能處理寄存器能處理1616位數(shù)據(jù),所以最上面位數(shù)據(jù),所以最上面4 4個寄存器是個寄存器是1616位數(shù)據(jù)寄存器,用以暫存位數(shù)據(jù)寄存器,用以暫存1616位的操作數(shù)。其中位的操作數(shù)。其中AH+ALAH+AL為累加器,其他三個為累加器,其他三個1616位寄存器用以存放

19、操位寄存器用以存放操作數(shù)。作數(shù)。 當處理當處理8 8位數(shù)時,四個位數(shù)時,四個1616位數(shù)據(jù)寄存器可變作八個位數(shù)據(jù)寄存器可變作八個8 8位寄存器使用。位寄存器使用。 中央處理器中央處理器 堆棧指針堆棧指針SPSP用來指示堆棧操作時堆棧在主存的用來指示堆棧操作時堆棧在主存的位置,但是位置,但是SPSP必須與堆棧段寄存器必須與堆棧段寄存器SSSS一起使一起使用用 。另外三個。另外三個1616個寄存器個寄存器BP(BP(基數(shù)指針基數(shù)指針) )、SI(SI(源源變址變址) )、DI(DI(目的變址目的變址) )用來增加幾種尋址方式,用來增加幾種尋址方式,從而能更靈活的尋找操作數(shù)。從而能更靈活的尋找操作數(shù)

20、。 指令指針指令指針I(yè)PIP的功能相當于一般機器的程序計數(shù)的功能相當于一般機器的程序計數(shù)器器PCPC,但是,但是IPIP要與代碼分段寄存器要與代碼分段寄存器CSCS相配合才相配合才能形成真正的物理地址。能形成真正的物理地址。 狀態(tài)寄存器狀態(tài)寄存器PSWPSW由九個標志位組成,以反映操由九個標志位組成,以反映操作結(jié)果的某些狀態(tài)或機器運行狀態(tài)。作結(jié)果的某些狀態(tài)或機器運行狀態(tài)。中央處理器中央處理器 四個四個1616位的位的段寄存器段寄存器,用來存放主存段地址,用來存放主存段地址( (代碼代碼段段CSCS,數(shù)據(jù)段,數(shù)據(jù)段DSDS,堆棧段,堆棧段SSSS,附加段,附加段ES)ES)。 通過通過把某個段寄

21、存器左移把某個段寄存器左移4 4位低位補零后與位低位補零后與1616位偏移地位偏移地址相加的方法可形成址相加的方法可形成2020位長度的實際地址,從而可位長度的實際地址,從而可使主存具有一兆字節(jié)使主存具有一兆字節(jié)(2(2的的2020次方次方=1M)=1M)的尋址能力。的尋址能力。 取指令時取指令時,CPUCPU自動選擇代碼分段寄存器自動選擇代碼分段寄存器CSCS,再,再加上由加上由IPIP所決定的所決定的1616位位移量,便得到所取指令的位位移量,便得到所取指令的2020位主存物理地址。位主存物理地址。 中央處理器中央處理器 進行堆棧操作時進行堆棧操作時,CPUCPU自動選擇堆棧分段寄存器自動

22、選擇堆棧分段寄存器SSSS,再加上,再加上SPSP所決定的所決定的1616位偏移量,便得到堆棧位偏移量,便得到堆棧操作所需要的操作所需要的2020位物理地址。位物理地址。 涉及到一個操作數(shù)時涉及到一個操作數(shù)時,CPUCPU自動選擇數(shù)據(jù)分段寄存自動選擇數(shù)據(jù)分段寄存器器DSDS或附加分段寄存器或附加分段寄存器ESES,再加上,再加上1616位偏移量,位偏移量,便得到操作數(shù)的便得到操作數(shù)的2020位物理地址。此處的位物理地址。此處的1616位偏移量,位偏移量,可以是包含在指令中的直接地址,也可以是某一個可以是包含在指令中的直接地址,也可以是某一個1616位地址寄存器的值,又可以是指令中的偏移量加位地

23、址寄存器的值,又可以是指令中的偏移量加上上1616位地址寄存器的值等等,這要取決于指令的尋位地址寄存器的值等等,這要取決于指令的尋址方式。址方式。 ( (在不改變段寄存器值的情況下,尋址的最大范圍是在不改變段寄存器值的情況下,尋址的最大范圍是64KB)64KB)5.7.3 IBM 370 5.7.3 IBM 370 系列系列 CPU CPU 中央處理器中央處理器 IBM 370 IBM 370 系列機系列機中使用的中使用的CPUCPU結(jié)構(gòu),字長結(jié)構(gòu),字長3232位。位。 圖圖3.35 IBM 370系列計算機的系列計算機的CPU結(jié)構(gòu)結(jié)構(gòu) 中央處理器中央處理器 ALUALU部件部件按功能不同分為

24、如下三個子部件:按功能不同分為如下三個子部件: (1)(1)定點運算,包括整數(shù)計算和有效地址的計算;定點運算,包括整數(shù)計算和有效地址的計算; (2)(2)浮點運算;浮點運算; (3)(3)可變長運算,包括十進制算可變長運算,包括十進制算 術運算和字符串操術運算和字符串操作。作。 為了存放地址和數(shù)據(jù),使用了兩組獨立的可為了存放地址和數(shù)據(jù),使用了兩組獨立的可編址寄存器,編址寄存器,1616個通過寄存器用來存放操作數(shù)和個通過寄存器用來存放操作數(shù)和運算結(jié)果,并且也可用作變址寄存器。運算結(jié)果,并且也可用作變址寄存器。4 4個浮點個浮點寄存器用于浮點運算。數(shù)據(jù)寄存器寄存器用于浮點運算。數(shù)據(jù)寄存器DRDR、

25、地址寄存、地址寄存器器ARAR、指令寄存器、指令寄存器IRIR都是標準化的。都是標準化的。 中央處理器中央處理器程序狀態(tài)字程序狀態(tài)字PSW(PSW(實際上為兩個字實際上為兩個字) )存放在專用存放在專用寄存器中,它指明程序運行的狀態(tài),可用于寄存器中,它指明程序運行的狀態(tài),可用于CPUCPU響應的中斷情況及指明下一條執(zhí)行指令的地址,響應的中斷情況及指明下一條執(zhí)行指令的地址,PSWPSW主要是為處理中斷而使用的。主要是為處理中斷而使用的。CPUCPU通過將現(xiàn)行通過將現(xiàn)行的的PSWPSW存入主存儲器,并取出新的存入主存儲器,并取出新的PSWPSW的方式來響的方式來響應中斷。新的應中斷。新的PSWPS

26、W指出為處理中斷而應執(zhí)行的程指出為處理中斷而應執(zhí)行的程序。一旦該程序執(zhí)行完畢,序。一旦該程序執(zhí)行完畢,CPUCPU可從主存儲器取可從主存儲器取回老的回老的PSWPSW,再繼續(xù)執(zhí)行原來被中斷了的程序。,再繼續(xù)執(zhí)行原來被中斷了的程序。 中央處理器中央處理器在在370370系統(tǒng)中,任何時刻系統(tǒng)中,任何時刻CPUCPU都只能處于幾種控制都只能處于幾種控制狀態(tài)中的一種。當它在執(zhí)行操作系統(tǒng)的一段程序時,狀態(tài)中的一種。當它在執(zhí)行操作系統(tǒng)的一段程序時,操作系統(tǒng)明確地控制著操作系統(tǒng)明確地控制著CPUCPU,這時我們說,這時我們說CPUCPU處于處于管管理理狀態(tài)狀態(tài)( (簡稱管態(tài)簡稱管態(tài)) )。某些指令只允許在這

27、個狀態(tài)下。某些指令只允許在這個狀態(tài)下執(zhí)行。當執(zhí)行。當CPUCPU在執(zhí)行用戶程序時,則認為處于正常在執(zhí)行用戶程序時,則認為處于正常的的解題解題狀態(tài)狀態(tài)( (簡稱目態(tài)簡稱目態(tài)) )。CPUCPU在任何時刻的狀態(tài)都在任何時刻的狀態(tài)都是由它的是由它的PSWPSW來說明的。來說明的。 為了進行存儲保護,為了進行存儲保護,PSWPSW寄存器還包含一個存儲寄存器還包含一個存儲鍵。主存儲器按每鍵。主存儲器按每2K2K字節(jié)分成若干塊,每塊字節(jié)分成若干塊,每塊 都都 配配置一個存儲鍵。存儲鍵規(guī)定了可允許存取的類別,置一個存儲鍵。存儲鍵規(guī)定了可允許存取的類別,如只允許讀、可讀可寫、不可讀寫等。如只允許讀、可讀可寫、

28、不可讀寫等。 對每塊中對每塊中的信息,只有當該塊的存儲鍵與的信息,只有當該塊的存儲鍵與PSWPSW寄存器中的現(xiàn)寄存器中的現(xiàn)行鍵相符時,才可以進行存取操作行鍵相符時,才可以進行存取操作 。5.7.4 Intel 80486 CPU 5.7.4 Intel 80486 CPU 中央處理器中央處理器 1. 486 CPU1. 486 CPU的特點的特點Intel80486Intel80486是是3232位的位的CPUCPU,內(nèi)部結(jié)構(gòu)見,內(nèi)部結(jié)構(gòu)見P190P190圖圖5.365.36。其其主要特點主要特點如下:如下: (1)(1)通過采用流水技術,以及微程序控制和硬布線邏輯通過采用流水技術,以及微程序

29、控制和硬布線邏輯控制相結(jié)合的方式,進一步縮短可變長指令的譯碼控制相結(jié)合的方式,進一步縮短可變長指令的譯碼時間,達到基本指令可以在一個時鐘時間,達到基本指令可以在一個時鐘(CPU)(CPU)周期內(nèi)周期內(nèi)完成。完成。 (2)486(2)486芯片內(nèi)部包含一個芯片內(nèi)部包含一個8KB8KB的內(nèi)部的內(nèi)部cachecache,為頻繁,為頻繁訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系統(tǒng)總線有更多的時間用于其它控制。統(tǒng)總線有更多的時間用于其它控制。 (3) 486(3) 486芯片內(nèi)部包含了增強性芯片內(nèi)部包含了增強性8038780387協(xié)處理器,協(xié)處理器,稱為浮點

30、運算部件稱為浮點運算部件(FPU)(FPU)。由于。由于FPUFPU功能擴充功能擴充 ,且放在且放在CPUCPU內(nèi)部,使引線縮短,故速度比內(nèi)部,使引線縮短,故速度比8038780387提高了提高了3535倍。倍。(4)486 CPU(4)486 CPU的內(nèi)部數(shù)據(jù)總線寬度為的內(nèi)部數(shù)據(jù)總線寬度為6464位,這也是位,這也是它縮短指令周期的一個原因。而外部數(shù)據(jù)總線的它縮短指令周期的一個原因。而外部數(shù)據(jù)總線的寬度也可以自動轉(zhuǎn)換。寬度也可以自動轉(zhuǎn)換。 中央處理器中央處理器 (5) (5)地址信號線擴充到地址信號線擴充到3232位,可以處理位,可以處理4GB4GB的物的物理存儲空間。如果利用虛擬存儲器,其

31、存儲空間理存儲空間。如果利用虛擬存儲器,其存儲空間達達64TB64TB(2 24646B B)。)。 (6)486 CPU(6)486 CPU采用單倍的時鐘頻率,而在采用單倍的時鐘頻率,而在CLKCLK端端加入的時鐘頻率,就是它內(nèi)部加入的時鐘頻率,就是它內(nèi)部CPUCPU的時鐘頻率,的時鐘頻率, 因此大大增加了電路的穩(wěn)定性。因此大大增加了電路的穩(wěn)定性。中央處理器中央處理器 2. 486 CPU2. 486 CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 486486的內(nèi)部結(jié)構(gòu)包含如下九個功能部件的內(nèi)部結(jié)構(gòu)包含如下九個功能部件: 總線接口部件、小容量總線接口部件、小容量cachecache、指令預取部件、指、指令預取

32、部件、指令譯碼器、段管理部件、頁管理部件、定點運算部令譯碼器、段管理部件、頁管理部件、定點運算部件件ALUALU、浮點運算部件、浮點運算部件FPUFPU及操作控制部件。及操作控制部件。 總線接口部件總線接口部件主要用來產(chǎn)生訪問外部存儲器和主要用來產(chǎn)生訪問外部存儲器和I/OI/O口所需要的地址、數(shù)據(jù)、命令信號??谒枰牡刂贰?shù)據(jù)、命令信號。 段管理部件段管理部件用來把指令指定的邏輯地址用來把指令指定的邏輯地址( (程序中指程序中指定的虛擬地址定的虛擬地址) )變成線性地址。變成線性地址。 頁管理部件頁管理部件的功能是把線性地址換算成物理地址。的功能是把線性地址換算成物理地址。中央處理器中央處理

33、器 指令預取部件指令預取部件中包含了中包含了3232字節(jié)的預取隊列寄存器,字節(jié)的預取隊列寄存器,可以存放多條指令,因而是一種流水線結(jié)構(gòu)??梢源娣哦鄺l指令,因而是一種流水線結(jié)構(gòu)。 ALUALU中包含了通用寄存器組以及各種算術邏輯運算中包含了通用寄存器組以及各種算術邏輯運算操作。操作。 FPUFPU則完成浮點數(shù)運算、二進制整數(shù)運算、十進制則完成浮點數(shù)運算、二進制整數(shù)運算、十進制數(shù)串運算等。數(shù)串運算等。 操作控制部件操作控制部件采用微程序控制和硬布線控制相結(jié)合采用微程序控制和硬布線控制相結(jié)合的方式,因而較好地發(fā)揮了效率。的方式,因而較好地發(fā)揮了效率。5.8 流水流水CPU 5.8.1 5.8.1 并

34、行處理技術并行處理技術 5.8.2 5.8.2 流水流水CPUCPU的結(jié)構(gòu)的結(jié)構(gòu) 5.8.3 5.8.3 流水線中的主要問題流水線中的主要問題 5.8.4 pentium CPU 5.8.4 pentium CPU 中央處理器中央處理器微指令的執(zhí)行方式微指令的執(zhí)行方式 串行執(zhí)行方式串行執(zhí)行方式取i條 執(zhí)行i條 取i+1條 執(zhí)行i+1條微周期微周期微周期微周期 并行執(zhí)行方式并行執(zhí)行方式取i條 執(zhí)行i條取I+1條 執(zhí)行I+1條 取I+2條 執(zhí)行I+2條5.8.1 5.8.1 并行處理技術并行處理技術 5.8.1 5.8.1 并行處理技術并行處理技術 中央處理器中央處理器 并行性并行性包含兩種含義包

35、含兩種含義: 同時性:同時性: 指兩個以上事件在指兩個以上事件在同一時刻同一時刻發(fā)生;發(fā)生; 并發(fā)性:并發(fā)性: 指兩個以上事件在指兩個以上事件在同一時間間隔同一時間間隔內(nèi)發(fā)生。內(nèi)發(fā)生。(例如:在一個(例如:在一個CPUCPU周期內(nèi)發(fā)出的各種微命令信周期內(nèi)發(fā)出的各種微命令信號等)號等) 計算機的并行處理技術概括起來主要有以下三種計算機的并行處理技術概括起來主要有以下三種形式:形式:時間并行時間并行空間并行空間并行時間并行時間并行+ +空間并行空間并行1.1.時間并行時間并行中央處理器中央處理器 時間并行指時間并行指時間重疊時間重疊,在并行性概念中引入時,在并行性概念中引入時間因素,讓多個處理過程

36、在時間上相互錯開,間因素,讓多個處理過程在時間上相互錯開,輪輪流重疊地使用同一套硬件設備的各個部分流重疊地使用同一套硬件設備的各個部分,以加,以加快硬件周轉(zhuǎn)而贏得速度??煊布苻D(zhuǎn)而贏得速度。 時間并行性概念的實現(xiàn)方式就是采用時間并行性概念的實現(xiàn)方式就是采用流水處理流水處理部件部件。這是一種非常經(jīng)濟而實用的并行技術,能。這是一種非常經(jīng)濟而實用的并行技術,能保證計算機系統(tǒng)具有較高的性能價格比。目前的保證計算機系統(tǒng)具有較高的性能價格比。目前的高性能微型機幾乎無一例外地使用了流水技術。高性能微型機幾乎無一例外地使用了流水技術。 2.2.空間并行空間并行中央處理器中央處理器 空間并行指空間并行指資源重復

37、資源重復,在并行性概念中引入空間,在并行性概念中引入空間因素,以因素,以“增加資源數(shù)量(超標量)增加資源數(shù)量(超標量)”的方法,的方法,來大幅度提高計算機的處理速度。大規(guī)模和超大來大幅度提高計算機的處理速度。大規(guī)模和超大規(guī)模集成電路的迅速發(fā)展,為空間并行技術帶來規(guī)模集成電路的迅速發(fā)展,為空間并行技術帶來了巨大生機,因而成為目前實現(xiàn)并行處理的一個了巨大生機,因而成為目前實現(xiàn)并行處理的一個主要途徑。主要途徑。 空間并行技術主要體現(xiàn)在多處理器系統(tǒng)和多計算空間并行技術主要體現(xiàn)在多處理器系統(tǒng)和多計算機系統(tǒng)。但是目前在單處理器系統(tǒng)中也得到了廣機系統(tǒng)。但是目前在單處理器系統(tǒng)中也得到了廣泛應用。泛應用。 3.

38、3.時間并行時間并行+ +空間并行空間并行中央處理器中央處理器指時間重疊和資源重復的綜合應用指時間重疊和資源重復的綜合應用 ,既采用,既采用時間并行性又采用空間并行性。顯然,第三種時間并行性又采用空間并行性。顯然,第三種并行技術帶來的高速效益是最好的。(如后面并行技術帶來的高速效益是最好的。(如后面將提到的將提到的超標量流水超標量流水CPU的設計等)的設計等) 5.8.2 5.8.2 流水流水CPUCPU的結(jié)構(gòu)的結(jié)構(gòu) 中央處理器中央處理器1. 1. 流水計算機的系統(tǒng)組成流水計算機的系統(tǒng)組成 現(xiàn)代流水計算機的系統(tǒng)組成原理如下圖所示?,F(xiàn)代流水計算機的系統(tǒng)組成原理如下圖所示。其中其中CPUCPU按流

39、水線方式組織,通常由三部分組成:按流水線方式組織,通常由三部分組成: 指令部件、指令隊列、執(zhí)行部件指令部件、指令隊列、執(zhí)行部件。這三個功能部。這三個功能部件可以組成一個件可以組成一個3 3級流水線。級流水線。圖圖5.37 流水計算機系統(tǒng)組成原理示意圖流水計算機系統(tǒng)組成原理示意圖 中央處理器中央處理器為了使存儲器的存取時間能與流水線的其他各過為了使存儲器的存取時間能與流水線的其他各過程段的速度相匹配,一般都采用程段的速度相匹配,一般都采用多體交叉存器多體交叉存器。 執(zhí)行段的速度匹配問題執(zhí)行段的速度匹配問題:通常采用并行的運算部:通常采用并行的運算部件以及部件流水線的工作方式來解決。方法包括:件以

40、及部件流水線的工作方式來解決。方法包括: (1) (1)將執(zhí)行部件分為將執(zhí)行部件分為定點執(zhí)行部件定點執(zhí)行部件和和浮點執(zhí)行部件浮點執(zhí)行部件兩個可并行執(zhí)行的部分,兩個可并行執(zhí)行的部分, 分別處理定點運算指令和分別處理定點運算指令和浮點運算指令;浮點運算指令; (2) (2)在浮點執(zhí)行部件中,又有在浮點執(zhí)行部件中,又有浮點加法部件浮點加法部件和和浮點浮點乘乘/ /除部件除部件,它們也可以同時執(zhí)行不同的指令;,它們也可以同時執(zhí)行不同的指令; (3) (3)浮點運算部件都以浮點運算部件都以流水線方式流水線方式工作。工作。 2. 2. 流水流水CPUCPU的時空圖的時空圖中央處理器中央處理器 計算機的流水

41、處理過程非常類似于工廠中的流水計算機的流水處理過程非常類似于工廠中的流水裝配線。裝配線。 為了實現(xiàn)流水,首先把輸入的任務為了實現(xiàn)流水,首先把輸入的任務( (或過程或過程) )分割為分割為一系列子任務,并使各子任務能在流水線的各個階一系列子任務,并使各子任務能在流水線的各個階段并發(fā)地執(zhí)行。當任務連續(xù)不斷地輸入流水線時,段并發(fā)地執(zhí)行。當任務連續(xù)不斷地輸入流水線時,在流水線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果,從在流水線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果,從而實現(xiàn)了子任務級的并行性。而實現(xiàn)了子任務級的并行性。 下面通過下面通過時空圖時空圖來證明這明這個結(jié)論。來證明這明這個結(jié)論。 圖圖(a)(a)表示流水表

42、示流水CPUCPU中一個指令周期的任務分解。中一個指令周期的任務分解。 中央處理器中央處理器IF:取指令:取指令假設指令周期包含以下四個子過程:假設指令周期包含以下四個子過程:ID:指令譯碼:指令譯碼EX:執(zhí)行運算:執(zhí)行運算WB:結(jié)果寫回:結(jié)果寫回圖圖(b)(b)表示非流水計算機的時空圖。表示非流水計算機的時空圖。中央處理器中央處理器對于非流水計算機來說,上一條指令的對于非流水計算機來說,上一條指令的4個子過程全部執(zhí)個子過程全部執(zhí)行完畢后才能開始下一條指令。因此,每行完畢后才能開始下一條指令。因此,每4個機器周期才個機器周期才有一個輸出結(jié)果有一個輸出結(jié)果圖圖(c)(c)表示流水計算機的時空圖。

43、表示流水計算機的時空圖。 中央處理器中央處理器 對流水計算機來說,上一條指令與下一條指令的對流水計算機來說,上一條指令與下一條指令的四個子過程在時間上可以重疊執(zhí)行。因此,當流水線滿載四個子過程在時間上可以重疊執(zhí)行。因此,當流水線滿載時,每一個時鐘周期就可以輸出一個結(jié)果。時,每一個時鐘周期就可以輸出一個結(jié)果。 在同樣在同樣8個單位的時間,非流水計算機執(zhí)行了個單位的時間,非流水計算機執(zhí)行了2條指條指令,而流水計算機則執(zhí)行了令,而流水計算機則執(zhí)行了5條指令。條指令。中央處理器中央處理器圖圖(d)(d)表示超標量流水計算機的時空圖。表示超標量流水計算機的時空圖。 標量是指單個量,向量是指一組標量。標量

44、是指單個量,向量是指一組標量。標量流水計算機:流水計算機只有一條指令流水線。標量流水計算機:流水計算機只有一條指令流水線。超標量流水計算機:流水計算機具有兩條以上的指令流水線。超標量流水計算機:流水計算機具有兩條以上的指令流水線。圖中當流水線滿載時,每一個單位可以執(zhí)行圖中當流水線滿載時,每一個單位可以執(zhí)行2條指令。顯然,條指令。顯然,超標量流水計算機是時間并行技術和空間并行技術的綜合應用。超標量流水計算機是時間并行技術和空間并行技術的綜合應用。 由上圖及由上圖及CAICAI演示可見:演示可見:在在8 8個單位時間內(nèi),非個單位時間內(nèi),非流水流水CPUCPU僅可執(zhí)行僅可執(zhí)行2 2條指令;而流水條指

45、令;而流水CPUCPU執(zhí)行了執(zhí)行了5 5條指令條指令; ;超標量流水超標量流水CPUCPU則執(zhí)行了則執(zhí)行了1010條指令條指令。因此,流水因此,流水CPUCPU顯顯然具有更強大的數(shù)據(jù)吞吐能力。然具有更強大的數(shù)據(jù)吞吐能力。流水線的加速比流水線的加速比 在流水線處理中在流水線處理中, ,當任務當任務飽滿飽滿時時, ,每隔每隔一個時鐘周期都能輸出一個時鐘周期都能輸出一個任務一個任務。理論上。理論上, ,具有具有k k級過級過程段的流水線處理程段的流水線處理n n個任務需要個任務需要的時鐘周期數(shù)為:的時鐘周期數(shù)為: T Tk kk k(n(n1) 1) k k個時鐘周期個時鐘周期用于處理用于處理第第1

46、 1個個任務任務。K K個周期后個周期后, ,流水線被流水線被裝裝滿滿, ,剩余剩余n-1n-1個任務需個任務需n-1n-1個周期。個周期。 用非流水線的硬件來處理用非流水線的硬件來處理n n個個任務任務, ,時間上只能串行進行時間上只能串行進行, ,則則所需時鐘周期數(shù)為:所需時鐘周期數(shù)為: T TL Lnknkk=4, n=5流水線的加速比流水線的加速比將將T TL L和和T Tk k的比值定義為的比值定義為k k級線性流水線的加速比:級線性流水線的加速比: C Ck k = = 由上式可以得出:當由上式可以得出:當 nk nk 時時, C, Ck kk k 。 理論上理論上k k級線性流水

47、線處理幾乎可以提高級線性流水線處理幾乎可以提高k k倍速度。倍速度。但實際上由于但實際上由于存儲器沖突存儲器沖突、數(shù)據(jù)相關數(shù)據(jù)相關, ,這個理想的這個理想的加速比不一定能達到。加速比不一定能達到。T TL L T Tk k nk nk k k(n(n1)1)非流水線時所需周期數(shù)非流水線時所需周期數(shù)流水線時所需周期數(shù)流水線時所需周期數(shù)3. 3. 流水線分類流水線分類中央處理器中央處理器 指令流水線指令流水線 指指指令處理步驟的并行指令處理步驟的并行。將指令流。將指令流的處理過程劃分為取指令、譯碼、執(zhí)行、寫回等的處理過程劃分為取指令、譯碼、執(zhí)行、寫回等幾個并行處理的過程段。目前,幾乎所有的高性幾個

48、并行處理的過程段。目前,幾乎所有的高性能計算機都采用了指令流水線。能計算機都采用了指令流水線。 算術流水線算術流水線 指指運算操作步驟的并行運算操作步驟的并行。如流水加。如流水加法器、流水乘法器、流水除法等。法器、流水乘法器、流水除法等。 現(xiàn)代計算機現(xiàn)代計算機中已廣泛采用了流水的算術運算器。中已廣泛采用了流水的算術運算器。 處理機流水線處理機流水線 又稱為又稱為宏流水線宏流水線,是指,是指程序步驟的程序步驟的并行并行。由一串級聯(lián)的處理機構(gòu)成流水線的各個過程。由一串級聯(lián)的處理機構(gòu)成流水線的各個過程段,每臺處理機負責某一特定的任務。數(shù)據(jù)流從第段,每臺處理機負責某一特定的任務。數(shù)據(jù)流從第一臺處理機輸

49、入,經(jīng)處理后被送入與第二臺處理機一臺處理機輸入,經(jīng)處理后被送入與第二臺處理機相聯(lián)的緩沖存儲器中。第二臺處理機從該存儲器中相聯(lián)的緩沖存儲器中。第二臺處理機從該存儲器中取出數(shù)據(jù)進行處理,然后傳送給第三臺處理機,如取出數(shù)據(jù)進行處理,然后傳送給第三臺處理機,如此串聯(lián)下去。此串聯(lián)下去。 隨著高檔微處理器芯片的出現(xiàn),構(gòu)造處理機流水隨著高檔微處理器芯片的出現(xiàn),構(gòu)造處理機流水線將變得容易了。處理機流水線主要應用在多機系線將變得容易了。處理機流水線主要應用在多機系統(tǒng)中。統(tǒng)中。5.8.3 5.8.3 流水線中的主要問題流水線中的主要問題中央處理器中央處理器 流水過程中通常會出現(xiàn)以下三種相關沖流水過程中通常會出現(xiàn)以

50、下三種相關沖突,使突,使流水線斷流流水線斷流。 資源相關、數(shù)據(jù)相關、控制相關資源相關、數(shù)據(jù)相關、控制相關。 1. 1. 資源相關資源相關 資源相關資源相關是指多條指令進入流水線后,在同一機是指多條指令進入流水線后,在同一機器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突。器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突。 例:假定一條指令流水線由五段組成,且僅有例:假定一條指令流水線由五段組成,且僅有IF過程和過程和MEM過程需要訪問存儲器。過程需要訪問存儲器。 中央處理器中央處理器I1與與I4兩條指令在時鐘兩條指令在時鐘4爭用存儲器資源的相關沖突爭用存儲器資源的相關沖突解決資源相關沖突的辦法解決資源相關

51、沖突的辦法: 執(zhí)行執(zhí)行IFIF過程時,若存在資源相關,則采用過程時,若存在資源相關,則采用延遲延遲IFIF法避開相關。法避開相關。(教材教材P194“P194“將將I4I4條指令停條指令停頓一拍再啟動頓一拍再啟動”的說法不合適的說法不合適) 增設一個存儲器增設一個存儲器, ,將指令和數(shù)據(jù)分別放在兩將指令和數(shù)據(jù)分別放在兩個存儲器中?;虿捎枚喽丝诖鎯ζ鹘Y(jié)構(gòu)。個存儲器中。或采用多端口存儲器結(jié)構(gòu)。2. 2. 數(shù)據(jù)相關數(shù)據(jù)相關 在流水計算機中,指令的處理是重疊進行的,前在流水計算機中,指令的處理是重疊進行的,前一條指令還沒有結(jié)束,第二、三條指令就陸續(xù)地開一條指令還沒有結(jié)束,第二、三條指令就陸續(xù)地開始工作

52、。在一個程序中,如果必須等前一條指令執(zhí)始工作。在一個程序中,如果必須等前一條指令執(zhí)行完畢后,才能執(zhí)行后一條指令,那么這兩條指令行完畢后,才能執(zhí)行后一條指令,那么這兩條指令就是就是數(shù)據(jù)相關數(shù)據(jù)相關的。的。由于多條指令的重疊處理,當后繼指令所需的操由于多條指令的重疊處理,當后繼指令所需的操作數(shù),剛好是前一指令的運算結(jié)果時,便發(fā)生作數(shù),剛好是前一指令的運算結(jié)果時,便發(fā)生數(shù)據(jù)數(shù)據(jù)相關相關沖突。沖突。中央處理器中央處理器例: 指令發(fā)生數(shù)據(jù)相關沖突的情況。 ADD R1,R2,R3; (R2) + (R3)R1 SUB R4,R1,R5; (R1) - (R5)R4 AND R6,R1,R7; (R1)

53、(R7)R0中央處理器中央處理器指令發(fā)生數(shù)據(jù)相關沖突指令發(fā)生數(shù)據(jù)相關沖突 解決數(shù)據(jù)相關沖突的辦法解決數(shù)據(jù)相關沖突的辦法: 在流水在流水CPUCPU的運算器中設置若干運算結(jié)果緩沖的運算器中設置若干運算結(jié)果緩沖寄存器,暫時保留運算結(jié)果,以便于后繼指令直寄存器,暫時保留運算結(jié)果,以便于后繼指令直接使用,這稱為:接使用,這稱為:“向前向前”或定向傳送技術或定向傳送技術。 中央處理器中央處理器3. 3. 控制相關控制相關 控制相關控制相關沖突是由沖突是由轉(zhuǎn)移指令轉(zhuǎn)移指令引起的。當執(zhí)行轉(zhuǎn)引起的。當執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果,可能為順序移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果,可能為順序取下條指令;也可

54、能轉(zhuǎn)移到新的目標地址取指令,取下條指令;也可能轉(zhuǎn)移到新的目標地址取指令,從而使流水線從而使流水線發(fā)生斷流發(fā)生斷流。 為了減小轉(zhuǎn)移指令對流水線性能的影響,常用以為了減小轉(zhuǎn)移指令對流水線性能的影響,常用以下兩種轉(zhuǎn)移處理技術:下兩種轉(zhuǎn)移處理技術: 延遲轉(zhuǎn)移法延遲轉(zhuǎn)移法、轉(zhuǎn)移預測法轉(zhuǎn)移預測法。 中央處理器中央處理器(1 1)延遲轉(zhuǎn)移法)延遲轉(zhuǎn)移法 由編譯程序重排指令序列來實現(xiàn)?;舅枷胧怯删幾g程序重排指令序列來實現(xiàn)。基本思想是“先執(zhí)行再轉(zhuǎn)移先執(zhí)行再轉(zhuǎn)移”,即:發(fā)生轉(zhuǎn)移取時并不排空指,即:發(fā)生轉(zhuǎn)移取時并不排空指令流水線,而是讓緊跟在轉(zhuǎn)移指令令流水線,而是讓緊跟在轉(zhuǎn)移指令IbIb之后已進入流之后已進入流水

55、線的少數(shù)幾條指令繼續(xù)完成。如果這些指令是與水線的少數(shù)幾條指令繼續(xù)完成。如果這些指令是與IbIb結(jié)果無關的有用指令,那么延遲損失時間片正好結(jié)果無關的有用指令,那么延遲損失時間片正好得到了有效的利用。得到了有效的利用。 中央處理器中央處理器(2 2)轉(zhuǎn)移預測法)轉(zhuǎn)移預測法 用硬件方法來實現(xiàn),依據(jù)指令過去的行為用硬件方法來實現(xiàn),依據(jù)指令過去的行為來預測將來的行為。通過使用來預測將來的行為。通過使用轉(zhuǎn)移取轉(zhuǎn)移取和和順序取順序取兩路指令預取隊列器以及目標指令兩路指令預取隊列器以及目標指令cache,可,可將轉(zhuǎn)移預測提前到取指階段進行,以獲得良好將轉(zhuǎn)移預測提前到取指階段進行,以獲得良好的效果。的效果。中央

56、處理器中央處理器 【例【例4】流水線中有三類數(shù)據(jù)相關沖突:寫后讀流水線中有三類數(shù)據(jù)相關沖突:寫后讀(RAW)相關;讀后寫相關;讀后寫(WAR)相關;寫后寫相關;寫后寫(WAW)相關。判相關。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關。斷以下三組指令各存在哪種類型的數(shù)據(jù)相關。 I1: ADD R1,R2,R3 ; (R2) + (R3)R1 I2: SUB R4,R1,R5 ; (R1) - (R5)R4 I3: STA M(x),R3 ; (R3)M(x), M(x)是存儲器單元是存儲器單元 I4: ADD R3,R4,R5 ;(R4)+(R5)R3 I5: MUL R3,R1,R2 ;(R1)

57、(R2)R3 I6: ADD R3,R4,R5 ;(R4) + (R5)R3中央處理器中央處理器RAWWARWAW 作業(yè):作業(yè):P21013、165.8.4 pentium CPU 5.8.4 pentium CPU 中央處理器中央處理器 1.pentium1.pentium的技術性能的技術性能pentiumpentium是是IntelIntel公司生產(chǎn)的公司生產(chǎn)的超標量流水處理器超標量流水處理器,CPUCPU內(nèi)部的主要寄存器寬度為內(nèi)部的主要寄存器寬度為3232位,故認為它是一個位,故認為它是一個3232位位微處理器。但它通向存儲器的外部數(shù)據(jù)總線寬度為微處理器。但它通向存儲器的外部數(shù)據(jù)總線寬度

58、為6464位,每位,每次總線操作可以同時傳輸次總線操作可以同時傳輸8 8個字節(jié)。個字節(jié)。 pentiumpentium具有非固定長度的指令格式,具有非固定長度的指令格式,9 9種尋址方式,種尋址方式,191191條指令,但是在每個時鐘周期又能執(zhí)行兩條指令條指令,但是在每個時鐘周期又能執(zhí)行兩條指令( (超標量流超標量流水線)。因此它具有水線)。因此它具有CISCCISC和和RlSCRlSC兩者的特性,不過具有的兩者的特性,不過具有的CISCCISC特性更多一些,因此被看成為一個特性更多一些,因此被看成為一個CISCCISC結(jié)構(gòu)的處理器。結(jié)構(gòu)的處理器。 以以CISCCISC結(jié)構(gòu)實現(xiàn)超標量流水線,并

59、有結(jié)構(gòu)實現(xiàn)超標量流水線,并有BTBBTB(轉(zhuǎn)移目標緩沖(轉(zhuǎn)移目標緩沖器)方式的轉(zhuǎn)移預測能力,堪稱為當代器)方式的轉(zhuǎn)移預測能力,堪稱為當代CISCCISC機器的經(jīng)典之機器的經(jīng)典之作。作。 2.2.奔騰奔騰CPUCPU的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖中央處理器中央處理器(1)(1)超標量流水線超標量流水線 超標量流水線超標量流水線是是pentiumpentium系統(tǒng)結(jié)構(gòu)的核心。它由系統(tǒng)結(jié)構(gòu)的核心。它由U U和和V V兩條指令流水線構(gòu)成,每條流水線都有自已的兩條指令流水線構(gòu)成,每條流水線都有自已的ALUALU、地址生成電路、與數(shù)據(jù)、地址生成電路、與數(shù)據(jù)cachecache的接口。兩個的接口。兩個指令預取緩沖器,

60、每個都是指令預取緩沖器,每個都是3232字節(jié),負責由指令字節(jié),負責由指令cachecache或主存取指令并放入其中?;蛑鞔嫒≈噶畈⒎湃肫渲?。 (2)(2)指令指令cachecache和數(shù)據(jù)和數(shù)據(jù)cachecache 奔騰奔騰CPUCPU則分設指令則分設指令cachecache和數(shù)據(jù)和數(shù)據(jù)cachecache,各,各8KB8KB。指令。指令cachecache是只讀的,以單端口是只讀的,以單端口256256位位(32B)(32B)向指令預取緩沖器提供超長指令字代碼。數(shù)據(jù)向指令預取緩沖器提供超長指令字代碼。數(shù)據(jù)cachecache是可讀可寫的,雙端口,是可讀可寫的,雙端口, (3)(3)浮點運算部

溫馨提示

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

評論

0/150

提交評論