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

下載本文檔

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

文檔簡介

第五章中央處理器

本章要點

中央處理器的功能和組成;基本結(jié)構(gòu)處理器的指令執(zhí)行過程;實現(xiàn)指令功能的微操作系列的產(chǎn)生方法;控制器的設(shè)計方法;高性能計算機中的各種技術(shù)第五章中央處理器學(xué)習(xí)目標

本章需掌握的主要內(nèi)容:

1.CPU功能和組成;

2.指令周期基本概念;

3.時序產(chǎn)生和控制方式;

4.微程序控制器設(shè)計技術(shù);

5.硬布線控制器設(shè)計技術(shù);

6.流水處理器,以及其他技術(shù)。

第五章中央處理器5.1CPU的組成和功能5.2指令周期5.3時序產(chǎn)生器和控制方式5.4微程序控制器5.5微程序設(shè)計技術(shù)5.6硬布線控制器5.7傳統(tǒng)的CPU5.8流水CPU5.9RISCCPU5.10多媒體CPU

本章小結(jié)習(xí)題5.1CPU的組成和功能5.1.1CPU的功能5.1.2CPU的基本組成5.1.3CPU中的主要寄存器5.1.4操作控制器與時序產(chǎn)生器5.1.1CPU的功能CPU對整個計算機系統(tǒng)的運行是極其重要的,它具有如下四方面的基本功能:★指令控制

程序的順序控制稱為指令控制?!锊僮骺刂埔粭l指令的功能往往是由若干個操作信號的組合來實現(xiàn)的,因此,CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號,把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進行動作。★時間控制

對各種操作實施時間上的定時稱為時間控制?!飻?shù)據(jù)加工

數(shù)據(jù)加工就是對數(shù)據(jù)進行算術(shù)運算和邏輯運算處理。CPU的由運算器、Cache和控制器三大部分組成。

5.1.2CPU的基本組成5.1.3CPU中的主要寄存器通用寄存器組在CPU中至少要有六類寄存器。這些寄存器用來暫存一個計算機字。根據(jù)需要,可以擴充其數(shù)目。1.數(shù)據(jù)緩沖寄存器(DR,MBR)2.指令寄存器(IR)3.程序計數(shù)器(PC,IP)4.地址寄存器(AR,MAR)5.累加寄存器(AC)6.狀態(tài)條件寄存器(PSW,CCR) C,V,Z,S(N),P; T,I5.1.4操作控制器與時序產(chǎn)生器信息從什么地方開始,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為操作控制器的部件來完成的。操作控制器的功能,就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,完成某種運算等,從而完成取指令和執(zhí)行指令的控制。數(shù)據(jù)通路是許多寄存器之間傳送信息的通路。5.1.4操作控制器與時序產(chǎn)生器根據(jù)設(shè)計方法不同,操作控制器可分為時序邏輯型、存儲邏輯型、時序邏輯與存儲邏輯結(jié)合型三種。1.硬布線控制器采用時序邏輯技術(shù)來實現(xiàn)操作控制器2.微程序控制器采用存儲邏輯來實現(xiàn)操作控制器3.前兩種方式的組合5.2指令周期5.2.1

指令周期的基本概念5.2.2

非訪內(nèi)指令的指令周期5.2.3

取數(shù)指令的指令周期5.2.4

存數(shù)指令的指令周期5.2.5

空操作指令和轉(zhuǎn)移指令的指令周期5.2.6

五條指令的取指和執(zhí)行過程5.2.7

用方框圖語言表示指令周期5.2.1

指令周期的基本概念指令周期:CPU從內(nèi)存取出一條指令并執(zhí)行這條指令的時間總和。CPU周期:又稱機器周期,CPU訪問一次內(nèi)存所花的時間較長,因此用從內(nèi)存讀取一條指令字的最短時間來定義。時鐘周期:通常稱為節(jié)拍脈沖或T周期。一個CPU周期包含若干個時鐘周期。5.2.2

非訪內(nèi)指令的指令周期非訪內(nèi)指令CLA需要兩個CPU周期,如下圖CLA指令5.2.3

取數(shù)指令的指令周期取數(shù)指令A(yù)DD的指令周期由三個CPU周期組成,如下圖ADD指令5.2.4

存數(shù)指令的指令周期存數(shù)指令STA的指令周期由三個CPU周期組成,如下圖STA指令5.2.5

