計算機系統(tǒng)結(jié)構(gòu)第講_第1頁
計算機系統(tǒng)結(jié)構(gòu)第講_第2頁
計算機系統(tǒng)結(jié)構(gòu)第講_第3頁
計算機系統(tǒng)結(jié)構(gòu)第講_第4頁
計算機系統(tǒng)結(jié)構(gòu)第講_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機系統(tǒng)結(jié)構(gòu)第講第一頁,共九十九頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)第一章基本概念第二章指令系統(tǒng)第三章存儲系統(tǒng)第四章輸入輸出系統(tǒng)第五章標量處理機第六章向量處理機第七章互連網(wǎng)絡(luò)第八章并行處理機和 多處理機第二頁,共九十九頁,編輯于2023年,星期五第五章標量處理機5.1指令的重疊執(zhí)行方式5.2流水線技術(shù)5.3超標量處理機5.4超流水線處理機5.5超標量超流水線處理機第三頁,共九十九頁,編輯于2023年,星期五只有標量數(shù)據(jù)表示和標量指令系統(tǒng)的處理機稱為標量處理機提高指令執(zhí)行速度的主要途徑:

(1)提高處理機的工作主頻

(2)采用更好的算法和設(shè)計更好的功能部件

(3)采用指令級并行技術(shù)三種指令級并行處理機:

(1)流水線處理機和超流水線(Super- pipelining)處理機

(2)超標量(Superscalar)處理機

(3)超長指令字(VLIW:VeryLongInstructionWord)處理機第四頁,共九十九頁,編輯于2023年,星期五5.1指令的重疊執(zhí)行方式1、順序執(zhí)行方式執(zhí)行n條指令所用的時間為:如果每段時間都為t,則執(zhí)行n條指令所用的時間為:T=3nt取指令k分析k執(zhí)行k取指令k+1分析k+1執(zhí)行k+1第五頁,共九十九頁,編輯于2023年,星期五主要優(yōu)點:

控制簡單,節(jié)省設(shè)備。主要缺點:

執(zhí)行指令的速度慢,功能部件的利用率很低。

2、一次重疊執(zhí)行方式 一種最簡單的流水線方式如果兩個過程的時間相等,則執(zhí)行n條指令的時間為:T=(1+2n)t第六頁,共九十九頁,編輯于2023年,星期五取指分析執(zhí)行取指分析執(zhí)行取指分析執(zhí)行主要優(yōu)點:

指令的執(zhí)行時間縮短

功能部件的利用率明顯提高主要缺點:

需要增加一些硬件

控制過程稍復(fù)雜第七頁,共九十九頁,編輯于2023年,星期五3、二次重疊執(zhí)行方式如果三過程的時間相等,執(zhí)行n條指令的時間為:T=(2+n)t理想情況下同時有三條指令在執(zhí)行處理機的結(jié)構(gòu)要作比較大的改變,必須采用先行控制方式取指k+2分析k+2執(zhí)行k+2取指k+1分析k+1執(zhí)行k+1取指k分析k執(zhí)行k第八頁,共九十九頁,編輯于2023年,星期五先行控制方式的原理1、采用二次重疊執(zhí)行方式,必須解決兩個問題:

(1)有獨立的取指令部件、指令分析部件和指令執(zhí)行部件獨立的控制器:

存儲控制器、指令控制器、運算控制器(2)要解決訪問主存儲器的沖突問題取指令、分析指令、執(zhí)行指令都可能要訪問存儲器2、解決訪存沖突的方法:

(1)

采用低位交叉存取方式:這種方法不能根本解決沖突問題。 取指令、讀操作數(shù)、寫結(jié)果。第九頁,共九十九頁,編輯于2023年,星期五(2)兩個獨立的存儲器:獨立的指令存儲器和數(shù)據(jù)存儲器。

