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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、水線的各個(gè)段之間可以有多種不同的聯(lián)接方式以實(shí)現(xiàn)多種不同的功能或功能);按多功能流水線的各段能否允許同時(shí)用于多種不同功能聯(lián)接流水,可把流水線分成(同一時(shí)間內(nèi)各段只能按一種功能聯(lián)接流水)和(同一時(shí)間內(nèi)可按不同運(yùn)算或功能聯(lián)接);以機(jī)器所具有的數(shù)據(jù)表示可把流水線處理機(jī)分為沒(méi)有向量數(shù)據(jù)表示,只能以標(biāo)量循環(huán)方式處理向量和數(shù)據(jù))和;從流水線中各功能段之間是否有反饋回路,分為和。5.2.2 流水線處理機(jī)的主要性能1.是流水線單位時(shí)間里能流出的任務(wù)數(shù)或結(jié)果數(shù)一般,如果各子過(guò)程所需的時(shí)間不同時(shí),取最大的時(shí)間作為時(shí)鐘周期,這樣,流水的最大吞吐率就等于1/最大子過(guò)程時(shí)間??梢?jiàn)流水線最大吞吐率受限于流水線中最慢子過(guò)程經(jīng)

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

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

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

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

11、或稱;另一種是讓流出流水線的任務(wù)順序和流入流水線的順序不同,稱為。一般,同步流動(dòng)方式控制比較簡(jiǎn)單,但流水線的吞吐率和效率都要下降;而盡管控制復(fù)雜,流水線的吞吐率和效率則均未下降,但是。2.1)若指令i是條件轉(zhuǎn)移指令,有兩個(gè)分支。一個(gè)是按原來(lái)順序執(zhí)行的i+1、i+2、的轉(zhuǎn)移不成功分支;另一個(gè)是轉(zhuǎn)向p、p+1、的轉(zhuǎn)移成功分支。當(dāng)指令i進(jìn)入流水線時(shí),只有等到條件碼建立才能確認(rèn)如何進(jìn)行轉(zhuǎn)移,這必將讓i之后的指令停等,流水線就會(huì)斷流,性能急劇下降。為此,可采用猜測(cè)法。在猜測(cè)時(shí),因?yàn)樗呀?jīng)預(yù)取進(jìn)緩指,可以很快從中取出進(jìn)入流水線而不用等待。而??梢愿鶕?jù)轉(zhuǎn)移指令類型或程序執(zhí)行期間轉(zhuǎn)移的歷史狀況來(lái),但需要事先對(duì)

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

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

14、次,故每拍都可以將一個(gè)新的任務(wù)送入流水線,這些任務(wù)不會(huì)爭(zhēng)用同一個(gè)流水段。而在非線性流水線中,因段間有反饋回路,一個(gè)任務(wù)在流水的全過(guò)程中,可能會(huì)多次通過(guò)同一段或越過(guò)某些段,這樣就有可能會(huì)出現(xiàn)多個(gè)任務(wù)爭(zhēng)用同一功能段的使用沖突現(xiàn)象。要想不發(fā)生沖突就得間隔適當(dāng)?shù)墓?jié)拍數(shù)之后再向流水線送入下一個(gè)任務(wù)。為了對(duì)流水線任務(wù)進(jìn)行優(yōu)化調(diào)度和控制,提出了。該方法分為以下幾個(gè)步驟:5.3 向量的流水處理與向量流水處理機(jī)5.3.1 向量的流水處理5.3.2 向量流水處理機(jī)5.3.1 向量的流水處理由于向量?jī)?nèi)部各元素很少相關(guān),且一般又是執(zhí)行同一種操作,易于發(fā)揮出流水線的功效,所以可將向量數(shù)據(jù)表示和流水線結(jié)合構(gòu)成。向量的流水

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論