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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、計的麻煩。第二種方法是,就能在一個主存周期取得。但如果正好共存于同一個存儲體就不能重疊了。第三種方法是??沙酥鞔嬗锌諘r,預取下一條或幾條指令存于指緩中。接著,看。為了實現它們的重疊,。而且,由于執行時間的不同,還需在。此外,當使重疊效率不致下降。在控制上的問題。5.1.2 相關處理1.如果采用機器指令可修改的辦法經第k條指令的執行來形成第k+1條指令,由于在執行k的末尾才形成第k+1條指令,按照一次重疊的時間關系,為避免出錯,第k、k+1條指令就不能同時解釋,這時這兩條指令之間就發生了。為解決指令相關問題,可。在這條執行指令中,被修改的指令以“執行”指令操作數形式出現,這樣就因為操作數可以存放

3、在主存,也可以存放在通用寄存器中,這樣就有了和。2.如圖5.6所示,主存空間數相關是相鄰兩條指令之間出現對主存同一單元要求先寫而后讀的關聯。要想不出錯,只有推后分析k+1的讀。當第k和第k+1出現主存數相關時,存控先處理執行k的寫數,而將分析k+1的讀申請推遲到下一個主存周期才能處理,自動實現推后分析k+1。3.通用寄存器可以存放操作數、運算結果、基址值或變址值,在指令解釋過程中,使用通用寄存器作不同用途所需微操作的時間不同。如,。要解決通用寄存器組數相關,一種辦法是可以。該方法降低了速度,當不增加設備另一種方法就是如圖5.9P130所示。該方法增加了設備,當重疊效率并不下降。特別的,當(如圖

4、5.10P131)時,也(如圖5.11P131)和(如圖5.12P131)的方法。綜上所述,首先,如增設數據總線、控制總線、指令緩沖器、地址加法器、相關專業通路,將指令分析部件和指令執行部件功能分開、單獨設置,主存采用多體交叉存取等。其次,。此外,還應該,使分析和執行的時間盡可能相等,以提高重疊的效率。5.2 流水方式5.2.1 基本概念5.2.2 流水線處理機的主要性能5.2.3 流水機器的相關處理和控制機構5.2.1 基本概念1.流水是重疊的引申如圖5.14P132所示,。顯然,如能把一條指令的解釋分解成時間相等的m個子過程,則每隔t=T/m就可以處理一條指令。因此,t越小,流水線的最大吞

5、吐率就越高。實際上,流水線從開始啟動到流出第一個結果,需要經過一段流水線的建立時間T0,在這段時間里流水線并未流出任何結果。所以實際吞吐率總是低于其最大吞吐率。在實際流水線中,由于各子部件經過的時間不同,。2.流水線依據向下和向上擴展的思路,可分類出在計算機系統不同等級上使用的流水線。指的是把子過程進一步細分,讓每個子過程經過的時間都同等程度減少,吞吐率就會進一步提高??衫斫鉃樵诙鄠€處理機之間流水;流水線按照處理級別可分為(部件內各子部件間的流水)、(構成處理機的各部件之間的流水)和(構成計算機系統的多處理機之間的流水);從流水線具有功能的多少來看,可以分為(只能實現單一功能的流水)和(同一流

6、水線的各個段之間可以有多種不同的聯接方式以實現多種不同的功能或功能);按多功能流水線的各段能否允許同時用于多種不同功能聯接流水,可把流水線分成(同一時間內各段只能按一種功能聯接流水)和(同一時間內可按不同運算或功能聯接);以機器所具有的數據表示可把流水線處理機分為沒有向量數據表示,只能以標量循環方式處理向量和數據)和;從流水線中各功能段之間是否有反饋回路,分為和。5.2.2 流水線處理機的主要性能1.是流水線單位時間里能流出的任務數或結果數一般,如果各子過程所需的時間不同時,取最大的時間作為時鐘周期,這樣,流水的最大吞吐率就等于1/最大子過程時間??梢娏魉€最大吞吐率受限于流水線中最慢子過程經

7、過的時間。流水線中經過時間最長的子過程稱為。為提高流水線的最大吞吐率,需找到并消除瓶頸。消除瓶頸的是如圖5.20P137。另一種是如圖5.21P137通過,讓它們交叉并行。設一m段流水線的各段經過時間均為t0,則完成n個任務后流水線的實際吞吐率TP=n/(mt0+(n-1)t0)=1/t0(1+(m-1)/n)=TPmax/(1+(m-1)/n)可見,。加速比SP表示流水方式相對于非流水順序方式速度提高的比值,SP=nmt0/(mt0+(n-1)t0)=m/(1+(m-1)/n)所以,。這樣一來,就可以通過讓子過程細分增大m的方法來提高加速比。但是,如果增大m縮短t0,卻未能再軟件、算法、語言

