計(jì)算機(jī)組成原理第06章中央處理器_第1頁
計(jì)算機(jī)組成原理第06章中央處理器_第2頁
計(jì)算機(jī)組成原理第06章中央處理器_第3頁
計(jì)算機(jī)組成原理第06章中央處理器_第4頁
計(jì)算機(jī)組成原理第06章中央處理器_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

中央處理器

指令流水

如何提高機(jī)器速度

提高訪存速度

提高整機(jī)處理能力高速芯片Cache多體并行高速器件改進(jìn)系統(tǒng)結(jié)構(gòu)

,開發(fā)系統(tǒng)的并行性

提高運(yùn)算器速度高速芯片改進(jìn)算法快速進(jìn)位鏈

系統(tǒng)的并行性時(shí)間上互相重疊

并行性的等級(jí)指令級(jí)(指令之間)(指令內(nèi)部)過程級(jí)(作業(yè)或程序)(任務(wù)或進(jìn)程)兩個(gè)或兩個(gè)以上事件在同一時(shí)刻

發(fā)生兩個(gè)或兩個(gè)以上事件在同一時(shí)間段

發(fā)生并行

并行的概念粗粒度軟件實(shí)現(xiàn)細(xì)粒度硬件實(shí)現(xiàn)并發(fā)同時(shí)取指令3執(zhí)行指令3

指令流水原理

指令的二級(jí)流水

指令的串行執(zhí)行取指令

取指令部件

完成總有一個(gè)部件空閑指令預(yù)取若取指

和執(zhí)行

階段時(shí)間上完全重疊指令周期減半速度提高1倍…執(zhí)行指令

執(zhí)行指令部件

完成取指令1執(zhí)行指令1取指令2執(zhí)行指令2取指令3執(zhí)行指令3取指令2執(zhí)行指令2取指令1執(zhí)行指令1

必須等上條

指令執(zhí)行結(jié)束,才能確定下條

指令的地址,造成時(shí)間損失

影響指令流水效率加倍的因素(1)

執(zhí)行時(shí)間>取指時(shí)間

(2)條件轉(zhuǎn)移指令

對(duì)指令流水的影響

解決辦法

?取指令部件指令部件緩沖區(qū)執(zhí)行指令部件猜測(cè)法

指令的六級(jí)流水六級(jí)流水14個(gè)時(shí)間單位串行執(zhí)行6×9=

54

個(gè)時(shí)間單位完成一條指令6個(gè)時(shí)間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t流水段指令A(yù)LU取/存轉(zhuǎn)移IF取指取指取指ID譯碼

讀寄存器堆譯碼

讀寄存器堆譯碼

讀寄存器堆EX執(zhí)行計(jì)算訪存的有效地址計(jì)算轉(zhuǎn)移目標(biāo)地址

設(shè)置條件碼MEM—訪存(讀/寫)若條件成立,將轉(zhuǎn)移目標(biāo)地址送PCWB結(jié)果寫回寄存器堆將讀出的數(shù)據(jù)寫入寄存器堆—

影響指令流水線性能的因素程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率指令時(shí)鐘周期123456789LOAD指令I(lǐng)FIDEXMEMWB指令i+1IFIDEXMEMWB指令i+2IFIDEXMEMWB指令i+3IFIDEXMEMWB指令i+4IFIDEXMEMWB

結(jié)構(gòu)相關(guān)不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突解決方法指令時(shí)鐘周期123456789LOAD指令I(lǐng)FIDEXMEMWB指令i+1IFIDEXMEMWB指令i+2IFIDEXMEMWB指令i+3停頓IFIDEXMEMWB指令i+4IFIDEXMEM

指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開

停頓

指令預(yù)取技術(shù)

數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序

寫后讀相關(guān)(RAW,ReadAfterWrite,先寫后讀)ADDR1,R2,R3SUBR4,R5,R1;(R2)+

(R3)

R1;(R1)–(R5)

R4指令時(shí)鐘周期123456ADDIFIDEXMEMWBSUBIFIDEXMEMWB寫R1讀R1ADDR1,R2,R3;(R2)+(R3)R1SUBR4,R1,R5;(R1)–(R5)R4ANDR6,R1,R7;(R1)AND(R7)R6ORR8,R1,R9;(R1)OR(R9)R8XORR10,R1,R11;(R1)OR(R11)R10指令時(shí)鐘周期123456789ADDIFIDEXMEMWBSUBIFIDEXMEMWBANDIFIDEXMEMWBORIFIDEXMEMWBXORIFIDEXMEMWB解決方法