空操作指令和轉(zhuǎn)移指令的指令周期空操作指令“NOP”指令由兩個CPU周期組成,NOP指令可用來調(diào)機之用。JMP指令的指令周期由兩個CPU周期組成,如圖JMP指令5.2.6

五條指令的取指和執(zhí)行過程我們把前面的五條典型指令加以歸納,其取指和執(zhí)行過程見CAI演示。

5.2.7

用方框圖語言表示指令周期在進行計算機設(shè)計時,可以采用方框圖語言來表示一條指令的指令周期。方框代表一個CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。菱形通常用來表示某種判別或測試,不過時間上它依附于緊接它的前面一個方框的CPU周期,而不單獨占用一個CPU周期。我們把前面的五條典型指令加以歸納,用方框圖語言表示的指令周期如下:【例1】下圖為雙總線結(jié)構(gòu)機器的數(shù)據(jù)通路,M為主存(受R/W信號控制),ALU由加、減控制信號決定完成何種操作,控制信號G控制的是一個門電路。另外,線上標注有小圈表示有控制信號,例中yi表示y寄存器的輸入控制信號,R1o為寄存器R1的輸出控制信號,未標字符的線為直通線,不受控制。BUSABUSBIRIRiIRoPCPCiPCoARARiMR/WDRDRiDRoR0R0iR0oR1R2R3R3iR3oXXiYYiALUG+-R1iR2iR1oR2o(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令周期流程圖,假設(shè)該指令的地址已放入PC中。并列出相應(yīng)的微操作控制信號序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫出其指令期流程圖,并列出相應(yīng)的微操作控制信號序列。

5.3時序產(chǎn)生器和控制方式5.3.1

時序信號的作用和體制5.3.2

時序信號產(chǎn)生器5.3.3

控制方式5.3.1

時序信號的作用和體制時序信號:CPU中一個類似“作息時間”的東西,使計算機可以準確、迅速、有條不紊地工作。計算機的協(xié)調(diào)動作需要時間標志,而時間標志則是用時序信號來體現(xiàn)的。硬布線控制器中,時序信號往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。在微程序控制器中,時序信號比較簡單,一般采用節(jié)拍電位-節(jié)拍脈沖二級體制。5.3.2

時序信號產(chǎn)生器微程序控制器中使用的時序信號產(chǎn)生器由時鐘源、環(huán)形脈沖發(fā)生器、節(jié)拍脈沖和讀寫時序譯碼邏輯、啟??刂七壿嫷炔糠纸M成。啟??刂七壿嫻?jié)拍脈沖和讀寫時序譯碼邏輯環(huán)形脈沖發(fā)生器時鐘脈沖源啟動停機RD’WE’MREQ’IORQ’IORQMREQRDWET1T2T3T4φ5.3.2

時序信號產(chǎn)生器1.時鐘源時鐘源用來為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的方波時鐘脈沖信號。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環(huán)形脈沖發(fā)生器。2.環(huán)形脈沖發(fā)生器2.環(huán)形脈沖發(fā)生器5.3.3

控制方式即控制不同操作序列時序信號的方法,常用的有同步控制異步控制聯(lián)合控制三種方式,其實質(zhì)反映了時序信號的定時方式。

5.3.3

控制方式同步控制:在任何情況下,指令在執(zhí)行時所需的機器周期數(shù)和時鐘周期數(shù)都固定不變。根據(jù)不同情況,同步控制方式可選取如下方案:(1)采用完全統(tǒng)一的機器周期執(zhí)行各種不同的指令。(2)采用不定長機器周期。(3)中央控制與局部控制結(jié)合。5.3.3

控制方式異步控制特點是:每條指令、每個操作控制信號需要多少時間就占用多少時間。這意味著每條指令的指令周期可由多少不等的機器周期數(shù)組成;也可以是當(dāng)控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完成操作后發(fā)“回答”信號,再開始新的操作。顯然,用這種方式形成的操作控制序列沒有固定的CPU周期數(shù)(節(jié)拍電位)或嚴格的時鐘周期(節(jié)拍脈沖)與之同步。5.3.3

控制方式聯(lián)合控制為同步控制和異步控制相結(jié)合的方式。(1)大部分操作序列安排在固定的機器周期中,對某些時間難以確定的操作則以執(zhí)行部件的“回答”信號作為本次操作的結(jié)束;(2)機器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機器周期數(shù)不固定。

