計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第15講.ppt_第1頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第15講.ppt_第2頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第15講.ppt_第3頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第15講.ppt_第4頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第15講.ppt_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) (第15講),計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),第一章 基本概念 第二章 指令系統(tǒng) 第三章 存儲系統(tǒng) 第四章 輸入輸出系統(tǒng) 第五章 標(biāo)量處理機(jī),第六章 向量處理機(jī) 第七章 互連網(wǎng)絡(luò) 第八章 并行處理機(jī)和 多處理機(jī),第五章 標(biāo)量處理機(jī),5.1 指令的重疊執(zhí)行方式 5.2 流水線技術(shù) 5.3 超標(biāo)量處理機(jī) 5.4 超流水線處理機(jī) 5.5 超標(biāo)量超流水線處理機(jī),只有標(biāo)量數(shù)據(jù)表示和標(biāo)量指令系統(tǒng)的處理機(jī)稱為標(biāo)量處理機(jī) 提高指令執(zhí)行速度的主要途徑: (1) 提高處理機(jī)的工作主頻 (2) 采用更好的算法和設(shè)計(jì)更好的功能部件 (3) 采用指令級并行技術(shù) 三種指令級并行處理機(jī): (1) 流水線處理機(jī)和超流水線(Super- pipelining)處理機(jī) (2) 超標(biāo)量(Superscalar)處理機(jī) (3) 超長指令字(VLIW: Very Long Instruction Word)處理機(jī),5.1 指令的重疊執(zhí)行方式 1、順序執(zhí)行方式 執(zhí)行n條指令所用的時(shí)間為: 如果每段時(shí)間都為t,則執(zhí)行n條指令所用的時(shí)間為: T=3nt,取指令k,分析k,執(zhí)行k,取指令k+1,分析k+1,執(zhí)行k+1,主要優(yōu)點(diǎn): 控制簡單,節(jié)省設(shè)備。 主要缺點(diǎn): 執(zhí)行指令的速度慢,功能部件的利用率很低。 2、一次重疊執(zhí)行方式 一種最簡單的流水線方式 如果兩個(gè)過程的時(shí)間相等,則執(zhí)行n條指令的時(shí)間為:T=(1+2n)t,取指,分析,執(zhí)行,取指,分析,執(zhí)行,取指,分析,執(zhí)行,主要優(yōu)點(diǎn): 指令的執(zhí)行時(shí)間縮短 功能部件的利用率明顯提高 主要缺點(diǎn): 需要增加一些硬件 控制過程稍復(fù)雜,3、二次重疊執(zhí)行方式 如果三過程的時(shí)間相等,執(zhí)行n條指令的時(shí)間為:T=(2+n)t 理想情況下同時(shí)有三條指令在執(zhí)行 處理機(jī)的結(jié)構(gòu)要作比較大的改變,必須采用先行控制方式,取指k+2,分析k+2,執(zhí)行k+2,取指k+1,分析k+1,執(zhí)行k+1,取指k,分析k,執(zhí)行k,先行控制方式的原理 1、采用二次重疊執(zhí)行方式,必須解決兩個(gè)問題: (1) 有獨(dú)立的取指令部件、指令分析部件 和指令執(zhí)行部件 獨(dú)立的控制器: 存儲控制器、指令控制器、運(yùn)算控制器 (2) 要解決訪問主存儲器的沖突問題 取指令、分析指令、執(zhí)行指令都可能要訪問存儲器 2、解決訪存沖突的方法: (1) 采用低位交叉存取方式: 這種方法不能根本解決沖突問題。 取指令、讀操作數(shù)、寫結(jié)果。,(2) 兩個(gè)獨(dú)立的存儲器:獨(dú)立的指令存儲器和數(shù)據(jù)存儲器。 如果再規(guī)定,執(zhí)行指令所需要的操作數(shù)和執(zhí)行結(jié)果只寫到通用寄存器,那么,取指令、分析指令和執(zhí)行指令就可以同時(shí)進(jìn)行。 在許多高性能處理機(jī)中,有獨(dú)立的指令Cache和數(shù)據(jù)Cache。 這種結(jié)構(gòu)被稱為哈佛結(jié)構(gòu)。 (3) 采用先行控制技術(shù)。 先行控制技術(shù)的關(guān)鍵是緩沖技術(shù)和預(yù)處理技術(shù)。 緩沖技術(shù)是在工作速度不固定的兩個(gè)功能部件之間設(shè)置緩沖棧,用以平滑它們的工作。 在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,運(yùn)算器能夠?qū)P挠跀?shù)據(jù)的運(yùn)算,從而大幅度提高程序的執(zhí)行速度。,(2) 兩個(gè)獨(dú)立的存儲器:獨(dú)立的指令存儲器和數(shù)據(jù)存儲器。 如果再規(guī)定,執(zhí)行指令所需要的操作數(shù)和執(zhí)行結(jié)果只寫到通用寄存器,那么,取指令、分析指令和執(zhí)行指令就可以同時(shí)進(jìn)行。 在許多高性能處理機(jī)中,有獨(dú)立的指令Cache和數(shù)據(jù)Cache。 這種結(jié)構(gòu)被稱為哈佛結(jié)構(gòu)。 (3) 采用先行控制技術(shù)。 先行控制技術(shù)的關(guān)鍵是緩沖技術(shù)和預(yù)處理技術(shù)。 緩沖技術(shù)是在工作速度不固定的兩個(gè)功能部件之間設(shè)置緩沖棧,用以平滑它們的工作。 在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,運(yùn)算器能夠?qū)P挠跀?shù)據(jù)的運(yùn)算,從而大幅度提高程序的執(zhí)行速度。,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) (第16講),第五章 標(biāo)量處理機(jī),5.1 先行控制技術(shù) 5.2 流水線技術(shù) 5.3 超標(biāo)量處理機(jī) 5.4 超流水線處理機(jī) 5.5 超標(biāo)量超流水線處理機(jī),5.2 流水線技術(shù) 5.2.1 流水線工作原理 5.2.2 流水線的分類 5.2.3 線性流水線的性能分析 5.2.4 非線性流水線的調(diào)度技術(shù),5.2 流水線技術(shù) 空間并行性: 設(shè)置多個(gè)獨(dú)立的操作部件 多操作部件處理機(jī) 超標(biāo)量處理機(jī) 時(shí)間并行性: 采用流水線技術(shù)。 不增加或只增加少量硬件就能使運(yùn)算速度提高幾倍 流水線處理機(jī) 超流水線處理機(jī),5.2.1 流水線工作原理 1、簡單流水線 流水線的每一個(gè)階段稱為流水步、流水步驟、流水段、流水線階段、流水功能段、功能段、流水級、流水節(jié)拍等。,分析器 分析k+1,流水 鎖存器,執(zhí)行部件 執(zhí)行k,流水 鎖存器,輸 入,輸 出,t1,t2,在每一個(gè)流水段的末尾或開頭必須設(shè)置一個(gè)寄存器,稱為流水寄存器、流水鎖存器、流水閘門寄存器等。會增加指令的執(zhí)行時(shí)間。 為了簡化,在一般流水線中不畫出流水鎖存器。 2、一種指令流水線,取指,形成操 作數(shù)地址,譯碼,取操 作數(shù),執(zhí)行,保存 結(jié)果,一般4至12個(gè)流水段,等于及大于8個(gè)流水段的稱為超流水線處理機(jī) 3、流水線的時(shí)空圖 一條簡單流水線的時(shí)空圖:,分析k,分析k+1,分析k+2,分析k+3,執(zhí)行k,執(zhí)行k+1,執(zhí)行k+2,執(zhí)行k+3,時(shí)間,空間,0,t1,t2,t3,t4,t5,一個(gè)浮點(diǎn)加法器流水線的時(shí)空圖(由求階差、對階、尾數(shù)加和規(guī)格化4個(gè)流水段組成):,ED1,時(shí)間,空間,0,t1,t2,t3,t4,t5,ED2,ED3,ED4,ED5,EA1,EA2,EA3,EA4,EA5,MA1,MA2,MA3,MA4,MA5,NL1,NL2,NL3,NL4,NL5,t6,t7,t8,NL:規(guī)格化,MA:尾數(shù)加,EA:對階,ED:求階差,4、流水線的主要特點(diǎn) 只有連續(xù)提供同類任務(wù)才能充分發(fā)揮流水線的效率: 對于指令流水線:要盡量減少因條件分支造成的“斷流” 對于操作部件:主要通過編譯技術(shù),盡量提供連續(xù)的同類操作 在流水線的每一個(gè)流水線段中都要設(shè)置一個(gè)流水鎖存器 時(shí)間開銷:流水線的執(zhí)行時(shí)間加長 是流水線中需要增加的主要硬件之一,各流水段的時(shí)間應(yīng)盡量相等 流水線處理機(jī)的基本時(shí)鐘周期等于時(shí)間最長的流水段的時(shí)間長度 流水線需要有“裝入時(shí)間”和“排空時(shí)間”,5.2.2 流水線的分類 1、線性流水線與非線性流水線 流水線的各個(gè)流水段之間是否有反饋信號 線性流水線(Linear Pipelining) 每個(gè)流水段都流過一次,且僅流過一次 非線性流水線(Nonlinear Pipelining) 在流水線的某些流水段之間有反饋回路或前饋回路 線性流水線能夠用流水線連接圖唯一表示 非線性流水線必須用流水線連接圖流水線預(yù)約表等共同表示,S1,輸入,S2,S3,輸出,前饋回路,反饋回路,一種簡單的非線性流水線,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) (第17講),2、按照流水線的級別來分 處理機(jī)級流水線, 又稱為指令流水線 (Instruction Pipelining) 例如:在采用先行控制器的處理機(jī)中,各功能部件之間的流水線,先行指令 緩沖棧,輸入,先行控制方式 中的指令流水線,先行指令 分析器,先行讀數(shù)棧 先行操作棧,取指,譯碼,取操作數(shù),指令執(zhí) 行部件,后行 寫數(shù)棧,輸出,執(zhí)行,寫結(jié)果,部件級流水線(操作流水線),如浮點(diǎn)加法器流水線 處理機(jī)之間的流水線稱為宏流水線 (Macro Pipelining) 每個(gè)處理機(jī)對同一個(gè)數(shù)據(jù)流的不同部分分別進(jìn)行處理,求階差,輸入,輸出,t1,對階,尾數(shù)加,規(guī)格化,t2,t3,t4,P1,輸 入,任務(wù)1,M,M,P2,任務(wù)2,M,P3,任務(wù)3,輸 出,3、單功能流水線與多功能流水線 單功能流水線: 只能完成一種固定功能的流水線 Cray-1計(jì)算機(jī)中有12條;YH-1計(jì)算機(jī)有18條;Pentium有一條5段的定點(diǎn)和一條8段的浮點(diǎn)流水線;Pentium有三條指令流水線,其中兩條定點(diǎn)指令流水線,一條浮點(diǎn)指令流水線。,多功能流水線: 流水線的各段通過不同連接實(shí)現(xiàn)不同功能 Texas公司的ASC計(jì)算機(jī)中的8段流水線,能夠?qū)崿F(xiàn):定點(diǎn)加減法、定點(diǎn)乘法、浮點(diǎn)加法、浮點(diǎn)乘法、邏輯運(yùn)算、移位操作、數(shù)據(jù)轉(zhuǎn)換、向量運(yùn)算等。,4、靜態(tài)流水線與動態(tài)流水線 靜態(tài)流水線: 同一段時(shí)間內(nèi),多功能流水線中的各個(gè)功能段只能按照一種固定的方式連接,實(shí)現(xiàn)一種固定的功能。 只有連續(xù)出現(xiàn)同一種運(yùn)算時(shí),流水線的效率才能得到充分的發(fā)揮。 動態(tài)流水線: 在同一段時(shí)間內(nèi),多功能流水線中的各段可以按照不同的方式連接,同時(shí)執(zhí)行多種功能。,1,時(shí)間,空間,0,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,4,1,2,3,1,2,1,輸入,求階差,對階,尾數(shù)加,規(guī)格化,尾數(shù)乘,累加,輸出,靜態(tài)流水線時(shí)空圖,浮點(diǎn)加法,定點(diǎn)乘法,1,時(shí)間,空間,0,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,輸入,求階差,對階,尾數(shù)加,規(guī)格化,尾數(shù)乘,累加,輸出,動態(tài)流水線時(shí)空圖,1,2,3,5,4,6,1,2,3,5,4,1,2,3,4,1,2,3,浮點(diǎn)加法,定點(diǎn)乘法,5、流水線的其他分類方法 按照數(shù)據(jù)表示方式: 標(biāo)量流水線和向量流水線 按照控制方式:同步流水線和異步流水線 順序流水線與亂序流水線: 亂序流水線又稱為無序流水線、錯(cuò)序流水線或異步流水線等,S1,就緒,回答,S2,就緒,回答,S3,就緒,回答,輸出,就緒,回答,輸入,5.2.3 線性流水線的性能分析 衡量流水線性能的主要指標(biāo)有: 吞吐率、加速比和效率 1、吞吐率(Though Put) 求流水線吞吐率的最基本公式:TP = n / Tk n為任務(wù)數(shù), Tk為完成n個(gè)任務(wù)所用時(shí)間 各段執(zhí)行時(shí)間相等,輸入連續(xù)任務(wù)情況下完成n個(gè)連續(xù)任務(wù)需要的總時(shí)間為: Tk= (k+n-1) t k為流水線的段數(shù), t為時(shí)鐘周期,1,時(shí)間,空間,S1,2,3,n-1,n,S2,S3,S4,1,2,3,n-1,n,1,2,3,n-1,n,1,2,3,n-1,n,kt,(n-1) t,nt,(k-1)t,T,吞吐率: 最大吞吐率為: 各段執(zhí)行時(shí)間不相等、輸入連續(xù)任務(wù)情況下: 吞吐率為: 最大吞吐率為:,流水線各段執(zhí)行時(shí)間不相等的解決辦法,S1,輸 入,t1=t,S2,t2=3t,S3,t3=t,S4,t4=t,輸 出,1,時(shí)間,空間,S1,S2,S3,S4,ti,(n-1)t2,Tk,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,一是將“瓶頸”流水段細(xì)分(如果可分的話): 二是將 “瓶頸”流水段重復(fù)設(shè)置:,S1,輸入,輸出,t,S2-1,t,S2-2,t,S2-3,t,S3,t,S4,t,S2(3t),S1,輸入,輸出,t1=t,S2-1,S2-1,S2-1,S3,S4,t3=t,t4=t,t2=3t,1,時(shí)間,空間,2,3,n,S1,流水段重復(fù)設(shè)置的流水線,S2-1,4,5,6,1,4,-2,-1,n-2,2,5,n-1,3,6,n,1,2,3,n,4,5,6,-2,-1,1,2,3,n,4,5,6,-2,-1,S2-2,S2-3,S3,S4,2、加速比(Speedup) 計(jì)算流水線加速比的基本公式: S = 順序執(zhí)行時(shí)間T0 / 流水線執(zhí)行時(shí)間Tk 各段執(zhí)行時(shí)間相等,輸入連續(xù)任務(wù)情況下 加速比為: 最大加速比為: 各段執(zhí)行時(shí)間不等,輸入連續(xù)任務(wù)情況下實(shí)際加速比為:,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) (第18講),5.2.3 線性流水線的性能分析 衡量流水線性能的主要指標(biāo)有: 吞吐率、加速比和效率 1、吞吐率(Though Put) 求流水線吞吐率的最基本公式:TP = n / Tk n為任務(wù)數(shù), Tk為完成n個(gè)任務(wù)所用時(shí)間 各段執(zhí)行時(shí)間相等,輸入連續(xù)任務(wù)情況下完成n個(gè)連續(xù)任務(wù)需要的總時(shí)間為: Tk= (k+n-1) t k為流水線的段數(shù), t為時(shí)鐘周期,1,時(shí)間,空間,S1,2,3,n-1,n,S2,S3,S4,1,2,3,n-1,n,1,2,3,n-1,n,1,2,3,n-1,n,kt,(n-1) t,nt,(k-1)t,T,吞吐率: 最大吞吐率為: 各段執(zhí)行時(shí)間不相等、輸入連續(xù)任務(wù)情況下: 吞吐率為: 最大吞吐率為:,2、加速比(Speedup) 計(jì)算流水線加速比的基本公式: S = 順序執(zhí)行時(shí)間T0 / 流水線執(zhí)行時(shí)間Tk 各段執(zhí)行時(shí)間相等,輸入連續(xù)任務(wù)情況下 加速比為: 最大加速比為: 各段執(zhí)行時(shí)間不等,輸入連續(xù)任務(wù)情況下實(shí)際加速比為:,K=6,K=10,任務(wù) 個(gè)數(shù),加速比,10,2,4,6,8,1,1,2,4,8,16,32,64,128,3、效率(Efficiency) 計(jì)算流水線效率的一般公式: 各流水段執(zhí)行時(shí)間相等,輸入n個(gè)連續(xù)任務(wù) 流水線的效率為: 流水線的最高效率為: 各流水段執(zhí)行時(shí)間不等,輸入n個(gè)連續(xù)任務(wù) 流水線的效率為:,流水線各段的設(shè)備量或各段的價(jià)格不相等時(shí): 流水線的效率為: 即: 其中,ai k,且,流水線的吞吐率、加速比與效率的關(guān)系: 因?yàn)?因此:E=TP t ,S=kE 5、流水線性能分析舉例 對于單功能線性流水線,輸入連續(xù)任務(wù)的情況,通過上面給出的公式很容易計(jì)算出流水線的吞吐率、加速比和效率。 例5.2:用一條4段浮點(diǎn)加法器流水線求8個(gè)浮點(diǎn)數(shù)的和: ZABCDEFGH,解: Z = (A+B) + (C+D) + (E+F) + (G+H),1,時(shí)間,空間,2,3,求階差,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,對階,尾數(shù)加,規(guī)格化,加數(shù),A,C,E,G,A+B,E+F,B,D,F,H,C+D,G+H,A+B+C+D,E+F+G+H,結(jié)果,A+B,C+D,E+F,G+H,A+B+C+D,E+F+G+H,7個(gè)浮點(diǎn)加法共用了15個(gè)時(shí)鐘周期。 流水線的吞吐率為: 流水線的加速比為: 流水線的效率為:,第五章 標(biāo)量處理機(jī),5.1 先行控制技術(shù) 5.2 流水線技術(shù) 5.3 超標(biāo)量處理機(jī) 5.4 超流水線處理機(jī) 5.5 超標(biāo)量超流水線處理機(jī),5.3 超標(biāo)量處理機(jī) 5.3.1 基本結(jié)構(gòu) 5.3.2 單發(fā)射與多發(fā)射,超標(biāo)量處理機(jī): Intel公司的i860, i960, Pentium處理機(jī)Motolora公司的MC88110 IBM公司的Power 6000 SUN公司的SuperSPARC等。 超流水線處理機(jī): SGI公司的MIPS R4000, R5000, R10000等。 超標(biāo)量超流水線處理機(jī): DEC公司的Alpha等。,k段流水 線基準(zhǔn)標(biāo) 量處理機(jī),m度 超標(biāo)量,n度超 流水線,(m,n)度 超標(biāo)量 超流水,機(jī)器類型,機(jī)器流水 線周期,同時(shí)發(fā)射 指令條數(shù),指令發(fā)射 等待時(shí)間,指令級并 行度ILP,1個(gè)時(shí) 鐘周期,1條,1個(gè)時(shí) 鐘周期,1,1,m,1,m,1/n,1,1/n,n,1/n,m,1/n,mn,超標(biāo)量、超流水、超標(biāo)量超流水處理機(jī)的主要性能,5.3.1 基本結(jié)構(gòu) 一般流水線處理機(jī): 一條指令流水線, 一個(gè)多功能操作部件,每個(gè)時(shí)鐘周期平均執(zhí)行指令的條數(shù)小于1。 多操作部件處理機(jī): 一條指令流水線, 多個(gè)獨(dú)立的操作部件,操作部件可以采用流水線,也可以不流水。多操作部件處理機(jī)的指令級并行度小于1。,超標(biāo)量處理機(jī)典型結(jié)構(gòu): 多條指令流水線 先進(jìn)的超標(biāo)量處理機(jī)有:定點(diǎn)處理部件CPU,浮點(diǎn)處理部件FPU,圖形加速部件GPU 大量的通用寄存器,兩個(gè)一級高速Cache 超標(biāo)量處理機(jī)的指令級并行度大于1,Motorola公司的MC88110: 10個(gè)操作部件 兩個(gè)寄存器堆:整數(shù)部件通用寄存器堆,32個(gè)32位寄存器;浮點(diǎn)部件擴(kuò)展寄存器堆,32個(gè)80位寄存器。每個(gè)寄存器堆有8個(gè)端口,分別與8條內(nèi)部總線相連接,有一個(gè)緩沖深度為4的先行讀數(shù)棧和一個(gè)緩沖深度為3的后行寫數(shù)棧。 兩個(gè)獨(dú)立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式, 轉(zhuǎn)移目標(biāo)指令Cache,在有兩路分支時(shí),存放其中一路分支上的指令,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) (第19講),Motorola公司的MC88110: 10個(gè)操作部件 兩個(gè)寄存器堆:整數(shù)部件通用寄存器堆,32個(gè)32位寄存器;浮點(diǎn)部件擴(kuò)展寄存器堆,32個(gè)80位寄存器。每個(gè)寄存器堆有8個(gè)端口,分別與8條內(nèi)部總線相連接,有一個(gè)緩沖深度為4的先行讀數(shù)棧和一個(gè)緩沖深度為3的后行寫數(shù)棧。 兩個(gè)獨(dú)立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式, 轉(zhuǎn)移目標(biāo)指令Cache,在有兩路分支時(shí),存放其中一路分支上的指令,整數(shù) 部件,整數(shù) 部件,位 操作,浮點(diǎn) 加,乘法 部件,除法 部件,圖形 部件,圖形 部件,內(nèi)部總線,讀數(shù)存 數(shù)部件,通用寄 存器堆,擴(kuò)展寄 存器堆,目標(biāo) 指令,指令分配 轉(zhuǎn)移部件,數(shù)據(jù)Cache (8KB),指令Cache (8KB),系統(tǒng)總線,32位地址總線,32位數(shù)據(jù)總線,超標(biāo)量處理機(jī)MC88110的結(jié)構(gòu),5.3.2 單發(fā)射與多發(fā)射 單發(fā)射處理機(jī): 每個(gè)周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個(gè)運(yùn)算結(jié)果 取指部件和譯碼部件各設(shè)置一套 可以只設(shè)置一個(gè)多功能操作部件,也可以設(shè)置多個(gè)獨(dú)立的操作部件 操作部件中可以采用流水線結(jié)構(gòu),也可以不采用流水線結(jié)構(gòu) 設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行一條指令,ILP的期望值1,IF,時(shí)鐘 周期,指令,I1,I2,I3,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,1,2,3,4,5,6,單發(fā)射處理機(jī)的指令流水線時(shí)空圖,IF,ID,FA1,FA2,FA3,MD1,MD2,MD3,AL,LS,浮點(diǎn)加法部件,乘除法部件,定點(diǎn)ALU部件,取數(shù)存數(shù)部件,WR,來自指 令Cache,通用寄存器 后行寫數(shù)棧,多發(fā)射處理機(jī): 每個(gè)周期同時(shí)取多條指令、同時(shí)譯碼多條指令,同時(shí)執(zhí)行多條指令,同時(shí)寫回多個(gè)運(yùn)算結(jié)果 需要多個(gè)取指令部件,多個(gè)指令譯碼部件和多個(gè)寫結(jié)果部件 設(shè)置多個(gè)指令執(zhí)行部件,復(fù)雜的指令執(zhí)行部件一般采用流水線結(jié)構(gòu) 設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行多條指令,ILP的期望值大于1,IF,時(shí)鐘 周期,指令,I1,I2,I3,ID,EX,WR,1,2,3,4,5,6,多發(fā)射處理機(jī)的指令流水線時(shí)空圖,I4,I5,I6,IF,ID,EX,WR,I7,I8,I9,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,FA1,FA2,FA3,MD1,MD2,MD3,AL,LS,浮點(diǎn)加法部件,乘除法部件,定點(diǎn)ALU部件,取數(shù)存數(shù)部件,WR,IF,ID,WR,超標(biāo)量處理機(jī): 一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)稱為超標(biāo)量處理機(jī) 必須有兩條或兩條以上能夠同時(shí)工作的指令流水線 先行指令窗口: 能夠從指令Cache中預(yù)取多條指令 能夠?qū)Υ翱趦?nèi)的指令進(jìn)行數(shù)據(jù)相關(guān)性分析和功能部件沖突的檢測 窗口的大?。阂话銥?至8條指令 采用目前的指令調(diào)度技術(shù),每個(gè)周期發(fā)射2至4條指令比較合理,例如: Intel公司的i860、i960、Pentium處理機(jī),Motolora公司的MC88110處理機(jī),IBM公司的Power 6000處理機(jī)等每個(gè)周期都發(fā)射兩條指令 TI公司生產(chǎn)的SuperSPARC處理機(jī)以及Intel的Pentium III處理機(jī)等每個(gè)周期發(fā)射三條指令 操作部件的個(gè)數(shù)多于每個(gè)周期發(fā)射的指令條數(shù)。4個(gè)至16個(gè)操作部件 超標(biāo)量處理機(jī)的指令級并行度:1ILPm;m為每個(gè)周期發(fā)射的指令條數(shù)。,IF,ID,FA1,FA2,FA3,MD1,MD2,MD3,AL,LS,浮點(diǎn)加法部件,乘除法部件,定點(diǎn)ALU部件,取數(shù)存數(shù)部件,WR,IF,ID,WR,IF,ID,先行指 令窗口,第五章 標(biāo)量處理機(jī),5.1 先行控制技術(shù) 5.2 流水線技術(shù) 5.3 超標(biāo)量處理機(jī) 5.4 超流水線處理機(jī) 5.5 超標(biāo)量超流水線處理機(jī),5.4 超流水線處理機(jī) 兩種定義: 一個(gè)周期內(nèi)能夠分時(shí)發(fā)射多條指令的處理機(jī)稱為超流水線處理機(jī) 指令流水線有8個(gè)或更多功能段的流水線處理機(jī)稱為超流水線處理機(jī) 提高處理機(jī)性能的不同方法: 超標(biāo)量處理機(jī)是通過增加硬件資源為代價(jià)來換取處理機(jī)性能的 超流水線處理機(jī)則通過各硬件部件充分重疊工作來提高處理機(jī)性能,兩種不同并行性: 超標(biāo)量處理機(jī)采用的是空間并行性 超流水線處理機(jī)采用的是時(shí)間并行性,5.4.1 指令執(zhí)行時(shí)序 每隔1/n個(gè)時(shí)鐘周期發(fā)射一條指令,流水線周期為1/n個(gè)時(shí)鐘周期 在超標(biāo)量處理機(jī)中,流水線的有些功能段還可以進(jìn)一步細(xì)分 例如:ID功能段可以再細(xì)分為譯碼、讀第一操作數(shù)和讀第二操作數(shù)三個(gè)流水段。也有些功能段不能再細(xì)分,如WR功能段一般不再細(xì)分。因此有超流水線的另外一種定義:有8個(gè)或8個(gè)以上流水段的處理機(jī)稱為超流水線處理機(jī),IF,時(shí)鐘 周期,指令,I1,I2,I3,ID,EX,WR,1,2,3,4,5,6,每個(gè)時(shí)鐘周期分時(shí)發(fā)送3條指令的超流水線,I4,I5,I6,IF,ID,EX,WR,I7,I8,I9,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,5.4.2 典型處理機(jī)結(jié)構(gòu) MIPS R4000處理機(jī)每個(gè)時(shí)鐘周期包含兩個(gè)流水段,是一種很標(biāo)準(zhǔn)的超流水線處理機(jī)結(jié)構(gòu)。指令流水線有8個(gè)流水段 有兩個(gè)Cache,指令Cache和數(shù)據(jù)Cache的容量各8KB,每個(gè)時(shí)鐘周期可以訪問Cache兩次,因此在一個(gè)時(shí)鐘周期內(nèi)可以從指令Cache中讀出兩條指令,從數(shù)據(jù)Cache中讀出或?qū)懭雰蓚€(gè)數(shù)據(jù)。 主要運(yùn)算部件有整數(shù)部件和浮點(diǎn)部件,指令 Cache,MIPS R4000處理機(jī)的流水線操作,IF:取第一條指令 IS:取第二條指令 RF:讀寄存器堆,指令譯碼 EX:執(zhí)行指令 DF:取第一個(gè)數(shù)據(jù) DS:取第二個(gè)數(shù)據(jù) TC:數(shù)據(jù)標(biāo)志 校驗(yàn);WB:寫回結(jié)果,指令 譯碼,讀寄 存器堆,ALU,數(shù)據(jù) Cache,標(biāo)志檢驗(yàn),寄存 器堆,IF,IS,RF,EX,DF,DS,WB,TC,IF,流水線周期,當(dāng)前CPU周期,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,IF,IS,RF,EX,DF,DS,TC,WB,主時(shí) 鐘 周期,MIPS R4000正常指令流水線工作時(shí)序,如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX流水級使用這個(gè)數(shù)據(jù),則指令流水線要暫停一個(gè)時(shí)鐘周期 采用順序發(fā)射方式,暫停,IF,IS,RF,EX,DF,DS,TC,WB,MIPS R4000正常指令流水線工作時(shí)序,IS,RF,EX,DF,DS,TC,WB,RF,EX,DF,DS,TC,WB,EX,DF,DS,TC,WB,EX,DF,DS,TC,WB,DF,DS,TC,WB,IF,IS,RF,I1,I2,I3,I4,I5,I6,運(yùn)行,運(yùn)行,Load指令,使用Load數(shù)據(jù),5.4.3 超流水線處理機(jī)性能 指令級并行度為(1,n)的超流水線處理機(jī),執(zhí)行N條指令所的時(shí)間為: 超流水線處理機(jī)相對于單流水線普通標(biāo)量處理機(jī)的加速比為:,即: 超流水線處理機(jī)的加速比的最大值為:S(1,n)MAX = n,第五章 標(biāo)量處理機(jī),5.1 先行控制技術(shù) 5.2 流水線技術(shù) 5.3 超標(biāo)量處理機(jī) 5.4 超流水線處理機(jī) 5.5 超標(biāo)量超流水線處理機(jī),5.5 超標(biāo)量超流水線處理機(jī) 把超標(biāo)量與超流水線技術(shù)結(jié)合在一起,就成為超標(biāo)量超流水線處理機(jī) 5.5.1 指令執(zhí)行時(shí)序 5.5.2 典型處理機(jī)結(jié)構(gòu) 5.5.3 超標(biāo)量超流水線處理機(jī)性能 5.5.4 三種指令級并行性處理機(jī)性能比較,5.5.1 指令執(zhí)行時(shí)序 超標(biāo)量超流水線處理機(jī)在一個(gè)時(shí)鐘周期內(nèi)分時(shí)發(fā)射指令n次,每次同時(shí)發(fā)射指令m條,每個(gè)時(shí)鐘周期總共發(fā)射指令m n條。,IF,時(shí)鐘周期,指令,I1,I2,I3,ID,EX,WR,1,2,3,4,5,I4,I5,I6,I7,I8,I9,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,IF,ID,EX,WR,I10,I11,I12,每時(shí)鐘周期發(fā)射3次,每次3條指令,5.5.2 典型處理機(jī)結(jié)構(gòu) DEC公司的Alpha處理機(jī)采用超標(biāo)量超流水線結(jié)構(gòu)。主要由四個(gè)功能部件和兩個(gè)Cache組成:整數(shù)部件EBOX、浮點(diǎn)部件FBOX、地址部件ABOX和中央控制部件IBOX。 中央控制部件IBOX可以同時(shí)從指令Cache中讀入兩條指令,同時(shí)對讀入的兩條指令進(jìn)行譯碼,并且對這兩條指令作資源沖突檢測,進(jìn)行數(shù)據(jù)相關(guān)性和控制相關(guān)性分析。如果資源和相,關(guān)性允許,IBOX就把兩條指令同時(shí)發(fā)射給EBOX、ABOX和FBOX三個(gè)指令執(zhí)行部件中的兩個(gè)。 指令流水線

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論