第五章中央處理器-4指令流水線(xiàn)_第1頁(yè)
第五章中央處理器-4指令流水線(xiàn)_第2頁(yè)
第五章中央處理器-4指令流水線(xiàn)_第3頁(yè)
第五章中央處理器-4指令流水線(xiàn)_第4頁(yè)
第五章中央處理器-4指令流水線(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組成原理

——中央處理器(4)2016-4-20第5章中央處理器5.1CPU的功能和組成5.1.1CPU的功能5.1.2CPU的基本組成5.1.3CPU中的主要寄存器5.1.4操作控制器與時(shí)序產(chǎn)生器5.2指令周期5.2.1指令周期的基本概念5.2.2MOV指令的指令周期5.2.3LAD指令的指令周期5.2.4ADD指令的指令周期5.2.5STO指令的指令周期5.2.6JMP指令的指令周期5.2.7用方框圖語(yǔ)言表示指令周期5.3時(shí)序產(chǎn)生器和控制方式

5.3.1時(shí)序信號(hào)的作用和體制5.3.2時(shí)序信號(hào)產(chǎn)生器5.3.3控制方式5.4微程序控制器5.4.1微程序控制器原理5.4.2微程序設(shè)計(jì)技術(shù)5.5硬連線(xiàn)控制器5.6流水CPU5.6.1并行處理技術(shù)5.6.2流水CPU的結(jié)構(gòu)5.6.3流水線(xiàn)中的主要問(wèn)題5.6.4奔騰CPU5.7RISCCPU5.7.1RISC機(jī)器的特點(diǎn)5.7.2RISCCPU實(shí)例5.7.3動(dòng)態(tài)流水線(xiàn)調(diào)度計(jì)算機(jī)組成原理25.6流水CPU5.6.1并行處理技術(shù)5.6.2流水CPU的結(jié)構(gòu)5.6.3流水線(xiàn)中的主要問(wèn)題5.6.4奔騰CPU計(jì)算機(jī)組成原理35.6.1并行處理技術(shù)早期的計(jì)算機(jī)基于馮·洛依曼的體系結(jié)構(gòu),采用串行處理,即任何時(shí)刻只能執(zhí)行一個(gè)操作;并行性(Parrelism)概念具有可以同時(shí)進(jìn)行運(yùn)算或操作的特性例:在相同時(shí)間的條件下,用n位運(yùn)算器進(jìn)行n位并行運(yùn)算速度幾乎是一位運(yùn)算器進(jìn)行n位串行運(yùn)算的n倍(狹義)(廣義)含義→只要在同一時(shí)刻(同時(shí)性)或在同一時(shí)間間隔內(nèi)(并發(fā)性)完成兩種或兩種以上性質(zhì)相同或不同的工作,他們?cè)跁r(shí)間上相互重疊,都體現(xiàn)了并行性;計(jì)算機(jī)組成原理45.6.1并行處理技術(shù)三種形式時(shí)間并行(時(shí)間重疊):讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi),輪流重疊地使用同一套硬件設(shè)備的各個(gè)部件,以加快硬件周轉(zhuǎn)而贏得速度,實(shí)現(xiàn)方式就是采用流水處理部件;空間并行(資源重復(fù)):以數(shù)量取勝;它能真正的體現(xiàn)同時(shí)性;LSI和VLSI為其提供了技術(shù)保證;時(shí)間+空間并行Pentium中采用了超標(biāo)量流水線(xiàn)技術(shù);計(jì)算機(jī)組成原理55.6.2流水CPU的結(jié)構(gòu)1、流水計(jì)算機(jī)的系統(tǒng)組成存儲(chǔ)器體系→主存采用多體交叉存儲(chǔ)器;CacheCPU流水方式→分成指令部件、指令隊(duì)列、執(zhí)行部件三部分(三級(jí)流水線(xiàn));第一級(jí)流水線(xiàn)→指令流水線(xiàn);第二級(jí)流水線(xiàn)→指令隊(duì)列FIFO流水線(xiàn):存放譯碼后的指令+取來(lái)的各個(gè)操作數(shù);第三級(jí)流水線(xiàn)→執(zhí)行部件流水線(xiàn):可以由多個(gè)采用流水線(xiàn)方式構(gòu)成的算術(shù)邏輯部件構(gòu)成;比如:將定點(diǎn)運(yùn)算部件和浮點(diǎn)運(yùn)算部件分開(kāi);將浮點(diǎn)加法部件和浮點(diǎn)乘除部件分開(kāi)(浮點(diǎn)運(yùn)算部件都以流水線(xiàn)方式工作)。計(jì)算機(jī)組成原理65.6.2流水CPU的結(jié)構(gòu)2、流水線(xiàn)CPU時(shí)空?qǐng)D為了實(shí)現(xiàn)流水,必須把一個(gè)任務(wù)分成若干個(gè)能夠在流水線(xiàn)的各個(gè)階段并發(fā)執(zhí)行的子任務(wù);IF→InstructionFetch取指;ID→InstructionDecode指令譯碼;EX→Execution執(zhí)行;WD→WriteData結(jié)果寫(xiě)回;假設(shè)每個(gè)子任務(wù)執(zhí)行需要一個(gè)時(shí)鐘周期;計(jì)算機(jī)組成原理75.6.2流水CPU的結(jié)構(gòu)標(biāo)量流水計(jì)算機(jī)→只有一條指令流水線(xiàn);超標(biāo)量流水計(jì)算機(jī)→有多條指令流水線(xiàn),超標(biāo)度N表示就有N條流水線(xiàn),上述超標(biāo)量計(jì)算機(jī)的超標(biāo)度為2;計(jì)算機(jī)組成原理85.6.2流水CPU的結(jié)構(gòu)具有兩條以上的指令流水線(xiàn);上圖中流水線(xiàn)滿(mǎn)載時(shí),每一個(gè)時(shí)鐘周期可以執(zhí)行2條指令;采用時(shí)間和空間并行技術(shù);計(jì)算機(jī)組成原理95.6.2流水CPU的結(jié)構(gòu)計(jì)算機(jī)組成原理105.6.2流水CPU的結(jié)構(gòu)計(jì)算機(jī)組成原理115.6.2流水CPU的結(jié)構(gòu)3、流水線(xiàn)(Pipelining)的分類(lèi)(按不同并行級(jí)別分類(lèi))