5.4微程序控制器5.4.1微命令和微操作5.4.2微指令和微程序5.4.3微程序控制器原理框圖5.4.4微程序舉例5.4.5CPU周期與微指令周期的關(guān)系5.4.6機器指令與微指令的關(guān)系5.4.1微命令和微操作微命令控制部件通過控制線向執(zhí)行部件發(fā)出的各種控制命令。微操作執(zhí)行部件接受微命令后所進行的操作??刂撇考c執(zhí)行部件通過控制線和反饋信息進行聯(lián)系。簡單運算器數(shù)據(jù)通路:節(jié)拍電位信號、節(jié)拍脈沖T、節(jié)拍脈沖信號R1X,R2

Y,+,ALUR2相容性微命令、相斥性微命令59101211’’’5.4.2微指令和微程序微指令在機器的一個CPU周期中,一組實現(xiàn)一定操作功能的微命令的組合。微程序?qū)崿F(xiàn)一條機器指令功能的許多條微指令組成的序列。5.4.3微程序控制器原理框圖微程序控制器主要由控制存儲器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。一般情況下,一條機器指令執(zhí)行需要一個取指CPU周期和若干個執(zhí)行CPU周期取指微指令指令A(yù)執(zhí)行CPU周期1指令A(yù)執(zhí)行CPU周期2指令B執(zhí)行CPU周期1指令B執(zhí)行CPU周期2指令B執(zhí)行CPU周期3控制字段測試字段微地址字段5.4.3微程序控制器原理框圖1.控制存儲器控制存儲器用來存放實現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲器。一旦微程序固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時間總和稱為一個微指令周期。通常,微指令周期就是只讀存儲器的工作周期??刂拼鎯ζ鞯淖珠L就是微指令字的長度,其存儲容量視機器的指令系統(tǒng)而定,即取決于微程序的數(shù)量。對控制存儲器的要求是速度快,讀出周期要短。5.4.3微程序控制器原理框圖2.微指令寄存器微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測試字段的信息。

5.4.3微程序控制器原理框圖3.地址轉(zhuǎn)移邏輯在一般情況下,微指令由控制存儲器讀出后直接給出下一條微指令的地址,通常我們簡稱微地址,這個微地址信息就存放在微地址寄存器中。如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時,意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過判別測試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動完成修改微地址的任務(wù)。

5.4.4微程序舉例00000000000000001111110

000000010100010010010000000

0000

1001

0100010011000000001

0000

10100101001001000000000

10015910121159取指微指令000000000000000011111100000CPU周期1000101000100100100000000000CPU周期2100101000100110000000010000CPU周期31010010100100100000000010011010….1100….DRARPC內(nèi)存運算器控制4.5CPU周期與微指令周期的關(guān)系一般在微程序控制器中:微指令周期=讀出微指令的時間+執(zhí)行該條微指令的時間下圖示出了某小型機中CPU周期與微指令周期的時間關(guān)系:5.4.6機器指令與微指令的關(guān)系【問】一會兒取機器指令,一會兒取微指令,它們之間到底是什么關(guān)系?1.一條機器指令對應(yīng)一個微程序,這個微程序是由若干條微指令序列組成的。因此,一條機器指令的功能是由若干條微指令組成的序列來實現(xiàn)的。簡言之,一條機器指令所完成的操作劃分成若干條微指令來完成,由微指令進行解釋和執(zhí)行。2.從指令與微指令,程序與微程序,地址與微地址的對應(yīng)關(guān)系來看,前者與內(nèi)存儲器有關(guān),后者與控制存儲器有關(guān)。