如果再規(guī)定,執(zhí)行指令所需要的操作數(shù)和執(zhí)行結(jié)果只寫到通用寄存器,那么,取指令、分析指令和執(zhí)行指令就可以同時進行。在許多高性能處理機中,有獨立的指令Cache和數(shù)據(jù)Cache。這種結(jié)構(gòu)被稱為哈佛結(jié)構(gòu)。

(3)采用先行控制技術(shù)。

先行控制技術(shù)的關(guān)鍵是緩沖技術(shù)和預(yù)處理技術(shù)。

緩沖技術(shù)是在工作速度不固定的兩個功能部件之間設(shè)置緩沖棧,用以平滑它們的工作。在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,運算器能夠?qū)P挠跀?shù)據(jù)的運算,從而大幅度提高程序的執(zhí)行速度。第十頁,共九十九頁,編輯于2023年,星期五(2)兩個獨立的存儲器:獨立的指令存儲器和數(shù)據(jù)存儲器。

如果再規(guī)定,執(zhí)行指令所需要的操作數(shù)和執(zhí)行結(jié)果只寫到通用寄存器,那么,取指令、分析指令和執(zhí)行指令就可以同時進行。在許多高性能處理機中,有獨立的指令Cache和數(shù)據(jù)Cache。這種結(jié)構(gòu)被稱為哈佛結(jié)構(gòu)。

(3)采用先行控制技術(shù)。

先行控制技術(shù)的關(guān)鍵是緩沖技術(shù)和預(yù)處理技術(shù)。

緩沖技術(shù)是在工作速度不固定的兩個功能部件之間設(shè)置緩沖棧,用以平滑它們的工作。在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,運算器能夠?qū)P挠跀?shù)據(jù)的運算,從而大幅度提高程序的執(zhí)行速度。第十一頁,共九十九頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第16講)

第十二頁,共九十九頁,編輯于2023年,星期五第五章標量處理機5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標量處理機5.4超流水線處理機5.5超標量超流水線處理機第十三頁,共九十九頁,編輯于2023年,星期五5.2流水線技術(shù)5.2.1流水線工作原理5.2.2流水線的分類5.2.3線性流水線的性能分析5.2.4非線性流水線的調(diào)度技術(shù)第十四頁,共九十九頁,編輯于2023年,星期五5.2流水線技術(shù)空間并行性:

設(shè)置多個獨立的操作部件

多操作部件處理機

超標量處理機時間并行性:

采用流水線技術(shù)。

不增加或只增加少量硬件就能使運算速度提高幾倍

流水線處理機

