第5章_重疊、流水和向量處理機_第1頁
第5章_重疊、流水和向量處理機_第2頁
第5章_重疊、流水和向量處理機_第3頁
第5章_重疊、流水和向量處理機_第4頁
第5章_重疊、流水和向量處理機_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第5章 重疊、流水和向量處理機 5.1 重疊方式 5.2 流水方式 5.3 向量的流水處理與向量流水處理機 5.4 指令級高度并行的超級處理機 習(xí)題 5.1 重疊方式 5.1.1 基本思想和一次重疊 5.1.2 相關(guān)處理 5.1.1 基本思想和一次重疊 是在解釋第k條指令的操作完成之前,就可 開始解釋第k+1條指令。顯然,重疊解釋并不能加快一條指令的 解釋,但卻能加快相鄰兩條以至整段程序的解釋。 分析指令重疊過程,首先看。它們在時間上 重疊,但取指要訪問主存,分析中取操作數(shù)也可能訪問主存, 這樣,在一般的指令和數(shù)據(jù)混存于同一臺機器的情況下,就出 現(xiàn)了問題。 一種方法 。這有利于實現(xiàn)指令的保護,

2、但增加了主存 總線控制的復(fù)雜性及軟件設(shè)計的麻煩。 第二種方法是 ,就能在一個主存周 期取得。但如果正好共存于同一個存儲體就不能重疊了。 第三種方法是 。可乘主存有空時,預(yù)取下一條或幾條指令存于指緩中。 接著,看。為了實現(xiàn)它們的重疊, 。而 且,由于執(zhí)行時間的不同,還需在 。此外,當 使重疊效率不致下降。 在控制上 的問題。 5.1.2 相關(guān)處理 1. 如果采用機器指令可修改的辦法經(jīng)第k條指令的執(zhí) 行來形成第k+1條指令,由于在執(zhí)行k的末尾才形成第 k+1條指令,按照一次重疊的時間關(guān)系,為避免出錯, 第k、k+1條指令就不能同時解釋,這時這兩條指令之 間就發(fā)生了。 為解決指令相關(guān)問題,可 。在這

3、條執(zhí)行指令中,被修改的指令以“執(zhí)行”指 令操作數(shù)形式出現(xiàn),這樣就 因為操作數(shù)可以存放在主存,也可以存放在通用寄 存器中,這樣就有了和 。 2. 如圖5.6所示,主存空間數(shù)相關(guān)是相鄰兩條指令之間 出現(xiàn)對主存同一單元要求先寫而后讀的關(guān)聯(lián)。要想不出 錯,只有推后分析k+1的讀。 。當?shù)趉 和第k+1出現(xiàn)主存數(shù)相關(guān)時,存控先處理執(zhí)行k的寫數(shù),而 將分析k+1的讀申請推遲到下一個主存周期才能處理,自 動實現(xiàn)推后分析k+1。 3. 通用寄存器可以存放操作數(shù)、運算結(jié)果、基址值或變 址值,在指令解釋過程中,使用通用寄存器作不同用途 所需微操作的時間不同。如, 。 要解決通用寄存器組數(shù)相關(guān),一種辦法是可以 。該

4、方法降低了速度,當不增加設(shè)備 另一種方法就是如圖5.9P130所示。 該方法增加了設(shè)備,當重疊效率并不下降。 特別的,當(如圖 5.10P131)時,也(如圖5.11P131)和 (如圖5.12P131)的方法。 綜上所述,首先 ,如增設(shè)數(shù)據(jù)總線、控制總線、指令 緩沖器、地址加法器、相關(guān)專業(yè)通路,將指令分析部件 和指令執(zhí)行部件功能分開、單獨設(shè)置,主存采用多體交 叉存取等。其次,。 此外,還應(yīng)該,使分析和 執(zhí)行的時間盡可能相等,以提高重疊的效率。 5.2 流水方式 5.2.1 基本概念 5.2.2 流水線處理機的主要性能 5.2.3 流水機器的相關(guān)處理和控制機構(gòu) 5.2.1 基本概念 1.流水是

5、重疊的引申 如圖5.14P132所示,。 顯然,如能把一條指令的解釋分解成時間相等的m個子過程, 則每隔t=T/m就可以處理一條指令。因此, ,t越小,流水線的最大吞吐率 就越高。 。實際上,流水線從開始啟動到流出第 一個結(jié)果,需要經(jīng)過一段流水線的建立時間T0,在這段時間里 流水線并未流出任何結(jié)果。所以實際吞吐率總是低于其最大吞 吐率。 在實際流水線中,由于各子部件經(jīng)過的時間不同, 。 。 2. 流水線依據(jù)向下和向上擴展的思路,可分類出在計算機系 統(tǒng)不同等級上使用的流水線。指的是把子過程進一 步細分,讓每個子過程經(jīng)過的時間都同等程度減少,吞吐率 就會進一步提高??衫斫鉃樵诙鄠€處理機之間流水 ;