指令流水線(xiàn)→將指令流的處理過(guò)程分成取指、譯碼、取操作數(shù)、執(zhí)行、寫(xiě)回等若干個(gè)并行處理的過(guò)程段進(jìn)行流水;算術(shù)流水線(xiàn)→指運(yùn)算操作步驟的流水,如設(shè)置流水加法器、流水乘法器等;處理機(jī)流水線(xiàn)(宏流水線(xiàn))→設(shè)置若干臺(tái)處理機(jī)構(gòu)成流水線(xiàn)的各個(gè)過(guò)程段,每臺(tái)處理機(jī)負(fù)責(zé)一個(gè)特定的任務(wù);數(shù)據(jù)流從一臺(tái)處理機(jī)依次流過(guò)各臺(tái)處理機(jī)進(jìn)行相關(guān)操作;如浮點(diǎn)加法器(0操作數(shù)檢查、對(duì)階、尾數(shù)相加、規(guī)格化、舍入處理等);計(jì)算機(jī)組成原理125.6.3流水線(xiàn)中的主要問(wèn)題三種相關(guān)沖突→資源相關(guān)、數(shù)據(jù)相關(guān)、控制相關(guān)1、資源相關(guān)→多條指令進(jìn)入流水線(xiàn)后在同一時(shí)鐘周期內(nèi)爭(zhēng)用同一功能部件。

