版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第五章 流水線處理技術(shù),5.1 流水處理概述,5.2 流水線工作方式,5.3 流水線性能分析,5.4 超標(biāo)量超流水計(jì)算機(jī),5.5 向量處理機(jī)器,5.1 流水線處理概述,一、CPU主要工作方式: 順序 重疊 流水 和鋪地板的原理相似,5.1 流水線處理概述,。,每階段時(shí)間為t,共n條指令,順序串行(sequence):,設(shè)指令工作方式分成取指令、分析、執(zhí)行指令,若各階段執(zhí)行時(shí)間相等,則共需3 n t,優(yōu)點(diǎn):控制簡單; 缺點(diǎn):速度慢,機(jī)器各部件的利用率很低。,重疊(Overlap):在兩條相近指令的解釋過程中,某些不同解釋階段在時(shí)間上存在重疊部分。 包括一次重疊、先行控制技術(shù)和多操作部件并行。,將
2、相鄰兩條指令的重疊時(shí)間再往前提前一個階段;T=3t+(n-1)t=(n+2)t 一次重疊:把取指令操作隱含在分析、執(zhí)行指令過程中,則在任何時(shí)候只允許上條指令“執(zhí)行”與下條指令“分析”相重疊。 T=(n+1)t,實(shí)際執(zhí)行時(shí)間:,若各段時(shí)間不等時(shí),有,先行控制:分析部件和執(zhí)行部件能分別連續(xù)不斷地分析和執(zhí)行指令,預(yù)取和緩沖相結(jié)合的技術(shù) ,通過對指令流和數(shù)據(jù)流的先行控制,使指令分析器和執(zhí)行部件能盡量連續(xù)并行工作。 執(zhí)行時(shí)間:,多操作部件并行:采用有多個功能部件的處理機(jī),把ALU的多種功能分散到幾個具有專門功能的部件中,這些功能部件可以并行工作,使指令流出速度大大提高。,先行控制: 現(xiàn)代計(jì)算機(jī)指令系統(tǒng)是
3、復(fù)雜的,“分析”和“執(zhí)行”所需要的時(shí)間往往相差很大,從而造成功能部件的浪費(fèi),因此,需要采用先行控制技術(shù)。,分析k 執(zhí)行k,分析k+1,執(zhí)行k+1,分析k+2,執(zhí)行k+2,分析k 分析k+1,執(zhí)行k,執(zhí)行k+1,分析k +2 分析k+3,執(zhí)行k +2,執(zhí)行k+3,分析指令和執(zhí)行指令時(shí)間不等時(shí)的一次重疊方式,采用先行緩沖棧時(shí)指令執(zhí)行過程的一種表示方法,功能部件浪費(fèi),先行控制: 一般采用先行緩沖棧的方式實(shí)現(xiàn): 一般設(shè)置四種緩沖棧: 先行指令緩沖棧當(dāng)主存比較忙時(shí),指令分析器能夠從先行指令緩沖棧中得到所需指令。 先行操作棧對于條件轉(zhuǎn)移等使用。 先行讀書棧主存儲器和運(yùn)算器之間的緩沖存儲器,用來平緩運(yùn)算器和
4、主存儲器之間的工作。 后行寫數(shù)棧 當(dāng)前沒有完全寫道主存的數(shù)據(jù)可以暫存到寫數(shù)棧,先行控制的處理機(jī)結(jié)構(gòu):,主 存 儲 器,存 儲 控 制 器,先行指令緩沖棧,先行讀數(shù)棧,后行寫書棧,指令分析器,運(yùn)算器,通 用 寄 存 器,先行控制中的緩沖深度設(shè)計(jì): 通過一種極端情況計(jì)算舉例: 假設(shè)先行指令緩沖棧已經(jīng)完全充滿,緩沖深度是D1。 此時(shí)指令緩沖棧輸出端,指令流出速度最快,而輸入端,流入最慢 假設(shè)指令序列的最大長度是L1,平均分析一條指令的時(shí)間是t1 而此時(shí)更壞的是取指令很慢,平均取一條指令的時(shí)間是t2 假設(shè)先行控制棧充滿到被取空的過程中指令分析條數(shù)是L1 則此時(shí)有: L1t1 = (L1-D1)t2 可
5、以計(jì)算深度:,1、流水的概念特點(diǎn),流水:把一個重復(fù)時(shí)序過程分成若干個子過程,每個子過程 都可有效的在其專用功能段上和其它子過程同時(shí)執(zhí)行 的一種技術(shù)。,5.2、流水工作方式,取指,訪存,執(zhí)行,譯碼,寫回,IF,ID,EX,MEM,WB,S1,S2,S3,S4,S5,輸入,輸出,指令的流水處理,流水線的基本結(jié)構(gòu)中主要包括三大部分:鎖存器、時(shí)鐘、功能站。 流水線中每個站都是由一些執(zhí)行算術(shù)和邏輯功能的組合邏輯線路組成的,它們可以互相獨(dú)立地對流過的信息進(jìn)行某種操作,相鄰兩站由高速鎖存器(latch)隔開,信息在各站間的流動靠同時(shí)送到各站的時(shí)鐘信號來控制。,S1,S2,Sk,輸入,輸出,流水線的基本結(jié)構(gòu),
6、.,.,時(shí)鐘,1,2,3,4,t0, t0, t0, t0,T0=m t0,(n-1) t0,填入 正常 排空,流水時(shí)空圖,空間,時(shí)間,2、流水線特點(diǎn): 1)流水一定重疊,比重疊更苛刻。 2)一條流水線通常有多個流水段組成。 3)每段有專用功能部件,各部件順序連接,不斷流。 4)流水線有建立時(shí)間、滿載時(shí)間、排空時(shí)間, 5)各段時(shí)間盡量短、一致;不一致時(shí)最慢子過程為瓶頸。 6)給出指標(biāo)如最大吞吐率,為滿負(fù)載最佳指標(biāo)。,建立時(shí)間:在流水線開始時(shí)有一段流水線填入時(shí)間,使得流水線填滿。 正常流動時(shí)間:流水線正常工作,各功能段源源不斷滿載工作。 排空時(shí)間:在流水線第一條指令結(jié)束時(shí),其他指令還需要一段釋放
7、時(shí)間。,3、流水的分級、分類,分級:(處理的級別分類) 部件級:將復(fù)雜的算邏運(yùn)算組成流水工作方式; 指令級:把一條指令解釋過程分成多個子過程 ; 處理機(jī)級:每個處理機(jī)完成某一專門任務(wù),各個處理機(jī)所得到的結(jié)果需存放在與下一個處理機(jī)所共享的存儲器中,其他分類: 功能:單功能流水線(如CRAY-1)、多功能流水線 (如TI-ASC) 工作方式:靜態(tài)流水線、動態(tài)流水線 連接方式:線性、非線性 處理數(shù)據(jù):標(biāo)量流水、向量流水,3、流水的分級、分類,靜態(tài)流水線:(功能負(fù)擔(dān)軟件多,便宜)。 同一時(shí)間內(nèi)各功能段只能按一種方式聯(lián)接工作,只有當(dāng)進(jìn)入的是一串相同運(yùn)算指令時(shí),流水線中各功能段才能高效滿負(fù)荷工作。 動態(tài)流
8、水線:(功能負(fù)擔(dān)硬件多,高效) 。 同一時(shí)間內(nèi)各功能段可按不同運(yùn)算或功能的聯(lián)接方式工作,對吞吐率和設(shè)備利用率都有好處,但控制復(fù)雜,成本明顯增加。,3、流水的分級、分類,線性流水線: 非線性流水線:,1,2,3,4,出,入,非線性流水線,(1)ASC算術(shù)運(yùn)算流水線(多功能),4、流水線舉例,浮點(diǎn)加,定點(diǎn)乘,靜態(tài)多功能流水線時(shí)-空圖,靜態(tài)流水線:只有當(dāng)進(jìn)入的是一串相同運(yùn)算的指令時(shí),流水的效能才得以發(fā)揮,才能使各個功能段并行地對多條指令的數(shù)據(jù)進(jìn)行流水處理。,動態(tài)多功能流水線時(shí)-空圖,區(qū)別:如果從軟硬功能分配的觀點(diǎn)上來看,靜態(tài)流水線其實(shí)是把功能負(fù)擔(dān)較多地加到軟件上,以簡化硬件,動態(tài)流水線則是把功能負(fù)擔(dān)
9、較多地加在硬件上,以提高流水的效能。,(1)VAX8600的流水結(jié)構(gòu) a. I部件:預(yù)取指令,操作碼譯碼,預(yù)取操作數(shù),并存放運(yùn)算結(jié)果。 b. E部件:執(zhí)行指令。 c. F部件;浮點(diǎn)加速器。 d. M部件:控制CPU和輸入輸出設(shè)備對主存的訪問,有16k字節(jié)的cache和把虛存地址轉(zhuǎn)換成實(shí)存地址的地址轉(zhuǎn)換表(快表) e. 操作臺:提供同操作員,引導(dǎo)設(shè)備和遠(yuǎn)程診斷的界面。,指令流水線:一條指令的取指令、譯碼、取操作數(shù)和執(zhí)行等幾個過程能同它前后的指令在時(shí)間上重疊,用這種指令重疊的方法構(gòu)成的流水線就是指令流水線,又叫指令先行控制。,2VAX8600和長城386計(jì)算機(jī)的指令流水線,VAX8600的CPU結(jié)
10、構(gòu)圖,VAX8600指令流水線的工作順序,實(shí)框:表示CPU在執(zhí)行一條典型的指令時(shí)的動作順序。 虛線:表示6個動作是各自分開進(jìn)行的,可以同其它指令的動作并行進(jìn)行。,(2)長城386指令流水線 內(nèi)部有六個部件 總線接口部件:同外部的接口 取指令、讀寫數(shù)據(jù)。 I部件: 指令預(yù)取部件:取指令放在 16個字節(jié)指令預(yù)取隊(duì)列。 指令譯碼部件:形成指令微碼,指令隊(duì)列中可放3條指令 E部件: 執(zhí)行部件:控制、數(shù)據(jù)部件、保護(hù)測試部件 分段部件 分頁部件,存儲管理部件,相關(guān)處理 定義 :相近指令出現(xiàn)某種關(guān)聯(lián)使不能同時(shí)執(zhí)行。 資源相關(guān) 數(shù)據(jù)相關(guān) 控制相關(guān) 另一種分類: 局部相關(guān) 全局相關(guān),1. 資源相關(guān),資源相關(guān)是指
11、當(dāng)有多條指令進(jìn)入流水線后在同一機(jī)器周期內(nèi)爭用同一功能部件所發(fā)生的沖突,例1:,兩條指令同時(shí)要用一個加法器,指 令,流水段,不同類型指令中各流水段進(jìn)行的操作,兩條指令同時(shí)訪存造成資源相關(guān),沖突,取指 譯碼 執(zhí)行 訪存 寫回,例2:,使i+3指令停頓一拍進(jìn)入流水線,以解決訪存相關(guān) 或重復(fù)設(shè)置一個存儲器,解決方法:,例:有i 和j兩條指令,i指令在前,j指令在后,則三種不同類型的數(shù)據(jù)相關(guān)的含義為: RAW讀寫(先寫后讀) - 指令 j 試圖在指令 i 寫入寄存器前就讀出該寄存器內(nèi)容,這樣,指令j就會錯誤地讀出該寄存器舊的內(nèi)容。 (改用相關(guān)) i: R1+R2-R3 j: R3*R4-R5 WAR寫讀
12、(先讀后寫) - 指令 j 試圖在指令 i讀出寄存器之前就寫入該寄存器,這樣,指令i就錯誤地讀得該寄存器新的內(nèi)容。 (用改相關(guān))i: R3*R4-R5 j: R1+R2-R3 WAW寫寫(先寫后寫) - 指令j試圖在指令i寫寄存器之前就寫入該寄存器,這樣,兩次寫的先后次序被顛倒,就會錯誤地使由指令i寫入的值成為該寄存器內(nèi)容。 (改改相關(guān)) i: R1*R2-R3 j: R4+R5-R3,2. 數(shù)據(jù)相關(guān),順序流動,不按順序流動,不按順序流動,例1:如果流水線要執(zhí)行以下的兩條指令 X1=X2+X3 X4=X1-X5,這是一個典型的先寫后讀(RAW)相關(guān)。,例2:結(jié)果寄存器的沖突 X6=X1+X2
13、X6=X4*X5,這是個先寫后寫的寫-寫相關(guān),兩條指令都要用X6存放結(jié)果,此時(shí)第二條指令也要等待第一條指令完成后才能寫。,例3:一條指令要把結(jié)果存放到上一條指令存放操作數(shù)的寄存器中時(shí)發(fā)生的沖突。 X5=X4*X3 X4=X0+X6,這是個先讀后寫的寫-讀相關(guān)。如果這兩條指令接連地送到乘法功能部件和加法功能部件中,由于加法比乘法快得多,第二條的結(jié)果X4先產(chǎn)生,但必須等待第一條指令做完后才能送X4。,解決辦法主要用軟件和硬件技術(shù): 時(shí)間推后法(延遲執(zhí)行) 旁路技術(shù)或相關(guān)專用通路技術(shù),例子:流水執(zhí)行和相關(guān) (資源相關(guān)) 有四段流水線:IF(取指令 ),ID(譯碼,取數(shù)) , EX(執(zhí)行)WR(寫回)
14、 PC值 指令 流水各段 n : load A IF ID EX WR n+1: load B IF ID EX WR n+2: add A,B IF ID 氣泡 EX WR n+3: store C IF ID 氣泡 EX WR n+4 : jump K IF ID EX WR n+5: load E 停頓 停頓 停頓。 n+6 停頓 。 K: IF ID EX 例子中有資源相關(guān)、有控制轉(zhuǎn)移相關(guān),這將影響流水線的指標(biāo)。,IF,ID,EX,MEM,WB,IF,ID,EX,MEM,WB,IF,ID,EX,MEM,WB,IF,ID,EX,MEM,WB,IF,ID,EX,MEM,WB,ADD R1,
15、R2,R3,SUB R4,R1,R5,AND R6,R1,R7,OR R8,R1,R9,XOR R10,R1,R11,定向傳遞R1值,數(shù)據(jù)相關(guān)和定向傳遞指令,ADD R1,R2,R3,SUB R4,R1,R5,AND R6,R1,R7,OR R8,R1,R9,XOR R10,R1,R11,定向傳遞R1值,減少定向傳送次數(shù)的方法,將ID段讀寄存器堆操作安排在后半部分,將WB段寫寄存器堆 操作安排在前半部分,以減少定向傳輸操作,同時(shí)縮短等待。,ALU 運(yùn)算結(jié)果,寫RF,RF,讀RF,ALU 操作數(shù)寄存器,專用通路(旁路),寄存器堆RF,多路開關(guān),多路開關(guān),ALU,R4,R1,緩沖寄存器(R1,R4
16、),旁路,定義: 由條件轉(zhuǎn)移或者程序中斷引起的相關(guān)成為全局相關(guān)。 控制轉(zhuǎn)移沖突:無條件轉(zhuǎn)移和條件轉(zhuǎn)移引起的 (轉(zhuǎn)移指令概率占1/4左右,不可忽視) 中斷雖然比例不大,但是中斷發(fā)生在哪一條指令,哪一個功能段都是不確定的。 因此,處理好條件轉(zhuǎn)移和中斷引起的全局相關(guān)是至關(guān)重要: 確保流水線能夠正常工作 減少“斷流”引起的吞吐率和效率的下降,3.轉(zhuǎn)移處理(全局相關(guān)),轉(zhuǎn)移處理(全局相關(guān)),i-1,i,i-1,i-1,i+k-3,i+k-2,P,P+1,P+k-4,P+k-3,轉(zhuǎn)移不成功,轉(zhuǎn)移成功,條件轉(zhuǎn)移指令,形成條件碼,輸入,時(shí)間t,輸出,輸出,減少條件轉(zhuǎn)移對于指令流水的方法 優(yōu)化延遲轉(zhuǎn)移技術(shù) a.
17、將轉(zhuǎn)移指令前的那條指令調(diào)度到延遲槽中; b.將轉(zhuǎn)移目標(biāo)處的那條指令調(diào)度到延遲槽中; c.將轉(zhuǎn)移不發(fā)生時(shí)該執(zhí)行的那條指令調(diào)度到延遲槽中。 指令取消技術(shù) 和前面RISC中介紹的相似。,減少條件轉(zhuǎn)移對于指令流水影響的方法 靜態(tài)轉(zhuǎn)移預(yù)測技術(shù): 正如“先行控制技術(shù)”中介紹的那樣,靜態(tài)轉(zhuǎn)移預(yù)測是指在處理機(jī)的硬件和軟件設(shè)計(jì)完成以后,轉(zhuǎn)移方法已經(jīng)確定。 在程序執(zhí)行過程中,轉(zhuǎn)移方向不能改變。 例如:TI公司的SuperSPARC處理機(jī)采用了這種技術(shù),而且設(shè)置有轉(zhuǎn)移目標(biāo)緩沖棧,在兩個方向上都預(yù)取指令,減少條件轉(zhuǎn)移對于指令流水影響的方法 動態(tài)轉(zhuǎn)移預(yù)測技術(shù): 方法1:在指令Cache中記錄轉(zhuǎn)移歷史信息 方法2:設(shè)置轉(zhuǎn)
18、移目標(biāo)地址緩沖棧 方法3:設(shè)置轉(zhuǎn)移目標(biāo)指令緩沖棧,TT,NT,NN,TN,N,N,N,N,N,T,T,T,T,TT:最近兩次轉(zhuǎn)移都成功 NN:最近兩次轉(zhuǎn)移都不成功 TN:最近一次轉(zhuǎn)移成功,前一次不成功 NT:最近一次轉(zhuǎn)移不成功,前一次成功,動態(tài)硬件預(yù)測轉(zhuǎn)移方法 在程序運(yùn)行時(shí),借助硬件來動態(tài)地預(yù)測轉(zhuǎn)移方向。實(shí)際上,這是一種盡早生成轉(zhuǎn)移目標(biāo)地址的方法,它將過去發(fā)生過的轉(zhuǎn)移指令地址存入一個由類似cache、稱為BTB(Branch target buffer)的轉(zhuǎn)移目標(biāo)緩沖器中。其中,轉(zhuǎn)移指令地址作為標(biāo)志,供檢測用。,三. 中斷 流水機(jī)器處理中斷的關(guān)鍵不在于如何縮短斷流時(shí)間,而是如何處理好斷點(diǎn)現(xiàn)場及
19、中斷后的恢復(fù)問題。 不精確斷點(diǎn)法(同外部設(shè)備中斷處理一樣):不論第i條指令在流水線的哪一段發(fā)出中斷申請,都不再允許那時(shí)還未進(jìn)入流水線的后續(xù)指令再進(jìn)入 精確斷點(diǎn)法:不論第i條指令是在流水線中哪一段發(fā)的中斷申請,給中斷處理程序的現(xiàn)場全都是對應(yīng)第i條的,在第i條之后進(jìn)入流水線的指令的原有現(xiàn)場都能恢復(fù) (增加設(shè)備,加許多緩沖器,各功能段狀態(tài)保留),5.3 流水線性能分析計(jì)算,一 技術(shù)指標(biāo),衡量流水線處理機(jī)的性能主要是吞吐率、加速比和效率。 1吞吐率:單位時(shí)間內(nèi)能處理的指令條數(shù)或能輸出的數(shù)據(jù)量。吞吐率越高,計(jì)算機(jī)系統(tǒng)的處理能力就越強(qiáng)。就流水線而言,吞吐率就是單位時(shí)間內(nèi)能流出的任務(wù)數(shù)或能流出的結(jié)果數(shù)。,吞
20、吐率 的基本計(jì)算公式: 其中n表示任務(wù)量,Tk表示執(zhí)行時(shí)間。,最大吞吐率:流水線達(dá)到穩(wěn)定狀態(tài)后可獲得的吞吐率。 (1)Tpmax=1/t (2)TPmax=1/ maxt1,t2,t3,t4,吞吐率,子過程3為瓶頸段的時(shí)空圖,最大吞吐率TPmax=1/3t,瓶頸段細(xì)分,重復(fù)設(shè)置瓶頸流水段,解決瓶頸有兩種方法,A: B:,T,重復(fù)設(shè)置瓶頸流水段后的工作時(shí)空圖,實(shí)際吞吐率(一個K段線形流水),(1)完成n條指令的解釋共需時(shí)間 T=kt+(n-1) t=(k+n-1) t (2)流水線的實(shí)際吞吐率為 可以看出不僅實(shí)際的吞吐率總是小于最大的吞吐率,而且只有當(dāng)nk時(shí),實(shí)際的吞吐率才能接近于理想的最大吞吐
21、率。,進(jìn)入(出)流水耗時(shí),解釋指令耗時(shí),時(shí)鐘周期,實(shí)際吞吐率(一個K段線形流水),T,S,S1,S2,S4,t1,S3,時(shí)間長的占用了一些空余時(shí)間,1,2,3,n-1,n,2,3,n,2,3,n,1,2,3,n-1,n,1,2,3,n-1,n,1,2,3,n-1,n,實(shí)際吞吐率(一個K段線形流水),(1)當(dāng)流水線各段時(shí)間不等時(shí)完成n條指令,T,S,S1,S2,S4,t1,t12,t17,S3,時(shí)間長的占用了一些空余時(shí)間,n,K-1,1,2,3,n,1,2,3,n-1,n,1,2,3,n,1,2,3,n,2. 效率:設(shè)備的利用率,直接反映了處理機(jī)結(jié)構(gòu)有效程度。 流水線有建立時(shí)間、排空時(shí)間,不總是
22、滿負(fù)載工作。,各段時(shí)間相等,并且輸入的n個任務(wù)是連續(xù)的:,各段時(shí)間不等:,最費(fèi)時(shí)環(huán)節(jié),通過工作時(shí)空圖計(jì)算效率,=,E,其中,分母為k個段總的加權(quán)時(shí)空區(qū),分子為n個任務(wù)總的加權(quán)時(shí)空區(qū),設(shè)備利用率占整個系統(tǒng)設(shè)備利用率的比重不同,可以給每個段賦予不同的“權(quán)”值i,這樣,線性流水線總效率的一般式為:,各段時(shí)間相等:,各段時(shí)間不等:,3. 加速比:K段流水線的速度與等效的非流水線的速度之比。,3. 加速比:K段流水線的速度與等效的非流水線的速度之比。,討論: 1減少瓶頸的辦法:多套并行和細(xì)分慢的子過程。 2指令串不相同,需功能切換(盡量相同)向量流水。 3非線性流水控制輸入,使不碰頭。 4T盡量小,盡量
23、一致,減少相關(guān)。 5指標(biāo)給的為最佳值 。,五. 實(shí)例分析:性能分析(實(shí)測法, 分析法, 時(shí)空圖法). 例1. 四段流水線, t1=t3=t4=t, t2=3t,4個任務(wù)、10個任務(wù)時(shí)TP,E、SP 。,(1)分析法: 各段時(shí)間不等,時(shí)間,1,2,3,1,2,3,1,2,3,4,4,4,4,4,3t,3t,空間,(2) 時(shí)空圖法:,比較:,N=4 0.267,N=10 0.303,N=100 0.33,40%,45%,49%,1.6,1.8,1.98,E,Sp,Tp(1/t),n=4,m=4,說明:Nk流水性能才發(fā)揮得更好,例2. 以浮點(diǎn)加法運(yùn)算為例(四段流水線)各段時(shí)間相等,如何求吞吐率、效率
24、。 求Z=A+B+C+D+E+F+G+H,TP、E、Sp 注意有相關(guān),時(shí)間,空間,5,5,5,5,6,6,6,6,7,7,7,7,例3. ASC計(jì)算機(jī)功能算術(shù)運(yùn)算流水線各段時(shí)間相等,6次浮點(diǎn)加、 5次定點(diǎn)乘的吞吐率,效率,加速比 K=8,N=11.,分析:T加=6+(6-1)*1=11 (t) T乘=4+(5-1)*1=8 (t),則 TP= 11/(11+8)t =11/19 t Sp= 56 t /19 t =2.94 E = (6*6+5*4) t /(19*8t)=6/52=7/19,5.4、流水中指令級并行性的進(jìn)一步開發(fā),粗粒度并行性:在多處理機(jī)上分別運(yùn)行多個進(jìn)程,由多臺處理機(jī)合作完
25、成一個程序; 細(xì)粒度并行性:指在一個進(jìn)程中進(jìn)行操作一級或指令一級的并行處理。 RISC機(jī)進(jìn)一步開發(fā)細(xì)粒度并行性,5.4.1 超級標(biāo)量方法,每個時(shí)鐘周期內(nèi)能啟動n條指令,主要特點(diǎn): (1)配置有多個性能不同的處理部件,采用多條流水線并行處理。 (2)能同時(shí)對若干條指令進(jìn)行譯碼,將可并行的指令送往不同的執(zhí)行部件,從而達(dá)到每個周期啟動多條指令。 (3)在程序運(yùn)行期間由硬件(通常是狀態(tài)記錄部件和調(diào)度部件)完成指令調(diào)度。,每拍啟動3條指令 要求并行度=3,超級標(biāo)量機(jī),1超級標(biāo)量計(jì)算機(jī)的原理:,配置多個功能部件 多個譯碼器,寄存器 端口,總線,能同時(shí) 執(zhí)行多個操作。,2. 超標(biāo)量流水線調(diào)度,按序發(fā)射按序完
26、成 按序發(fā)射無序完成 無序發(fā)射無序完成 無論那種調(diào)度策略,都要保證程序運(yùn)行的最終結(jié)果是正確的, Pentium處理器采用的是按序發(fā)射按序完成策略PentiumII/III處理器采用的是按序發(fā)射無序完成,指令發(fā)射:啟動指令進(jìn)入執(zhí)行段的過程; 指令發(fā)射策略:指令發(fā)射所使用的協(xié)議或規(guī)則。 按序發(fā)射:當(dāng)指令按策劃功能序的次序發(fā)射時(shí),稱之為按序發(fā)射(in-order issue)。 無序發(fā)射:為改善流水線性能,可以將有相關(guān)的指令推后發(fā)射,而將后面的無相關(guān)性的指令提前發(fā)射,即不按程序原有次序發(fā)射指令,稱之為無序發(fā)射(out-of-order)。,以一條長指令實(shí)現(xiàn)多個操作的并行執(zhí)行,減少存儲器訪問,主要特點(diǎn)
27、: (1)單一的控制流。只有一個控制器,每個周期啟動一條指 令。 (2)超長指令字被分成多個控制字段,每個字段直接獨(dú)立地 控制每個功能部件。 (3)含有大量的數(shù)據(jù)通路和功能部件,由于編譯器在編譯時(shí) 間已考慮可能出現(xiàn)的數(shù)據(jù)相關(guān)和資源相關(guān),故控制硬件較簡 單。 (4)在編譯階段完成超長指令中多個可并行執(zhí)行操作的調(diào)度。,5.4.2 超長指令字計(jì)算機(jī),每拍啟動一條長指令,執(zhí)行3個操作,相當(dāng)于3條指令,要求并行度=3,超長指令字計(jì)算機(jī)(VLIW)的原理結(jié)構(gòu),5.4.3 超級流水方法,特點(diǎn):超流水結(jié)構(gòu)是把每一個流水級(一個周期)分成多個(例如3個)子流水級,而在每一個子流水級中取出的仍只有一條指令,但總的
28、來看,在一個周期內(nèi)取出了三條指令。對于超流水線結(jié)構(gòu),其中指令部件可以只有一套,也可以有多套獨(dú)立的執(zhí)行部件。它雖然每個機(jī)器周期只能流出一條指令,但它的周期比其它機(jī)器短,一臺m度的超級流水線計(jì)算機(jī)的周期為一般機(jī)器周期的1/m,它的一個操作需要m個周期,因而在流水線能充分發(fā)揮作用時(shí),其并行度能達(dá)到m。,每1/2拍啟動一條指令,要求并行度=2,超級流水線的原理結(jié)構(gòu)圖,這種方法主要通過提高流水線運(yùn)行速度來增強(qiáng)機(jī)器性能。為提高運(yùn)行速度,必須要加深流水深度,既增加流水段數(shù),以減少每一段的延遲時(shí)間,這樣就可加快流水線的運(yùn)行頻率。 下面是R4000超級流水情況分8段:取指1(IF),取指2(IS) 讀RF,執(zhí)行
29、(EX),取數(shù)1(DF),取數(shù)2( DS),標(biāo)記檢查(TC),寫RF(WB),5.4.4 超級流水標(biāo)量計(jì)算機(jī),可以把超標(biāo)量技術(shù)與超流水技術(shù)結(jié)合在一起,這就是超標(biāo)量超流水線處理機(jī)。超標(biāo)量超流水線處理機(jī)在一個時(shí)鐘周期內(nèi)要發(fā)射指令n次,每次發(fā)射指令m條,因此,超標(biāo)量超流水線處理機(jī)每個時(shí)鐘周期總共要發(fā)射指令m*n條。,超標(biāo)量超流水線處理機(jī)的指令執(zhí)行時(shí)空圖,5.4.5 超標(biāo)量(流水)標(biāo)量處理機(jī)的性能,為了比較,單流水普通標(biāo)量處理機(jī)的指令并行度記為(1,1) 超級標(biāo)量處理機(jī)的指令級并行度記做(m,1) 超級流水處理機(jī)的指令級并行度記做(1,n) 超標(biāo)量超流水處理機(jī)的指令級并行度記做(m,n) 在理想情況下,N條沒有沖突、沒有相關(guān)的指令在單流水線普通標(biāo)量處理機(jī)上的處理時(shí)間是: 把N條指令在一臺每個周期發(fā)射m條指令的超標(biāo)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村個人地基使用權(quán)轉(zhuǎn)讓與農(nóng)村生態(tài)環(huán)境保護(hù)合作協(xié)議3篇
- 二零二五年度木工次結(jié)構(gòu)構(gòu)件加工與運(yùn)輸服務(wù)合同3篇
- 2025年度精密儀器制造工廠整體轉(zhuǎn)讓協(xié)議3篇
- 二零二五年度農(nóng)用房屋抵押農(nóng)村旅游發(fā)展貸款服務(wù)協(xié)議
- 二零二五年度企業(yè)研發(fā)成果保密協(xié)議2篇
- 二零二五年度公司管理人員員工持股計(jì)劃聘用合同3篇
- 二零二五年度農(nóng)村宅基地房屋出售與綠化維護(hù)合同2篇
- 二零二五年度老年人緊急救援服務(wù)合作協(xié)議3篇
- 二零二五年度綠色能源項(xiàng)目合作協(xié)議3篇
- 2025年度全新私人合同:私人美容師及美容服務(wù)合同3篇
- 中國老年糖尿病診療指南(2024版)解讀
- 純化水注射用水系統(tǒng)的驗(yàn)證課件
- 物業(yè)公司員工管理規(guī)章制度范本
- 手術(shù)中側(cè)臥位體位擺放護(hù)理課件
- 測繪法規(guī)與管理(第2版)全套教學(xué)課件
- 湖北省天門市2023-2024學(xué)年七年級上學(xué)期期末考試語文試題(含答案)
- 智能化施工管理平臺
- 2024年國家能源集團(tuán)江蘇電力有限公司招聘筆試參考題庫附帶答案詳解
- 江西省九江市2023-2024學(xué)年部編版九年級上學(xué)期期末歷史試題(含答案)
- 山東省濟(jì)南市2023-2024學(xué)年高三上學(xué)期期末學(xué)習(xí)質(zhì)量檢測物理試題(原卷版)
- 2024年新華人壽保險(xiǎn)股份有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論