3.每一個CPU周期對應(yīng)一條微指令?!纠?】設(shè)某計算機運算器框圖如圖,其中ALU為16位的加法器,SA,SB為16位暫存器。4個通用寄存器讀、寫控制功能見下表。機器采用微程序控制方式,其微指令周期如圖。其中讀ROM是從控存中讀出一條微指令時間,為1μs;ALU工作是加法器做加法運算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。讀控制寫控制RRA0RA1選擇WWA0WA1選擇100R0100R0101R1101R1110R2110R2111R3111R30**不讀0**不寫5.4.6機器指令與微指令的關(guān)系微指令字長12位,微指令格式如下(未考慮順序控制字段)要求:用二進制代碼寫出指令執(zhí)行階段的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)~ResetSB->ALUSB->ALULDSBLDSAWRWA0WA1RA0RA1【解】畫出三條指令的微指令的微程序流程圖如下指令微程序代碼ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**1101001011三條指令執(zhí)行階段的微程序列于下表,其中*表示隨意~ResetSB->ALUSB->ALULDSBLDSAWRWA0WA1RA0RA15.4.6機器指令與微指令的關(guān)系機器指令、指令周期、CPU周期、T周期微命令、微指令、微程序指令周期取指令執(zhí)行指令CPU周期CPU周期CPU周期微指令周期微指令周期微指令周期取微指令T周期執(zhí)行微指令5.5微程序設(shè)計技術(shù)5.5.1微命令編碼5.5.2微地址的形成方法5.5.3微指令格式5.5.4動態(tài)微程序設(shè)計5.5.1微命令編碼微命令編碼是指對微指令中的操作控制字段采用的表示方法。通常有以下三種方法:1.直接表示法其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。5.5.1微命令編碼2.編碼表示法編碼表示法是把一組相斥性的微命令信號組成一個小組(即一個字段),然后通過小組(字段)譯碼器對每一個微命令信號進行譯碼,譯碼輸出作為操作控制信號,結(jié)構(gòu)如圖。5.5.1微命令編碼3.混合表示法這種方法是把直接表示法與字段編碼法混合使用,以便能綜合考慮指令字長、靈活性、速度等要求。5.5.1微命令編碼[例]某機有8條微指令I(lǐng)1-I8,每條微指令所包含的微命令控制信號如下表所示。a-j分別對應(yīng)10種不同性質(zhì)的微命令信號。假設(shè)微指令的控制字段限制為8位,請安排微指令的控制字段格式。5.5.2微地址的形成方法微指令執(zhí)行的順序控制問題,實際上是如何確定下一條微指令的地址問題。通常,產(chǎn)生后繼微地址有兩種方法:1.計數(shù)器方式2.多路轉(zhuǎn)移方式