后推法指令時(shí)鐘周期123456789101112ADDIFIDEXMEMWBSUBIFIDEXMEMWBANDIFIDEXMEMWBORIFIDEXMEMWBXORIFIDEXMEMWB

采用旁路技術(shù)(相關(guān)專用通路技術(shù))數(shù)據(jù)相關(guān)類型根據(jù)指令間對(duì)同一寄存器讀和寫操作的先后次序關(guān)系

寫后讀相關(guān)(RAW,ReadAfterWrite)SUBR1,R2,R3ADDR4,R5,R1;(R2)–

(R3)

R1;(R5)+(R1)

R4

讀后寫相關(guān)(WAR,WriteAfterRead)STAM,R2ADDR2,R4,R5;(R2)

M存儲(chǔ)單元;(R4)+(R5)

R2

寫后寫相關(guān)(WAW,WriteAfterWrite)MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)

R3;(R4)–

(R5)

R3

控制相關(guān)BNE

指令必須等CPX

指令的結(jié)果才能判斷出是轉(zhuǎn)移還是順序執(zhí)行LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM由轉(zhuǎn)移指令引起

控制相關(guān)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉(zhuǎn)移損失t設(shè)指令3

是轉(zhuǎn)移指令盡早判別轉(zhuǎn)移是否發(fā)生,盡早生成轉(zhuǎn)移目標(biāo)地址預(yù)取轉(zhuǎn)移成功或不成功兩個(gè)控制流加快和提前生成條件碼提高轉(zhuǎn)移方向的猜準(zhǔn)率

流水線性能

吞吐率(throughputrate)單位時(shí)間內(nèi)流水線所完成指令或輸出結(jié)果的數(shù)量

最大吞吐率

實(shí)際吞吐率連續(xù)處理n條指令的吞吐率為設(shè)m

段的流水線各段時(shí)間為tTpmax=t1Tp=m·t+(n-1)·t

n=t

[1+(m1)/n]1=1+(m1)/nTpmax

加速比Sp

(Speedup)

m

段的流水線的速度與等功能的非流水線的速度

之比

設(shè)流水線各段時(shí)間為t

完成n

條指令在m

段流水線上共需

T=m

·

t

+(n–1)·

t

完成n條指令在等效的非流水線上共需

T

′=nm

·t

Sp

=

m·t

+(n–1)·tnm·t

=nmm

+n–

1

則=m1+(m–

1)/n

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

流水線中各功能段的利用率

效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n-1)Δtm(m

+n–1)Δt

=mnΔt

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

效率=

效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n

1)Δt流水線中各功能段的利用率

=(m

+n–

1)n

=mSp

=TpΔt例:假設(shè)指令流水線分取值(IF)、譯碼(ID)、執(zhí)行(EX)、回寫(WR)4個(gè)過程段,共有10條指令連續(xù)輸入此流水線。(1)畫出指令周期流程;(2)畫出非流水線時(shí)空?qǐng)D;(3)畫出流水線時(shí)空?qǐng)D;(4)假設(shè)時(shí)鐘周期為100ns,求流水線的實(shí)際吞吐率;(5)求該流水處理器的加速比。解:(4)10/(100ns13)0.77107條指令/秒(5)40/13=3.08

流水線的多發(fā)技術(shù)

超標(biāo)量技術(shù)

每個(gè)時(shí)鐘周期內(nèi)可并發(fā)多條獨(dú)立指令

配置多個(gè)功能部件IFIDEX

WR0123

45

678

910111213時(shí)鐘周期指令序列程序段1MOVBL,8ADDAX,1756HADDCL,4EH程序段2INCAXADDAX,BXMOVDS,AX

超流水線技術(shù)

在一個(gè)時(shí)鐘周期

內(nèi)再分段(3段)

不能調(diào)整

指令的執(zhí)行順序在一個(gè)時(shí)鐘周期內(nèi)一個(gè)功能部件使用多次(3次)流水線速度是原來速度的3倍IFIDEXWR0

1

2

345

67

8

9

10111213時(shí)鐘周期指令序列

超長指令字技術(shù)(VLIW)

采用多個(gè)處理部件具有多個(gè)操作碼字段

的超長指令字(可達(dá)幾百位)由編譯程序挖掘

出指令間潛在

的并行性,將多條

能并行操作

的指令組合成一條IFIDEXWR012345678910111213時(shí)鐘周期指令序列

流水線結(jié)構(gòu)

指令流

溫馨提示

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

評(píng)論

0/150

提交評(píng)論