IF(取指)、ID(譯碼)、EX(計(jì)算有效地址或執(zhí)行)、MEM(訪(fǎng)存取數(shù))、WB(寫(xiě)回)解決辦法→①.后續(xù)指令拖一個(gè)節(jié)拍后再推進(jìn);②.增設(shè)功能部件;計(jì)算機(jī)組成原理135.6.3流水線(xiàn)中的主要問(wèn)題2、數(shù)據(jù)相關(guān)→三種數(shù)據(jù)相關(guān):(1)寫(xiě)后讀的數(shù)據(jù)相關(guān)RAW(ReadAfterWrite)→后面指令運(yùn)行需要用到前面指令所寫(xiě)的數(shù)據(jù);比如下列程序:

ADDR1,R2,R3;(R1←R2+R3)SUBR4,R1,R5;(R4←R1-R5)ANDR6,R1,R7;(R6←R1·R7)(2)讀后寫(xiě)的數(shù)據(jù)相關(guān)WAR(WriteAfterRead)→后面指令覆蓋前面指令所讀的單元(在簡(jiǎn)單流水線(xiàn)中沒(méi)有此類(lèi)相關(guān));ANDR3,R4 ;(R3←R3+R4)后完成

MOVR4,R5 ;(R4←R4×R5)先完成計(jì)算機(jī)組成原理145.6.3流水線(xiàn)中的主要問(wèn)題(3)寫(xiě)后寫(xiě)的數(shù)據(jù)相關(guān)WAW(WriteAfterWrite)→兩條指令寫(xiě)同一個(gè)單元(在簡(jiǎn)單流水線(xiàn)中沒(méi)有此類(lèi)相關(guān),因?yàn)椴粫?huì)亂序執(zhí)行);LDAR6,B ;(R6←M(B)存儲(chǔ)單元)后完成MULR6,R7 ;(R6←R6×R7)先完成計(jì)算機(jī)組成原理155.6.3流水線(xiàn)中的主要問(wèn)題數(shù)據(jù)相關(guān)的解決辦法:(1)可以推后后繼指令對(duì)相關(guān)單元的讀操作;(2)設(shè)置相關(guān)的直接通路(Forwarding);(3)設(shè)置若干個(gè)運(yùn)算結(jié)果緩沖寄存器,用來(lái)暫時(shí)存放運(yùn)算結(jié)果,以便后繼指令直接使用,稱(chēng)之為定向傳輸技術(shù);計(jì)算機(jī)組成原理165.6.3流水線(xiàn)中的主要問(wèn)題3、控制相關(guān)→由于轉(zhuǎn)移指令而引起流水線(xiàn)斷流(有時(shí)可能出錯(cuò)等)現(xiàn)象;控制相關(guān)解決辦法:(1).延遲轉(zhuǎn)移法→由編譯程序重排指令序列來(lái)實(shí)現(xiàn),基本思想是“先執(zhí)行在轉(zhuǎn)移”即發(fā)生轉(zhuǎn)移取指時(shí)不排空流水線(xiàn),讓緊跟轉(zhuǎn)移指令之后的已經(jīng)進(jìn)入流水線(xiàn)的少數(shù)指令繼續(xù)完成(這種方法不是始終有效)。(2).轉(zhuǎn)移預(yù)測(cè)法→硬件依據(jù)指令過(guò)去的行為來(lái)預(yù)測(cè)將來(lái)的行為。通過(guò)使用轉(zhuǎn)移取指預(yù)取隊(duì)列器、順序取指預(yù)取隊(duì)列器和目標(biāo)指令cache,可將轉(zhuǎn)移預(yù)測(cè)提前到取指階段進(jìn)行;計(jì)算機(jī)組成原理175.6.3流水線(xiàn)中的主要問(wèn)題[例4]流水線(xiàn)中有三類(lèi)數(shù)據(jù)相關(guān)沖突:寫(xiě)后讀(RAW)相關(guān);讀后寫(xiě)(WAR)相關(guān);寫(xiě)后寫(xiě)(WAW)相關(guān)。判斷以下三組指令各存在哪種類(lèi)型的數(shù)據(jù)相關(guān)。(1)I1ADD