5.5.2微地址的形成方法1.計數(shù)器方式在這種方法中,微地址寄存器通常改為計數(shù)器。在順序執(zhí)行微指令時,后繼微地址現(xiàn)行微地址加上一個增量來產(chǎn)生;在非順序執(zhí)行微指令時,必須通過轉(zhuǎn)移方式,使現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行指定后繼微地址的下一條微指令。為此順序執(zhí)行的微指令序列就必須安排在控制存儲器的連續(xù)單元中。特點:微指令的順序控制字段較短,微地址產(chǎn)生機構(gòu)簡單。但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。5.5.2微地址的形成方法2.多路轉(zhuǎn)移方式一條微指令具有多個轉(zhuǎn)移分支的能力稱為多路轉(zhuǎn)移。在多路轉(zhuǎn)移方式中,當(dāng)微程序不產(chǎn)生分支時,后繼微地直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時,有若干“后選”微地址可供選擇:即按順序控制字段的“判別測試”標志和“狀態(tài)條件”信息來修改微地址。特點:能以較短的順序控制字段配合,實現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快,轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計。5.5.2微地址的形成方法【例3】微地址寄存器有6位(μA5-μA0),當(dāng)需要修改其內(nèi)容時,可通過某一位觸發(fā)器的強置端S將其置“1”?,F(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進位標志C的狀態(tài)進行2路分支;(3)執(zhí)行控制臺指令微程序時,按IR4,IR5的狀態(tài)進行4路分支。按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯。5.5.2微地址的形成方法【解】按所給設(shè)計條件,微程序有三種判別測試,分別為P1,P2,P3。由于修改μA5-μA0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外考慮時間因素T4(CPU周期最后一個節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達式如下:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T45.5.3微指令格式微指令的編譯方法是決定微指令格式的主要因素。

微指令的格式大體分成兩類:水平型微指令和垂直型微指令。1.水平型微指令

一次能定義并執(zhí)行多個并行操作微命令的微指令,叫做水平型微指令。2.垂直型微指令

微指令中設(shè)置微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能,稱為垂直型微指令。水平型微指令:垂直型微指令:3.水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強,效率高,靈活性強,垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。5.5.4動態(tài)微程序設(shè)計微程序設(shè)計技術(shù)有靜態(tài)微程序設(shè)計和動態(tài)微程序設(shè)計之分。1.靜態(tài)微程序設(shè)計2.動態(tài)微程序設(shè)計5.6硬布線控制器基本思想:硬布線控制器是早期設(shè)計計算機的一種方法。這種方法是把控制部件看作為產(chǎn)生專門固定時序控制信號的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設(shè)計目標。一旦控制部件構(gòu)成后,除非重新設(shè)計和物理上對它重新布線,否則要想增加新的控制功能是不可能的。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形邏輯網(wǎng)絡(luò),故稱之為硬布線控制器。硬聯(lián)線控制器的結(jié)構(gòu)如圖:控制器的設(shè)計模型計算機,包括控制信號指令系統(tǒng),指令編碼指令譯碼器指令周期流程圖,列出控制信號和時序信號控制器設(shè)計控制信號邏輯表達式硬布線邏輯圖00000001001011101111LM=T0+T3(LDA+ADD+SUB)LA=T4·LDA+T5(ADD+SUB)ER=T1+T4(LDA+ADD+SUB)5.7傳統(tǒng)的CPU5.7.1M6800CPU5.7.2Intel8088CPU5.7.3IBM370系列CPU5.7.4Intel80486CPU5.7.1M6800CPUM6800CPU是一個比較典型的單總線結(jié)構(gòu)的微理器,字長為8位,包含算術(shù)邏輯運算部件ALU、各類寄存器和控制部件等。5.7.2Intel8088CPUIntel8088是一種通用的準16位微處理器,其內(nèi)部結(jié)構(gòu)為16位,與外部交換的數(shù)據(jù)為8位。它可以處理16位數(shù)據(jù)(具有16位運算指令,包括乘除法指令),也可以處理8位數(shù)據(jù)。它有20條地址線,所以直接尋址能力達到1M字節(jié)。采用40條引線封裝,單相時鐘,電源為5V。8088CPU的內(nèi)部結(jié)構(gòu)如下:5.7.3IBM370系列CPUIBM370系列機中使用的CPU結(jié)構(gòu),字長32位,如下圖所示:

5.7.4Intel80486CPU486CPU的特點:Intel80486是32位的CPU。其主要特點如下:(1)通過采用流水技術(shù),以及微程序控制和硬布線邏輯控制相結(jié)合的方式,進一步縮短可變長指令的譯碼時間,達到基本指令可以在一個時鐘周期內(nèi)完成。(2)486芯片內(nèi)部包含一個8KB的數(shù)據(jù)和指令混合性cache,為頻繁訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系統(tǒng)總線有更多的時間用于其他控制。(3)486芯片內(nèi)部包含了增強性80387協(xié)處理器,稱為浮點運算部件(FPU)。由于FPU功能擴充,且放在CPU內(nèi)部,使引線縮短,故速度比80387提高了3-5倍。(4)486CPU的內(nèi)部數(shù)據(jù)總線寬度為64位,這也是它縮短指令周期的一個原因。而外部數(shù)據(jù)總線的寬度也可以自動轉(zhuǎn)換。(5)地址信號線擴充到32位,可以處理4GB的物理存儲空間。如果利用虛擬存儲器,其存儲空間達64TB。(6)486CPU采用單倍的時鐘頻率,在CLK端加入的時鐘頻率,就是它內(nèi)部CPU的時鐘頻率,因此大大增加了電路的穩(wěn)定性。5.8流水CPU5.8.1并行處理技術(shù)5.8.2流水CPU的結(jié)構(gòu)5.8.3流水線中的主要問題5.8.4pentiumCPU

5.8.1并行處理技術(shù)時間并行性的兩種含義:同時性指兩個以上事件在同一時刻發(fā)生;并發(fā)性指兩個以上事件在同一時間間隔內(nèi)發(fā)生。

計算機的并行處理技術(shù)主要有以下三種形式: 1.時間并行 2.空間并行 3.時間并行+空間并行5.8.2流水CPU的結(jié)構(gòu)1.流水計算機的系統(tǒng)組成現(xiàn)代流水計算機的系統(tǒng)組成原理如圖所示。其中CPU按流水線方式組織,通常由三部分組成:指令部件、指令隊列、執(zhí)行部件。這三個功能部件可以組成一個3級流水線。5.8.2流水CPU的結(jié)構(gòu)為了使存儲器的存取時間能與流水線的其他各過程段的速度相匹配,一般都采用多體交叉存儲器。執(zhí)行段的速度匹配問題:通常采用并行的運算部件以及部件流水線的工作方式來解決。方法包括:(1)將執(zhí)行部件分為定點執(zhí)行部件和浮點執(zhí)行部件兩個可并行執(zhí)行的部分,分別處理定點運算指令和浮點運算指令;(2)在浮點執(zhí)行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執(zhí)行不同的指令;(3)浮點運算部件都以流水線方式工作。

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

5.8.2流水CPU的結(jié)構(gòu)圖(c)表示流水計算機的時空圖。

5.8.2流水CPU的結(jié)構(gòu)圖(d)表示超標量流水計算機的時空圖。

5.8.2流水CPU的結(jié)構(gòu)3.流水線分類指令流水線:指令步驟的并行。算術(shù)流水線:運算操作步驟的并行。處理機流水線:又稱為宏流水線,是指程序步驟的并行。5.8.3流水線中的主要問題流水過程中通常會出現(xiàn)以下三種相關(guān)沖突,使流水線斷流。1.資源相關(guān)2.數(shù)據(jù)相關(guān)3.控制相關(guān)

5.8.3流水線中的主要問題1.資源相關(guān)資源相關(guān)是指多條指令進入流水線后在同一機器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突。下表假定在時鐘4時,I1與I4兩條指令發(fā)生爭用存儲器資源的相關(guān)沖突。

解決資源相關(guān)沖突的辦法:一是第I4條指令停頓一拍后再啟動;二是增設(shè)一個存儲器,將指令和數(shù)據(jù)分別放在兩個存儲器中、或用雙端口存儲器。5.8.3流水線中的主要問題2.數(shù)據(jù)相關(guān)在一個程序中,如果必須等前一條指令執(zhí)行完畢后,才能執(zhí)行后一條指令,那么這兩條指令就是數(shù)據(jù)相關(guān)的。在流水計算機中,指令的處理是重疊進行的,前一條指令還沒有結(jié)束,第二、三條指令就陸續(xù)地開始工作。由于多條指令的重疊處理,當(dāng)后繼指令所需的操作數(shù),剛好是前一指令的運算結(jié)果時,便發(fā)生數(shù)據(jù)相關(guān)沖突。5.8.3流水線中的主要問題ADDR1,R2,R3SUBR4,R1,R5ANDR6,R1,R7如,ADD指令與SUB指令發(fā)生了數(shù)據(jù)相關(guān)沖突。5.8.3流水線中的主要問題解決數(shù)據(jù)相關(guān)沖突的辦法:在流水CPU的運算器中設(shè)置若干運算結(jié)果緩沖寄存器,暫時保留運算結(jié)果,以便于后繼指令直接使用,這稱為“向前”或定向傳送技術(shù)。如下表,ADD指令與SUB指令發(fā)生了數(shù)據(jù)相關(guān)沖突。3.控制相關(guān)

控制相關(guān)沖突是由轉(zhuǎn)移指令引起的。當(dāng)執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn)移到新的目標地址取指令,從而使流水線發(fā)生斷流。為了減小轉(zhuǎn)移指令對流水線性能的影響,常用以下兩種轉(zhuǎn)移處理技術(shù):延遲轉(zhuǎn)移法由編譯程序重排指令序列來實現(xiàn)?;舅枷胧恰跋葓?zhí)行再轉(zhuǎn)移”,即發(fā)生轉(zhuǎn)移取時并不排空指令流水線,而是讓緊跟在轉(zhuǎn)移指令之后已進入流水線的少數(shù)幾條指令繼續(xù)完成。如果這些指令是與轉(zhuǎn)移指令結(jié)果無關(guān)的有用指令,那么延遲損失時間片正好得到了有效的利用。轉(zhuǎn)移預(yù)測法用硬件方法來實現(xiàn),依據(jù)指令過去的行為來預(yù)測將來的行為。通過使用轉(zhuǎn)移取和順序取兩路指令預(yù)取隊列器以及目標指令cache,可將轉(zhuǎn)移預(yù)測提前到取指階段進行,以獲得良好的效果。5.8.3流水線中的主要問題【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀相關(guān);讀后寫相關(guān);寫后寫相關(guān)。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。(1)I1:ADDR1,R2,R3 ;(R2)+(R3)->R1I2: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)->R3I6:ADDR3,R4,R5 ;(R4)+(R5)->R3流水線的吞吐率流水線的吞吐率(ThoughPutrate,TP)是指在單位時間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出的結(jié)果數(shù)量。計算流水線吞吐率的最基本公式如下:TP=n/Tk假設(shè)各段執(zhí)行時間等長的k流水線,每段執(zhí)行時間為t(時鐘周期),n為任務(wù)數(shù),Tk=(k+n-1)t是處理完成n個任務(wù)所用的時間。