6、流水線按照處理級別可分為(部件內(nèi)各子部件間的流 水)、(構(gòu)成處理機的各部件之間的流水)和( 構(gòu)成計算機系統(tǒng)的多處理機之間的流水);從流水線具有功能 的多少來看,可以分為(只能實現(xiàn)單一功能的流 水)和(同一流水線的各個段之間可以有多種不 同的聯(lián)接方式以實現(xiàn)多種不同的功能或功能);按多功能流水 線的各段能否允許同時用于多種不同功能聯(lián)接流水,可把流 水線分成(同一時間內(nèi)各段只能按一種功能聯(lián)接流 水)和(同一時間內(nèi)可按不同運算或功能聯(lián)接);以 機器所具有的數(shù)據(jù)表示可把流水線處理機分為沒 有向量數(shù)據(jù)表示,只能以標量循環(huán)方式處理向量和數(shù)據(jù))和 ;從流水線中各功能段之間是否有反饋回路,分為 和。 5.2.2

7、 流水線處理機的主要性能 1. 是流水線單位時間里能流出的任務(wù)數(shù)或結(jié)果數(shù) 一般,如果各子過程所需的時間不同時,取最大的時間作 為時鐘周期,這樣,流水的最大吞吐率就等于1/最大子過程時 間。可見流水線最大吞吐率受限于流水線中最慢子過程經(jīng)過的 時間。流水線中經(jīng)過時間最長的子過程稱為。為提 高流水線的最大吞吐率,需找到并消除瓶頸。消除瓶頸的 是如圖5.20P137。另一種是如圖 5.21P137通過,讓它們交叉并行。 設(shè)一m段流水線的各段經(jīng)過時間均為t0,則完成n個任務(wù) 后流水線的實際吞吐率 TP=n/(mt0+(n-1)t0)=1/t0(1+(m-1)/n)=TPmax/(1+(m- 1)/n)

8、可見,。 。 加速比SP表示流水方式相對于非流水順序方式速度提高的 比值,SP=nmt0/(mt0+(n-1)t0)=m/(1+(m-1)/n) 所以, 。 這樣一來,就可以通過讓子過程細分增大m的方法來提高加 速比。但是,如果增大m縮短t0,卻未能再軟件、算法、語言 編譯、程序設(shè)計上保證連續(xù)流動的任務(wù)數(shù)n能遠大于子過程數(shù)m, 則實際吞吐率將大大低于最大吞吐率。極限情況下,當n=1時, 由于m增大。鎖存器個數(shù)增多,實際增大了任務(wù)在流水線上的 通過時間,反而使其速度會比順序串行的還要低。 如果ti,其中瓶頸段的時 間是tj ,則完成n個任務(wù)的TP=n/(ti+(n-1)tj) 其SP=nti/(

9、ti+(n-1)tj) 2. 是指流水線中設(shè)備的實際使用時間占整個運 行時間之比,也稱為流水線設(shè)備的時間利用率。 如果是,如圖5.22P138 所示,則在n個任務(wù)執(zhí)行的整個時間T中, ,均為0,即 1=2=m=nt0/T=n/(m+(n-1)=0 =(1+2+m)/m=0=mnt0/mT 式中,分母mT是時空圖中m個段和流水線總時間T所圍成的 面積,分子mnt0是時空圖中n個任務(wù)實際使用的面積。因此 , 。顯然,只有當nm時, 才趨于1。同時還可以看出, ,即=nt0/T=n/(m+(n-1)=TPt0 盡管,在非線性流水線或線性流水線各段時間不等時,這 種正比關(guān)系并不存在。但是, 。 如果,

10、各段的效率就會 不等, =n個任務(wù)實際占用的時空區(qū)/m個段總的時空區(qū) =nti/m(ti+(n-1)tj) 3.(略) 5.2.3 流水機器的相關(guān)處理和控制機構(gòu) 流水線只有連續(xù)不斷流動,不出現(xiàn)斷流,才能提高 效率。 。 流水機環(huán)境下,轉(zhuǎn)移指令和其后的指令之間存在關(guān) 聯(lián),使之不能同時解釋,其造成的對流水機器的吞吐 率和效率下降的影響要比指令相關(guān)、主存操作數(shù)相關(guān) 和通用寄存器組相關(guān)及基址值或變址值相關(guān)嚴重得多, 所以稱為。而后者只影響相關(guān)得兩條或幾 條指令,最多影響流水線某些段工作的推后,不會改 變指緩中預(yù)取得指令,影響是局部得,故稱為 。 1. 包括指令相關(guān)、訪存操作數(shù)相關(guān)和通用寄存器組相關(guān)等局

11、 部性相關(guān)都是由于在機器同時解釋的多條指令之間出現(xiàn)了對 同一主存單元或寄存器要求先寫后讀。重疊機器處理局部性 相關(guān)采用的方法,這兩種方法 。而其中,因為流水機器同時解釋多條指 令,如果 ,而且控制復(fù)雜, 因此,如圖5.25P143所示的 方法進行處理。 任務(wù)在流水線中流動順序的安排和控制可以有兩種方式。 一種是讓任務(wù)流出流水線的順序保持與流入流水線的順序一 致,稱為順序流動方式或稱;另一種是讓流出 流水線的任務(wù)順序和流入流水線的順序不同,稱為 。一般,同步流動方式控制比較簡單,但流水線的吞吐 率和效率都要下降;而盡管控制復(fù)雜,流水線 的吞吐率和效率則均未下降,但是 。 2. 1) 若指令i是條

12、件轉(zhuǎn)移指令,有兩個分支。一個是按原來順 序執(zhí)行的i+1、i+2、的轉(zhuǎn)移不成功分支;另一個是轉(zhuǎn)向p、 p+1、的轉(zhuǎn)移成功分支。當指令i進入流水線時,只有等到 條件碼建立才能確認如何進行轉(zhuǎn)移,這必將讓i之后的指令停 等,流水線就會斷流,性能急劇下降。為此,可采用猜測法 。 在猜測時, ,因為它已經(jīng)預(yù)取進緩指,可以很快從中取出進入流水 線而不用等待。而 ??梢愿鶕?jù)轉(zhuǎn)移指令類型或程序執(zhí)行期間轉(zhuǎn) 移的歷史狀況來,但需要事先對大量程序的轉(zhuǎn)移類型和 轉(zhuǎn)移概率進行統(tǒng)計,且統(tǒng)計出的概率也不一定能保證較高的 猜測準確度。如果采用,由編譯程序根據(jù)執(zhí)行過程 中轉(zhuǎn)移的歷史紀錄來動態(tài)預(yù)測未來的轉(zhuǎn)移選擇,可使預(yù)測準 確度提