8、編譯、程序設計上保證連續流動的任務數n能遠大于子過程數m,則實際吞吐率將大大低于最大吞吐率。極限情況下,當n=1時,由于m增大。鎖存器個數增多,實際增大了任務在流水線上的通過時間,反而使其速度會比順序串行的還要低。如果ti,其中瓶頸段的時間是tj ,則完成n個任務的TP=n/(ti+(n-1)tj)其SP=nti/(ti+(n-1)tj)2.是指流水線中設備的實際使用時間占整個運行時間之比,也稱為流水線設備的時間利用率。如果是,如圖5.22P138所示,則在n個任務執行的整個時間T中,均為0,即1=2=m=nt0/T=n/(m+(n-1)=0=(1+2+m)/m=0=mnt0/mT式中,分母m

9、T是時空圖中m個段和流水線總時間T所圍成的面積,分子mnt0是時空圖中n個任務實際使用的面積。因此,。顯然,只有當nm時,才趨于1。同時還可以看出,即=nt0/T=n/(m+(n-1)=TPt0盡管,在非線性流水線或線性流水線各段時間不等時,這種正比關系并不存在。但是,。如果,各段的效率就會不等,=n個任務實際占用的時空區/m個段總的時空區 =nti/m(ti+(n-1)tj)3.(略)5.2.3 流水機器的相關處理和控制機構流水線只有連續不斷流動,不出現斷流,才能提高效率。流水機環境下,轉移指令和其后的指令之間存在關聯,使之不能同時解釋,其造成的對流水機器的吞吐率和效率下降的影響要比指令相關

10、、主存操作數相關和通用寄存器組相關及基址值或變址值相關嚴重得多,所以稱為。而后者只影響相關得兩條或幾條指令,最多影響流水線某些段工作的推后,不會改變指緩中預取得指令,影響是局部得,故稱為。1.包括指令相關、訪存操作數相關和通用寄存器組相關等局部性相關都是由于在機器同時解釋的多條指令之間出現了對同一主存單元或寄存器要求先寫后讀。重疊機器處理局部性相關采用的方法,這兩種方法。而其中,因為流水機器同時解釋多條指令,如果,而且控制復雜,因此,如圖5.25P143所示的方法進行處理。任務在流水線中流動順序的安排和控制可以有兩種方式。一種是讓任務流出流水線的順序保持與流入流水線的順序一致,稱為順序流動方式

11、或稱;另一種是讓流出流水線的任務順序和流入流水線的順序不同,稱為。一般,同步流動方式控制比較簡單,但流水線的吞吐率和效率都要下降;而盡管控制復雜,流水線的吞吐率和效率則均未下降,但是。2.1)若指令i是條件轉移指令,有兩個分支。一個是按原來順序執行的i+1、i+2、的轉移不成功分支;另一個是轉向p、p+1、的轉移成功分支。當指令i進入流水線時,只有等到條件碼建立才能確認如何進行轉移,這必將讓i之后的指令停等,流水線就會斷流,性能急劇下降。為此,可采用猜測法。在猜測時,因為它已經預取進緩指,可以很快從中取出進入流水線而不用等待。而??梢愿鶕D移指令類型或程序執行期間轉移的歷史狀況來,但需要事先對

12、大量程序的轉移類型和轉移概率進行統計,且統計出的概率也不一定能保證較高的猜測準確度。如果采用,由編譯程序根據執行過程中轉移的歷史紀錄來動態預測未來的轉移選擇,可使預測準確度提高到90%。一般有三種方法:是在執行猜測分支時對指令只譯碼和準備好操作數,在轉移條件碼出現之前不進行運算;是運算但不送回結果;是采用后援寄存器保存可能被破壞的原始狀態,一旦猜錯,就取出后援寄存器的內容來恢復分支點的現場。此外,為了讓猜錯后能盡快回到原分支處轉入另一個分支,在,還可以由存儲器中,以便在猜錯時不必從訪存取p開始;有些機器的指令流水線設置外,還設置了。2)一方面,不等指令執行完成就提前形成反映運算結果的條件碼;另

13、一方面是3)4)一是可以,避免執行循環時由于指令預取導致指緩中需循環執行的指令被沖掉,減少訪主存重復取指的次數;二是由于循環分支概率高,可以,減少因條件分支造成流水線斷流的機會。3.流水機器的中斷會引起流水線斷流,但出現的概率比條件轉移的概率低得多,且又是隨機發生,故。即不論指令i在流水線的那一段發生中斷,未進入流水線的后續指令不再進入,已在流水線的指令仍繼續流完,然后再轉入中斷處理程序執行。這樣斷點就不一定是i,即斷點不精確。即不論指令i是在流水線的那一段響應中斷,給中斷處理程序的現場全都對應i,i之后流入流水線的指令的原有現場都能恢復4.由于線性流水線在執行每個任務的過程中,每段均只通過一

14、次,故每拍都可以將一個新的任務送入流水線,這些任務不會爭用同一個流水段。而在非線性流水線中,因段間有反饋回路,一個任務在流水的全過程中,可能會多次通過同一段或越過某些段,這樣就有可能會出現多個任務爭用同一功能段的使用沖突現象。要想不發生沖突就得間隔適當的節拍數之后再向流水線送入下一個任務。為了對流水線任務進行優化調度和控制,提出了。該方法分為以下幾個步驟:5.3 向量的流水處理與向量流水處理機5.3.1 向量的流水處理5.3.2 向量流水處理機5.3.1 向量的流水處理由于向量內部各元素很少相關,且一般又是執行同一種操作,易于發揮出流水線的功效,所以可將向量數據表示和流水線結合構成。向量的流水

15、處理與所采用的計算機結構有關。向量的處理方式有橫向處理方式和縱向處理方式兩種。每次從向量中逐次取出分量,完成所有運算,得到結果向量的相應分量;而則按照運算的先后次序,逐個向量進行運算。如果,可以,使每組都能裝得進向量寄存器組中5.4 指令級高度并行的超級處理機5.4.1 超標量處理機5.4.2 超長指令字處理機5.4.3 超流水線處理機5.4.1 超標量處理機常規的標量處理機在每個t期間解釋完一條指令,而。一般,在超標量流水線處理機中,會。超標量流水線處理機非常適合于求解稀釋矩陣這類標量計算問題。5.4.2 超長指令字處理機超長指令字結構是。與超標量處理機不同,在。運行時不再用軟件或硬件檢測其并行性,直接由這條超長字指令控制機器中多個相互獨立的功能部件并行

溫馨提示

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

評論

0/150

提交評論