流水線吞吐率計算假設(shè)各段執(zhí)行時間不等長的四段流水線,取指段的時間為t,譯碼段的時間為t,取數(shù)段的時間為3t,執(zhí)行段的時間為t。為了便于計算假設(shè)取指和譯碼段總是連續(xù)執(zhí)行的。流水線執(zhí)行n條指令時其執(zhí)行過程的時空圖如下圖所示:執(zhí)行空間123取數(shù)123…譯碼123…取指123…時間從圖中不難看出,第1條指令的執(zhí)行時間是6t;第二條指令在執(zhí)行時停頓了兩個周期,第2條指令的完成時間比第一條指令的完成時間晚3t;第3條、第4條......第n條與此相同。因此,該流水線執(zhí)行n條指令的時間就是:6t+(n-1)3t流水線的實際吞吐率就是:n/(6t+(n-1)3t)流水線時間計算公式:一條指令所需時間+(指令條數(shù)-1)*時間最長的指令一段吞吐率公式:指令條數(shù)/流水線時間5.8.4PentiumCPUPentium的技術(shù)性能Pentium是Intel公司生產(chǎn)的超標量流水處理器,早期使用5V工作電壓,后期使用3.3V工作電壓。CPU的主頻是片外主總線時鐘頻率(60MHz或66MHz)的倍頻,有120,166,200MHz等多種。CPU內(nèi)部的主要寄存器寬度為32位,故認為它是一個32位微處理器。但它通向存儲器的外部數(shù)總線寬度為64位,每次總線操作可以同時傳輸8個字節(jié)。以主總線(存儲器總線)時鐘頻率66MHz計算,64位數(shù)據(jù)總線可使CPU與主存的數(shù)據(jù)交換速率達到528MB/s。CPU外部地址總線寬度是36位,但一般使用32位寬,故物理地址空間為4096MB(4GB)。虛擬地址空間為64TB,分頁模式除支持4KB頁面外(與486相同),還支持2MB和4MB頁面。其中2MB頁面的分頁模式必須使用36位地址總線。CPU內(nèi)部分別設(shè)置指令cache和數(shù)據(jù)cache,外部還可接L2cache。CPU采用U,V兩條指令流水線,能在一個時鐘周期內(nèi)發(fā)射兩條簡單的整數(shù)指令,也可發(fā)射一條浮點指令。操作控制器采用硬布線控制和微程序控制相結(jié)合的方式。大多數(shù)簡單指令用硬布線控制實現(xiàn),在一個時鐘周期內(nèi)執(zhí)行完畢。對微程序?qū)崿F(xiàn)的指令,也在2-3個時鐘周期內(nèi)執(zhí)行完畢。Pentium具有非固定長度的指令格式,9種尋址方式,191條指令,但是在每個時鐘周期又能執(zhí)行兩條指令。因此它具有CISC和RlSC兩者的特性,不過具有的CISC特性更多一些,因此被看成為一個CISC結(jié)構(gòu)的處理器。以CISC結(jié)構(gòu)實現(xiàn)超標量流水線,并有BTB方式的轉(zhuǎn)移預(yù)測能力,堪稱為當(dāng)代CISC機器的經(jīng)典之作。(1)超標量流水線超標量流水線是Pentium系統(tǒng)結(jié)構(gòu)的核心。(2)指令cache和數(shù)據(jù)cache80486CPU中有8KB的指令和數(shù)據(jù)共用的cache。而奔騰CPU則分設(shè)指令cache和數(shù)據(jù)cache,各8KB。(3)浮點運算部件奔騰CPU內(nèi)部包含了一個8段的流水浮點運算器。前4段為指令預(yù)取(PF)、指令譯碼(D1)、地址生成(D2)、取操作數(shù)(EX),在U,V流水線中完成;后4段為執(zhí)行1(X1)、執(zhí)行2(X2)、結(jié)果寫回寄存器堆(WF)、錯誤報告(ER),在浮點運算部件中完成。

溫馨提示

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

評論

0/150

提交評論