13、高到90%。 。一般有三種方法:是在執(zhí)行猜測分支時對指令只 譯碼和準備好操作數(shù),在轉(zhuǎn)移條件碼出現(xiàn)之前不進行運算; 是運算但不送回結(jié)果;是采用后援寄 存器保存可能被破壞的原始狀態(tài),一旦猜錯,就取出后援寄 存器的內(nèi)容來恢復(fù)分支點的現(xiàn)場。 此外,為了讓猜錯后能盡快回到原分支處轉(zhuǎn)入另一個分支 ,在,還可以由存儲器 中,以便在 猜錯時不必從訪存取p開始;有些機器的指令流水線設(shè)置 外,還設(shè)置了。 2) 一方面,不等指令執(zhí)行完 成就提前形成反映運算結(jié)果的條件碼;另一方面是 3) 4) 一是可以 ,避免執(zhí)行循環(huán)時由于指令預(yù)取 導(dǎo)致指緩中需循環(huán)執(zhí)行的指令被沖掉,減少訪主存重復(fù)取指 的次數(shù);二是由于循環(huán)分支概率高

14、,可以 ,減少因條件分支造成流水線斷流 的機會。 3.流水機器的 中斷會引起流水線斷流,但出現(xiàn)的概率比條件轉(zhuǎn)移的概率 低得多,且又是隨機發(fā)生,故 。 。即不論指令i在流水線的那一段 發(fā)生中斷,未進入流水線的后續(xù)指令不再進入,已在流水線 的指令仍繼續(xù)流完,然后再轉(zhuǎn)入中斷處理程序執(zhí)行。這樣斷 點就不一定是i,即斷點不精確。即不 論指令i是在流水線的那一段響應(yīng)中斷,給中斷處理程序的現(xiàn) 場全都對應(yīng)i,i之后流入流水線的指令的原有現(xiàn)場都能恢復(fù) 4. 由于線性流水線在執(zhí)行每個任務(wù)的過程中,每段均只通過 一次,故每拍都可以將一個新的任務(wù)送入流水線,這些任務(wù) 不會爭用同一個流水段。而在非線性流水線中,因段間有

15、反 饋回路,一個任務(wù)在流水的全過程中,可能會多次通過同一 段或越過某些段,這樣就有可能會出現(xiàn)多個任務(wù)爭用同一功 能段的使用沖突現(xiàn)象。要想不發(fā)生沖突就得間隔適當?shù)墓?jié)拍 數(shù)之后再向流水線送入下一個任務(wù)。 。 為了對流水線任務(wù)進行優(yōu)化調(diào)度和控制,提出了 。該方法分為以下幾個步驟: 5.3 向量的流水處理與向量流水處理機 5.3.1 向量的流水處理 5.3.2 向量流水處理機 5.3.1 向量的流水處理 由于向量內(nèi)部各元素很少相關(guān),且一般又是執(zhí)行同一 種操作,易于發(fā)揮出流水線的功效,所以可將向量數(shù)據(jù)表 示和流水線結(jié)合構(gòu)成。 向量的流水處理與所采用的計算機結(jié)構(gòu)有關(guān)。 。 向量的處理方式有橫向處理方式和縱向處理方式兩種。 每次從向量中逐次取出分量,完成所有運算, 得到結(jié)果向量的相應(yīng)分量;而則按照運算的 先后次序,逐個向量進行運算。 如果, 可以,使每組都能裝得進向量寄存 器組中 5.4 指令級高度并行的超級處理機 5.4.1 超標量處理機 5.4.2 超長指令字處理機 5.4.3 超流水線處理機 5.4.1 超

溫馨提示

  • 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

提交評論