超流水線處理機第十五頁,共九十九頁,編輯于2023年,星期五5.2.1流水線工作原理1、簡單流水線流水線的每一個階段稱為流水步、流水步驟、流水段、流水線階段、流水功能段、功能段、流水級、流水節(jié)拍等。`分析器分析k+1流水

鎖存器執(zhí)行部件執(zhí)行k流水

鎖存器輸入輸出t1t2第十六頁,共九十九頁,編輯于2023年,星期五在每一個流水段的末尾或開頭必須設(shè)置一個寄存器,稱為流水寄存器、流水鎖存器、流水閘門寄存器等。會增加指令的執(zhí)行時間。為了簡化,在一般流水線中不畫出流水鎖存器。

2、一種指令流水線取指形成操

作數(shù)地址譯碼取操作數(shù)執(zhí)行保存結(jié)果第十七頁,共九十九頁,編輯于2023年,星期五一般4至12個流水段,等于及大于8個流水段的稱為超流水線處理機3、流水線的時空圖一條簡單流水線的時空圖:分析k分析k+1分析k+2分析k+3執(zhí)行k執(zhí)行k+1執(zhí)行k+2執(zhí)行k+3時間空間0t1t2t3t4t5第十八頁,共九十九頁,編輯于2023年,星期五一個浮點加法器流水線的時空圖(由求階差、對階、尾數(shù)加和規(guī)格化4個流水段組成):ED1時間空間0t1t2t3t4t5ED2ED3ED4ED5EA1EA2EA3EA4EA5MA1MA2MA3MA4MA5NL1NL2NL3NL4NL5t6t7t8NL:規(guī)格化MA:尾數(shù)加EA:對階ED:求階差第十九頁,共九十九頁,編輯于2023年,星期五4、流水線的主要特點只有連續(xù)提供同類任務(wù)才能充分發(fā)揮流水線的效率:

對于指令流水線:要盡量減少因條件分支造成的“斷流”

對于操作部件:主要通過編譯技術(shù),盡量提供連續(xù)的同類操作在流水線的每一個流水線段中都要設(shè)置一個流水鎖存器

時間開銷:流水線的執(zhí)行時間加長

是流水線中需要增加的主要硬件之一第二十頁,共九十九頁,編輯于2023年,星期五各流水段的時間應(yīng)盡量相等

流水線處理機的基本時鐘周期等于時間最長的流水段的時間長度流水線需要有“裝入時間”和“排空時間”第二十一頁,共九十九頁,編輯于2023年,星期五5.2.2流水線的分類1、線性流水線與非線性流水線流水線的各個流水段之間是否有反饋信號線性流水線(LinearPipelining)

每個流水段都流過一次,且僅流過一次非線性流水線(NonlinearPipelining)

在流水線的某些流水段之間有反饋回路或前饋回路線性流水線能夠用流水線連接圖唯一表示

非線性流水線必須用流水線連接圖流水線預(yù)約表等共同表示第二十二頁,共九十九頁,編輯于2023年,星期五S1輸入S2S3輸出前饋回路反饋回路一種簡單的非線性流水線第二十三頁,共九十九頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第17講)

第二十四頁,共九十九頁,編輯于2023年,星期五2、按照流水線的級別來分處理機級流水線,又稱為指令流水線(InstructionPipelining)

例如:在采用先行控制器的處理機中,各功能部件之間的流水線先行指令

緩沖棧輸入先行控制方式

中的指令流水線先行指令

分析器先行讀數(shù)棧

先行操作棧取指譯碼取操作數(shù)指令執(zhí)行部件后行寫數(shù)棧輸出執(zhí)行寫結(jié)果第二十五頁,共九十九頁,編輯于2023年,星期五部件級流水線(操作流水線),如浮點加法器流水線

處理機之間的流水線稱為宏流水線(MacroPipelining)

每個處理機對同一個數(shù)據(jù)流的不同部分分別進行處理求階差輸入輸出t1對階尾數(shù)加規(guī)格化t2t3t4P1輸入任務(wù)1MM…P2任務(wù)2MP3任務(wù)3輸出第二十六頁,共九十九頁,編輯于2023年,星期五3、單功能流水線與多功能流水線單功能流水線:

只能完成一種固定功能的流水線

Cray-1計算機中有12條;YH-1計算機有18條;Pentium有一條5段的定點和一條8段的浮點流水線;PentiumⅢ有三條指令流水線,其中兩條定點指令流水線,一條浮點指令流水線。第二十七頁,共九十九頁,編輯于2023年,星期五多功能流水線:

流水線的各段通過不同連接實現(xiàn)不同功能

Texas公司的ASC計算機中的8段流水線,能夠?qū)崿F(xiàn):定點加減法、定點乘法、浮點加法、浮點乘法、邏輯運算、移位操作、數(shù)據(jù)轉(zhuǎn)換、向量運算等。第二十八頁,共九十九頁,編輯于2023年,星期五第二十九頁,共九十九頁,編輯于2023年,星期五4、靜態(tài)流水線與動態(tài)流水線靜態(tài)流水線:

同一段時間內(nèi),多功能流水線中的各個功能段只能按照一種固定的方式連接,實現(xiàn)一種固定的功能。

只有連續(xù)出現(xiàn)同一種運算時,流水線的效率才能得到充分的發(fā)揮。動態(tài)流水線:

在同一段時間內(nèi),多功能流水線中的各段可以按照不同的方式連接,同時執(zhí)行多種功能。第三十頁,共九十九頁,編輯于2023年,星期五1時間空間023…n123…n123…n123…n123…n123…n1234…123…12……1輸入求階差對階尾數(shù)加規(guī)格化尾數(shù)乘累加輸出靜態(tài)流水線時空圖浮點加法定點乘法第三十一頁,共九十九頁,編輯于2023年,星期五1時間空間023…n123…n123…n123…n123…n123…n輸入求階差對階尾數(shù)加規(guī)格化尾數(shù)乘累加輸出動態(tài)流水線時空圖………………123546123541234123…………浮點加法定點乘法第三十二頁,共九十九頁,編輯于2023年,星期五5、流水線的其他分類方法按照數(shù)據(jù)表示方式:

標量流水線和向量流水線按照控制方式:同步流水線和異步流水線順序流水線與亂序流水線:

亂序流水線又稱為無序流水線、錯序流水線或異步流水線等S1就緒回答S2就緒回答S3就緒回答輸出就緒回答輸入第三十三頁,共九十九頁,編輯于2023年,星期五5.2.3線性流水線的性能分析衡量流水線性能的主要指標有:

吞吐率、加速比和效率1、吞吐率(ThoughPut)求流水線吞吐率的最基本公式:TP=n/Tk

n為任務(wù)數(shù),Tk為完成n個任務(wù)所用時間各段執(zhí)行時間相等,輸入連續(xù)任務(wù)情況下完成n個連續(xù)任務(wù)需要的總時間為:

Tk=(k+n-1)t

k為流水線的段數(shù),t為時鐘周期第三十四頁,共九十九頁,編輯于2023年,星期五1時間空間S123……n-1nS2S3S4123……n-1n123……n-1n123……n-1nkt(n-1)tnt(k-1)tT第三十五頁,共九十九頁,編輯于2023年,星期五

吞吐率:

最大吞吐率為:

各段執(zhí)行時間不相等、輸入連續(xù)任務(wù)情況下:

吞吐率為:

最大吞吐率為:第三十六頁,共九十九頁,編輯于2023年,星期五流水線各段執(zhí)行時間不相等的解決辦法S1輸入t1=tS2t2=3tS3t3=tS4t4=t輸出1時間空間S1S2S3S4ti(n-1)t2Tk23…n123…n123…n123…n第三十七頁,共九十九頁,編輯于2023年,星期五一是將“瓶頸”流水段細分(如果可分的話):二是將“瓶頸”流水段重復(fù)設(shè)置:S1輸入輸出tS2-1tS2-2tS2-3tS3tS4tS2(3t)S1輸入輸出t1=tS2-1S2-1S2-1S3S4t3=tt4=tt2=3t第三十八頁,共九十九頁,編輯于2023年,星期五1時間空間23nS1流水段重復(fù)設(shè)置的流水線S2-1456…14…-2-1n-225…n-136…n123n456…-2-1123n456…-2-1S2-2S2-3S3S4第三十九頁,共九十九頁,編輯于2023年,星期五2、加速比(Speedup)計算流水線加速比的基本公式:

S=順序執(zhí)行時間T0/流水線執(zhí)行時間Tk各段執(zhí)行時間相等,輸入連續(xù)任務(wù)情況下

加速比為:

最大加速比為:

各段執(zhí)行時間不等,輸入連續(xù)任務(wù)情況下實際加速比為:第四十頁,共九十九頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第18講)

第四十一頁,共九十九頁,編輯于2023年,星期五5.2.3線性流水線的性能分析衡量流水線性能的主要指標有:

吞吐率、加速比和效率1、吞吐率(ThoughPut)求流水線吞吐率的最基本公式:TP=n/Tk

n為任務(wù)數(shù),Tk為完成n個任務(wù)所用時間各段執(zhí)行時間相等,輸入連續(xù)任務(wù)情況下完成n個連續(xù)任務(wù)需要的總時間為:

Tk=(k+n-1)t

k為流水線的段數(shù),t為時鐘周期第四十二頁,共九十九頁,編輯于2023年,星期五1時間空間S123……n-1nS2S3S4123……n-1n123……n-1n123……n-1nkt(n-1)tnt(k-1)tT第四十三頁,共九十九頁,編輯于2023年,星期五

吞吐率:

最大吞吐率為:

各段執(zhí)行時間不相等、輸入連續(xù)任務(wù)情況下:

吞吐率為:

最大吞吐率為:第四十四頁,共九十九頁,編輯于2023年,星期五2、加速比(Speedup)計算流水線加速比的基本公式:

S=順序執(zhí)行時間T0/流水線執(zhí)行時間Tk各段執(zhí)行時間相等,輸入連續(xù)任務(wù)情況下

加速比為:

最大加速比為:

各段執(zhí)行時間不等,輸入連續(xù)任務(wù)情況下實際加速比為:第四十五頁,共九十九頁,編輯于2023年,星期五K=6K=10任務(wù)

個數(shù)加速比10246811248163264128第四十六頁,共九十九頁,編輯于2023年,星期五3、效率(Efficiency)計算流水線效率的一般公式:

各流水段執(zhí)行時間相等,輸入n個連續(xù)任務(wù)

流水線的效率為:

流水線的最高效率為:

各流水段執(zhí)行時間不等,輸入n個連續(xù)任務(wù)

流水線的效率為:第四十七頁,共九十九頁,編輯于2023年,星期五流水線各段的設(shè)備量或各段的價格不相等時:

流水線的效率為:

即:

其中,ai<k,且第四十八頁,共九十九頁,編輯于2023年,星期五流水線的吞吐率、加速比與效率的關(guān)系:

因為

因此:E=TP·t,S=k·E5、流水線性能分析舉例對于單功能線性流水線,輸入連續(xù)任務(wù)的情況,通過上面給出的公式很容易計算出流水線的吞吐率、加速比和效率。例5.2:用一條4段浮點加法器流水線求8個浮點數(shù)的和:

Z=A+B+C+D+E+F+G+H第四十九頁,共九十九頁,編輯于2023年,星期五解:

Z=[(A+B)+(C+D)]+[(E+F)+(G+H)]1時間空間23求階差4567123456712345671234567對階尾數(shù)加規(guī)格化加數(shù)ACEGA+BE+FBDFHC+DG+HA+B+C+DE+F+G+H結(jié)果A+BC+DE+FG+HA+B+C+DE+F+G+H第五十頁,共九十九頁,編輯于2023年,星期五7個浮點加法共用了15個時鐘周期。

流水線的吞吐率為:

流水線的加速比為:

流水線的效率為:第五十一頁,共九十九頁,編輯于2023年,星期五第五章標量處理機5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標量處理機5.4超流水線處理機5.5超標量超流水線處理機第五十二頁,共九十九頁,編輯于2023年,星期五5.3超標量處理機5.3.1基本結(jié)構(gòu)5.3.2單發(fā)射與多發(fā)射第五十三頁,共九十九頁,編輯于2023年,星期五超標量處理機:

Intel公司的i860,i960,Pentium處理機Motolora公司的MC88110

IBM公司的Power6000

SUN公司的SuperSPARC等。超流水線處理機:

SGI公司的MIPSR4000,R5000,R10000等。超標量超流水線處理機:

DEC公司的Alpha等。第五十四頁,共九十九頁,編輯于2023年,星期五k段流水

線基準標

量處理機m度

超標量n度超

流水線(m,n)度

超標量

超流水機器類型機器流水

線周期同時發(fā)射

指令條數(shù)指令發(fā)射

等待時間指令級并

行度ILP1個時

鐘周期1條1個時

鐘周期11m1m1/n11/nn1/nm1/nmn超標量、超流水、超標量超流水處理機的主要性能第五十五頁,共九十九頁,編輯于2023年,星期五5.3.1基本結(jié)構(gòu)一般流水線處理機:

一條指令流水線,

一個多功能操作部件,每個時鐘周期平均執(zhí)行指令的條數(shù)小于1。多操作部件處理機:

一條指令流水線,

多個獨立的操作部件,操作部件可以采用流水線,也可以不流水。多操作部件處理機的指令級并行度小于1。第五十六頁,共九十九頁,編輯于2023年,星期五超標量處理機典型結(jié)構(gòu):

多條指令流水線

先進的超標量處理機有:定點處理部件CPU,浮點處理部件FPU,圖形加速部件GPU

大量的通用寄存器,兩個一級高速Cache

超標量處理機的指令級并行度大于1第五十七頁,共九十九頁,編輯于2023年,星期五Motorola公司的MC88110:

10個操作部件

兩個寄存器堆:整數(shù)部件通用寄存器堆,32個32位寄存器;浮點部件擴展寄存器堆,32個80位寄存器。每個寄存器堆有8個端口,分別與8條內(nèi)部總線相連接,有一個緩沖深度為4的先行讀數(shù)棧和一個緩沖深度為3的后行寫數(shù)棧。

兩個獨立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式,

轉(zhuǎn)移目標指令Cache,在有兩路分支時,存放其中一路分支上的指令第五十八頁,共九十九頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第19講)

第五十九頁,共九十九頁,編輯于2023年,星期五Motorola公司的MC88110:

10個操作部件

兩個寄存器堆:整數(shù)部件通用寄存器堆,32個32位寄存器;浮點部件擴展寄存器堆,32個80位寄存器。每個寄存器堆有8個端口,分別與8條內(nèi)部總線相連接,有一個緩沖深度為4的先行讀數(shù)棧和一個緩沖深度為3的后行寫數(shù)棧。

兩個獨立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式,

轉(zhuǎn)移目標指令Cache,在有兩路分支時,存放其中一路分支上的指令第六十頁,共九十九頁,編輯于2023年,星期五整數(shù)

部件整數(shù)

部件位

操作浮點加乘法

部件除法

部件圖形

部件圖形

部件內(nèi)部總線讀數(shù)存

數(shù)部件通用寄

存器堆擴展寄

存器堆目標

指令指令分配

轉(zhuǎn)移部件數(shù)據(jù)Cache(8KB)指令Cache(8KB)系統(tǒng)總線32位地址總線32位數(shù)據(jù)總線超標量處理機MC88110的結(jié)構(gòu)第六十一頁,共九十九頁,編輯于2023年,星期五5.3.2單發(fā)射與多發(fā)射單發(fā)射處理機:

每個周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個運算結(jié)果

取指部件和譯碼部件各設(shè)置一套

可以只設(shè)置一個多功能操作部件,也可以設(shè)置多個獨立的操作部件

操作部件中可以采用流水線結(jié)構(gòu),也可以不采用流水線結(jié)構(gòu)

設(shè)計目標是每個時鐘周期平均執(zhí)行一條指令,ILP的期望值1第六十二頁,共九十九頁,編輯于2023年,星期五IF時鐘

周期指令I(lǐng)1I2I3IDEXWRIFIDEXWRIFIDEXWR123456單發(fā)射處理機的指令流水線時空圖第六十三頁,共九十九頁,編輯于2023年,星期五IFIDFA1FA2FA3MD1MD2MD3ALLS浮點加法部件乘除法部件定點ALU部件取數(shù)存數(shù)部件WR來自指

令Cache通用寄存器后行寫數(shù)棧第六十四頁,共九十九頁,編輯于2023年,星期五多發(fā)射處理機:

每個周期同時取多條指令、同時譯碼多條指令,同時執(zhí)行多條指令,同時寫回多個運算結(jié)果

需要多個取指令部件,多個指令譯碼部件和多個寫結(jié)果部件

設(shè)置多個指令執(zhí)行部件,復(fù)雜的指令執(zhí)行部件一般采用流水線結(jié)構(gòu)

設(shè)計目標是每個時鐘周期平均執(zhí)行多條指令,ILP的期望值大于1第六十五頁,共九十九頁,編輯于2023年,星期五IF時鐘

周期指令I(lǐng)1I2I3IDEXWR123456多發(fā)射處理機的指令流水線時空圖I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWR第六十六頁,共九十九頁,編輯于2023年,星期五IFIDFA1FA2FA3MD1MD2MD3ALLS浮點加法部件乘除法部件定點ALU部件取數(shù)存數(shù)部件WRIFIDWR第六十七頁,共九十九頁,編輯于2023年,星期五超標量處理機:

一個時鐘周期內(nèi)能夠同時發(fā)射多條指令的處理機稱為超標量處理機

必須有兩條或兩條以上能夠同時工作的指令流水線先行指令窗口:

能夠從指令Cache中預(yù)取多條指令

能夠?qū)Υ翱趦?nèi)的指令進行數(shù)據(jù)相關(guān)性分析和功能部件沖突的檢測

窗口的大小:一般為2至8條指令

采用目前的指令調(diào)度技術(shù),每個周期發(fā)射2至4條指令比較合理第六十八頁,共九十九頁,編輯于2023年,星期五例如:

Intel公司的i860、i960、Pentium處理機,Motolora公司的MC88110處理機,IBM公司的Power6000處理機等每個周期都發(fā)射兩條指令

TI公司生產(chǎn)的SuperSPARC處理機以及Intel的PentiumIII處理機等每個周期發(fā)射三條指令

操作部件的個數(shù)多于每個周期發(fā)射的指令條數(shù)。4個至16個操作部件

超標量處理機的指令級并行度:1<ILP<m;m為每個周期發(fā)射的指令條數(shù)。第六十九頁,共九十九頁,編輯于2023年,星期五IFIDFA1FA2FA3MD1MD2MD3ALLS浮點加法部件乘除法部件定點ALU部件取數(shù)存數(shù)部件WRIFIDWRIFID先行指

令窗口第七十頁,共九十九頁,編輯于2023年,星期五第五章標量處理機5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標量處理機5.4超流水線處理機5.5超標量超流水線處理機第七十一頁,共九十九頁,編輯于2023年,星期五5.4超流水線處理機兩種定義:

一個周期內(nèi)能夠分時發(fā)射多條指令的處理機稱為超流水線處理機

指令流水線有8個或更多功能段的流水線處理機稱為超流水線處理機提高處理機性能的不同方法:

超標量處理機是通過增加硬件資源為代價來換取處理機性能的

超流水線處理機則通過各硬件部件充分重疊工作來提高處理機性能第七十二頁,共九十九頁,編輯于2023年,星期五兩種不同并行性:

超標量處理機采用的是空間并行性

超流水線處理機采用的是時間并行性第七十三頁,共九十九頁,編輯于2023年,星期五5.4.1指令執(zhí)行時序每隔1/n個時鐘周期發(fā)射一條指令,流水線周期為1/n個時鐘周期在超標量處理機中,流水線的有些功能段還可以進一步細分例如:ID功能段可以再細分為譯碼、讀第一操作數(shù)和讀第二操作數(shù)三個流水段。也有些功能段不能再細分,如WR功能段一般不再細分。因此有超流水線的另外一種定義:有8個或8個以上流水段的處理機稱為超流水線處理機第七十四頁,共九十九頁,編輯于2023年,星期五IF時鐘

周期指令I(lǐng)1I2I3IDEXWR123456每個時鐘周期分時發(fā)送3條指令的超流水線I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWR第七十五頁,共九十九頁,編輯于2023年,星期五5.4.2典型處理機結(jié)構(gòu)MIPSR4000處理機每個時鐘周期包含兩個流水段,是一種很標準的超流水線處理機結(jié)構(gòu)。指令流水線有8個流水段有兩個Cache,指令Cache和數(shù)據(jù)Cache的容量各8KB,每個時鐘周期可以訪問Cache兩次,因此在一個時鐘周期內(nèi)可以從指令Cache中讀出兩條指令,從數(shù)據(jù)Cache中讀出或?qū)懭雰蓚€數(shù)據(jù)。主要運算部件有整數(shù)部件和浮點部件第七十六頁,共九十九頁,編輯于2023年,星期五第七十七頁,共九十九頁,編輯于2023年,星期五指令CacheMIPSR4000處理機的流水線操作IF:取第一條指令 IS:取第二條指令

RF:讀寄存器堆,指令譯碼

EX:執(zhí)行指令 DF:取第一個數(shù)據(jù)

DS:取第二個數(shù)據(jù) TC:數(shù)據(jù)標志

校驗;WB:寫回結(jié)果指令

譯碼讀寄

存器堆ALU數(shù)據(jù)Cache標志檢驗寄存器堆IFISRFEXDFDSWBTC第七十八頁,共九十九頁,編輯于2023年,星期五IF流水線周期當前CPU周期ISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWB主時

周期MIPSR4000正常指令流水線工作時序第七十九頁,共九十九頁,編輯于2023年,星期五如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX流水級使用這個數(shù)據(jù),則指令流水線要暫停一個時鐘周期

采用順序發(fā)射方式第八十頁,共九十九頁,編輯于2023年,星期五暫停IFISRFEXDFDSTCWBMIPSR4000正常指令流水線工作時序ISRFEXDFDSTCWBRFEXDFDSTCWBEXDFDSTCWBEXDFDSTCWBDFDSTCWBIFISRFI1I2I3I4I5I6運行運行Load指令使用Load數(shù)據(jù)第八十一頁,共九十九頁,編輯于2023年,星期五5.4.3超流水線處理機性能指令級并行度為(1,n)的超流水線處理機,執(zhí)行N條指令所的時間為:超流水線處理機相對于單流水線普通標量處理機的加速比為:第八十二頁,共九十九頁,編輯于2023年,星期五即:

超流水線處理機的加速比的最大值為:S(1,n)MAX=n第八十三頁,共九十九頁,編輯于2023年,星期五第五章標量處理機5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標量處理機5.4超流水線處理機5.5超標量超流水線處理機第八十四頁,共九十九頁,編輯于2023年,星期五5.5超標量超流水線處理機

把超標量與超流水線技術(shù)結(jié)合在一起,就成為超標量超流水線處理機

5.5.1指令執(zhí)行時序5.5.2典型處理機結(jié)構(gòu)5.5.3超標量超流水線處理機性能5.5.4三種指令級并行性處理機性能比較第八十五頁,共九十九頁,編輯于2023年,星期五5.5.1指令執(zhí)行時序

超標量超流水線處理機在一個時鐘周期內(nèi)分時發(fā)射指令n次,每次同時發(fā)射指令m條,每個時鐘周期總共發(fā)射指令mn條。第八十六頁,共九十九頁,編輯于2023年,星期五IF時鐘周期指令I(lǐng)1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每時鐘周期發(fā)射3次,每次3條指令第八十七頁,共九十九頁,編輯于2023年,星期五5.5.2典型處理機結(jié)構(gòu)DEC公司的Alpha處理機采用超標量超流水線結(jié)構(gòu)。主要由四個功能部件和兩個Cache組成:整數(shù)部件EBOX、浮點部件FBOX、地址部件ABOX和中央控制部件IBOX。中央控制部件IBOX可以同時從指令Cache中讀入兩條指令,同時對讀入的兩條指令進行譯碼,并且對這兩條指令作資源沖突檢測,進行數(shù)據(jù)相關(guān)性和控制相關(guān)性分析。如果資源和相第八十八頁,共九十九頁,編輯于2023年,星期五 關(guān)性允許,IBOX就把兩條指令同時發(fā)射給EBOX、ABOX和FBOX三個指令執(zhí)行部件中的兩個。指令流水線采用順序發(fā)射亂序完成的控制方式。在指令Cache中有一個轉(zhuǎn)移

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論