R1,R2,R3;R1

(R2)+(R3)I2SUB

R4,R1,R5;R4←

(R1)-(R5)(2)I3STO

M(x),R3;M(x)←(R3),M(x)是存儲(chǔ)器單元I4ADD

R3,R4,R5;R3←(R4)+(R5)(3)I5MUL

R3,R1,R2;R3←(R1)×(R2)I6ADD

R3,R4,R5;R3←(R4)+(R5)計(jì)算機(jī)組成原理185.6.3流水線(xiàn)中的主要問(wèn)題[解]:第(1)組指令中,I1指令運(yùn)算結(jié)果應(yīng)先寫(xiě)入R1,然后在I2指令中讀出R1內(nèi)容。由于I2指令進(jìn)入流水線(xiàn),變成I2指令在I1指令寫(xiě)入R1前就讀出R1內(nèi)容,發(fā)生RAW相關(guān)。第(2)組指令中,I3指令應(yīng)先讀出R3內(nèi)容并存入存儲(chǔ)單元M(x),然后在I4指令中將運(yùn)算結(jié)果寫(xiě)入R3。但由于I4指令進(jìn)入流水線(xiàn),變成I4指令在I3指令讀出R3內(nèi)容前就寫(xiě)入R3,發(fā)生WAR相關(guān)。第(3)組指令中,如果I6指令的加法運(yùn)算完成時(shí)間早于I5指令的乘法運(yùn)算時(shí)間,變成指令I(lǐng)6在指令I(lǐng)5寫(xiě)入R3前就寫(xiě)入R3,導(dǎo)致R3的內(nèi)容錯(cuò)誤,發(fā)生WAW相關(guān)。計(jì)算機(jī)組成原理195.6.4流水線(xiàn)性能1.吞吐率單位時(shí)間內(nèi)流水線(xiàn)所完成指令或輸出結(jié)果的數(shù)量最大吞吐率實(shí)際吞吐率連續(xù)處理n條指令的吞吐率為設(shè)m

段的流水線(xiàn)各段時(shí)間為ΔtTpmax=Δ1tTp=m

·Δ

+(n-1)·

Δ

ntt2.加速比Sp

m

段的流水線(xiàn)的速度與等功能的非流水線(xiàn)的速度之比設(shè)流水線(xiàn)各段時(shí)間為Δt完成n

條指令在m

段流水線(xiàn)上共需

T=m

·

+(n-1)·

ttΔΔ完成

n條指令在等效的非流水線(xiàn)上共需

T

′=nm

·tΔSp

=

m

·+(n-1)·

nm·=nmm

+n-1

ΔtΔΔtt

則5.6.4流水線(xiàn)性能由于流水線(xiàn)有建立時(shí)間和排空時(shí)間因此各功能段的設(shè)備不可能一直處于工作狀態(tài)

流水線(xiàn)中各功能段的利用率3.效率mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n-1)Δt5.6.4流水線(xiàn)性能m(m

+n-1)Δt

=mnΔt

流水線(xiàn)各段處于工作時(shí)間的時(shí)空區(qū)流水線(xiàn)中各段總的時(shí)空區(qū)

效率=3.效率流水線(xiàn)中各功能段的利用率5.6.4流水線(xiàn)性能mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n-1)Δt小結(jié)并行處理技術(shù)可貫穿于信息加工的各個(gè)步驟和階段。概括起來(lái),主要有三種形式:①時(shí)間并行;②空間并行;③時(shí)間并行+空間并行。流水CPU是以時(shí)間并行性為原理構(gòu)造的處理機(jī),是一種非常經(jīng)濟(jì)而實(shí)用的并行技術(shù)。目前的高性能微處理機(jī)幾乎無(wú)一例外地

溫馨提示

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

評(píng)論

0/150

提交評(píng)論