第5章-計算機系統(tǒng)結(jié)構(gòu)(第五版)課件_第1頁
第5章-計算機系統(tǒng)結(jié)構(gòu)(第五版)課件_第2頁
第5章-計算機系統(tǒng)結(jié)構(gòu)(第五版)課件_第3頁
第5章-計算機系統(tǒng)結(jié)構(gòu)(第五版)課件_第4頁
第5章-計算機系統(tǒng)結(jié)構(gòu)(第五版)課件_第5頁
已閱讀5頁,還剩171頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

5.1重疊方式5.2流水方式5.3指令級高度并行的超級處理機

5.4本章小結(jié)5.1重疊方式

5.1重疊方式

5.1.1重疊原理與一次重疊指令的重疊解釋使機器語言程序的執(zhí)行速度會比采用順序解釋有較大的提高。解釋一條機器指令的微操作可歸并成取指令、分析和執(zhí)行三部分,時間關(guān)系如圖5-1所示。5.1重疊方式5.1.1重疊原理與一圖5-1對一條機器指令的解釋圖5-1對一條機器指令的解釋圖5-2(b)是可能的一種方式。顯然,重疊解釋雖不能加快一條指令的解釋,卻能加快相鄰兩條指令以至整段程序的解釋。圖5-2(b)是可能的一種方式。顯然,重疊解釋雖不能圖5-2指令的順序解釋與重疊解釋(a)順序解釋;(b)重疊解釋的一種方式圖5-2指令的順序解釋與重疊解釋(1)要解決訪主存的沖突。

最多可預(yù)取多少條指令取決于指緩的容量。如果每次都可以從指緩中取得指令,則“取指k+1”的時間很短,就可把這個微操作合并到“分析k+1”內(nèi),從而由原先的“取指k+2”、“分析k+1”、“執(zhí)行k”重疊變成只是“分析k+1”與“執(zhí)行k”的重疊,如圖5-3所示。(1)要解決訪主存的沖突。

最多可預(yù)取圖5-3一次重疊工作方式圖5-3一次重疊工作方式(2)要解決“分析”與“執(zhí)行”操作的并行。

(3)要解決“分析”與“執(zhí)行”操作控制上的同步。

(4)要解決指令間各種相關(guān)的處理。

圖5-4示意出條件轉(zhuǎn)移時第k條指令和第k+1條指令的時間關(guān)系。(2)要解決“分析”與“執(zhí)行”操作的并行。

(3)圖5-4第k條指令和第k+1條指令的時間關(guān)系圖5-4第k條指令和第k+1條指令的時間關(guān)系5.1.2相關(guān)處理

1.轉(zhuǎn)移指令的處理

當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,傳統(tǒng)做法與延遲轉(zhuǎn)移做法的比較如圖5-5所示。5.1.2相關(guān)處理

1.轉(zhuǎn)移指令的處理

當(dāng)圖5-5當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,傳統(tǒng)做法與延遲轉(zhuǎn)移做法的比較(a)條件轉(zhuǎn)移成功時成了順序解釋;(b)采用延遲轉(zhuǎn)移,條件轉(zhuǎn)移成功時,仍保持重疊圖5-5當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,2.指令相關(guān)的處理

當(dāng)執(zhí)行到“執(zhí)行”指令時,按第二操作數(shù)地址(X2)+(B2)+D2取出操作數(shù)區(qū)中單元的內(nèi)容作為指令來執(zhí)行,參見圖5-6。2.指令相關(guān)的處理

當(dāng)執(zhí)行到“執(zhí)行”指令時,按圖5-6IBM370“執(zhí)行”指令的執(zhí)行圖5-6IBM370“執(zhí)行”指令的執(zhí)行

3.主存空間數(shù)相關(guān)的處理

主存空間數(shù)相關(guān)是相鄰兩條指令之間出現(xiàn)對主存同一單元要求先寫而后讀的關(guān)聯(lián),如圖5-7(a)所示。3.主存空間數(shù)相關(guān)的處理

主存空間數(shù)相關(guān)是相鄰兩圖5-7主存空間數(shù)相關(guān)的處理(a)主存數(shù)相關(guān)的時間關(guān)系;(b)由存控推后“分析k+1”的讀圖5-7主存空間數(shù)相關(guān)的處理4.通用寄存器組相關(guān)的處理

一般的機器中,通用寄存器除了存放源操作數(shù)、運算結(jié)果外,也可能存放形成訪存操作數(shù)物理地址的變址值或基址值,因此,通用寄存器組的相關(guān)又有操作數(shù)的相關(guān)和變址值或基址值的相關(guān)兩種。4.通用寄存器組相關(guān)的處理

一般的機器中,通用寄L1、L3分別指明存放第一操作數(shù)和結(jié)果數(shù)的通用寄存器號,B2為形成第二操作數(shù)地址的基址值所在通用寄存器號,d2為相對位移量。圖5-8示意出它們的時間關(guān)系。L1、L3分別指明存放第一操作數(shù)和結(jié)果數(shù)的通用寄存器號,圖5-8指令解釋過程中與通用寄存器內(nèi)容有關(guān)的微操作時間關(guān)系圖5-8指令解釋過程中與通用寄存器內(nèi)容有關(guān)的有些指令需要從通用寄存器組中取兩個操作數(shù)(L1)和(L2),若通用寄存器組做在一個片子上,每次只能讀出一個數(shù),則在“分析k+1”期間,操作數(shù)(L1)和(L2)就需要在不同拍時取得,分別送入運算器的B和C寄存器,以便在“執(zhí)行k+1”時供運算用。這樣,“執(zhí)行k”與“分析k+1”訪問通用寄存器組的時間關(guān)系如圖5-9所示。有些指令需要從通用寄存器組中取兩個操作數(shù)(L1)和(L圖5-9“執(zhí)行k”、“分析k+1”重疊時,訪問通用寄存器組的時間關(guān)系圖5-9“執(zhí)行k”、“分析k+1”重疊時,訪問如果在運算器的輸出到B或C輸入之間增設(shè)“相關(guān)專用通路”,如圖5-10所示,則在發(fā)生L1或L2相關(guān)時,接通相應(yīng)的相關(guān)專用通路,“執(zhí)行k”時就可以在將運算結(jié)果送入通用寄存器完成其應(yīng)有的功能的同時,直接將運算結(jié)果回送到B或C寄存器,從而大大縮短了其間的傳送時間,并保證“執(zhí)行k+1”用此操作數(shù)時,它已在B或C寄存器中準(zhǔn)備好了。如果在運算器的輸出到B或C輸入之間增設(shè)“相關(guān)專用通路”,圖5-10用相關(guān)專用通路解決通用寄存器組的數(shù)相關(guān)圖5-10用相關(guān)專用通路解決通用寄存器組的數(shù)設(shè)操作數(shù)的有效地址(Xd)+(B2)+d2是由分析器中的地址加法器形成的。由于多數(shù)情況的“分析”周期等于主存周期,因此,從時間上要求,在“分析”周期的前半段就應(yīng)由通用寄存器輸出總線取得(B2),送入地址加法器。

由于運算結(jié)果是在“執(zhí)行”周期的末尾才送入通用寄存器組的,因此它當(dāng)然不能立即出現(xiàn)在通用寄存器輸出總線上。

也就是說,在“執(zhí)行k”得到的、送入通用寄存器的運算結(jié)果是來不及為“分析k+2”作基址值用,更不用說為“分析k+1”作基址值用。設(shè)操作數(shù)的有效地址(Xd)+(B2)+d2是由分析器中即B(k+1)=L3(k)時發(fā)生B一次相關(guān),B(k+2)=L3(k)時發(fā)生B二次相關(guān),如圖5-11所示。即B(k+1)=L3(k)時發(fā)生B一次相關(guān),B(k+2)圖5-11B一次相關(guān)與二次相關(guān)圖5-11B一次相關(guān)與二次相關(guān)由圖5-11可見,B二次相關(guān)時,只需推后“分析k+2”的始點到“執(zhí)行k”送入通用寄存器的運算結(jié)果能在“分析k+2”開始時出現(xiàn)于通用寄存器輸出總線上即可,如圖5-12(a)所示。至于推后多少拍,這取決于通用寄存器組譯碼、讀

出機構(gòu)的具體邏輯組成。而對B一次相關(guān),則除此之外,還需再推后一個“執(zhí)行”周期,如圖5-12(b)所示。

由于B相關(guān)的概率并不是很低,增設(shè)B相關(guān)專用通路是值得的,辦法如圖5-13所示。由圖5-11可見,B二次相關(guān)時,只需推后“分析k+2圖5–12B一次與二次相關(guān)的推后處理(a)B二次相關(guān)的推后處理;(b)B一次相關(guān)的推后處理圖5–12B一次與二次相關(guān)的推后處理圖5-13B相關(guān)專用通路法圖5-13B相關(guān)專用通路法5.2.1基本概念

1.工作原理

“分析k+1”與“執(zhí)行k”的一次重疊是把指令的解釋過程分解成“分析”與“執(zhí)行”兩個子過程,在獨立的分析部件和執(zhí)行部件上時間重疊地進(jìn)行。若“分析”與“執(zhí)行”子過程都需要Δt1的時間,如圖5-14所示,則一條指令的解釋

需要2Δt1完成,但機器每隔Δt1就能解釋完一條指令。5.2流水方式5.2.1基本概念

1.工作原理

“分圖5-14指令分解為“分析”與“執(zhí)行”子過程圖5-14指令分解為“分析”與“執(zhí)行”子過程如果把“分析”子過程再細(xì)分成“取指令”、“指令譯碼”和“取操作數(shù)”3個子過程,并改進(jìn)運算器的結(jié)構(gòu)以加快其“執(zhí)行”子過程(如圖5-15(a)所示,這4個子過程分別由獨立的子部件實現(xiàn)),讓經(jīng)過的時間都等于Δt2,則指令解釋的時(間)空(間)關(guān)系如圖5-15(b)所示。圖中的1、2、3、4、5表示處理機所處理的第1、2、3、4、5條指令。如果把“分析”子過程再細(xì)分成“取指令”、“指令譯碼”和“圖5-15流水處理(a)指令解釋的流水處理;(b)流水處理的時(間)空(間)圖圖5-15流水處理

2.流水的分類

從不同的角度對流水可進(jìn)行不同的分類。

流水的向上擴展可理解為在多個處理機之間流水,如圖5-16所示。2.流水的分類

從不同的角度對流水可進(jìn)行不同的圖5-16處理機間的流水處理圖5-16處理機間的流水處理要完成多種功能的流水可將多個單功能流水線組合。如CRAY-1有12條單功能流水線,分別完成地址加、地址乘、標(biāo)量加、標(biāo)量移位、標(biāo)量邏輯運算、標(biāo)量數(shù)“數(shù)”、向量加、向量移位、向量邏輯運算、浮點加、浮點乘、浮點迭代求倒數(shù)。

多功能流水線指的是同一流水線的各個段之間可以有多種不同的連接方式,以實現(xiàn)多種不同的運算或功能。例如TI-ASC計算機的運算器流水線就是多功能的,它有8個可并行工作的獨立功能段,如圖5-17(a)所示。當(dāng)要進(jìn)行浮點加、減時,連接成如圖5-17(b)所示的形式。當(dāng)要進(jìn)行定點乘法運算時,連接成如圖5-17(c)所示的形式。要完成多種功能的流水可將多個單功能流水線組合。如CRAY圖5-17ASC計算機運算器的流水線(a)流水線的功能段;(b)浮點加、減法運算時的連接;(c)定點乘法運算時的連接圖5-17ASC計算機運算器的流水線圖5-18畫出了靜態(tài)和動態(tài)多功能流水線的時空圖,從中可以看出它們在工作方式和性能上的差異。

圖5-19就是一個非線性流水線,由4段組成,經(jīng)反饋回路和多路開關(guān)使某些段如2段、3段或4段可能要多次通過,而有些段如2段可能被跳過。圖5-18畫出了靜態(tài)和動態(tài)多功能流水線的時空圖,從中圖5-18靜、動態(tài)多功能流水線時空圖(a)靜態(tài);(b)動態(tài)圖5-18靜、動態(tài)多功能流水線時空圖圖5-19非線性流水線圖5-19非線性流水線5.2.2標(biāo)量流水線的主要性能

1.吞吐率Tp和加速比Sp

吞吐率是流水線單位時間里能流出的任務(wù)數(shù)或結(jié)果數(shù)。

在圖5-15(b)所示的流水線例中,各子過程經(jīng)過的時間都是Δt2,滿負(fù)荷后流水線每隔Δt2解釋完一條指令,其最大吞吐率Tpmax為1/Δt2。如果各個子過程所需的時間分別為Δt1、Δt2、Δt3、Δt4,時鐘周期應(yīng)當(dāng)為max{Δt1,Δt2,Δt3,Δt4},即流水線的最大吞吐率5.2.2標(biāo)量流水線的主要性能

1.吞吐率Tp【例5-1】

有一個4段的指令流水線如圖5-20(a)所示,其中,1、3、4段的經(jīng)過時間均為Δt0,只有2段的經(jīng)過時間為3Δt0,因此瓶頸在2段,使整個流水線的最大吞吐率只有1/(3Δt0),其時空圖如圖5-20(b)所示。即使流水線每隔Δt0流入一條指令,也會因來不及處理被堆積于2段,致使流水線仍只能每隔

3Δt0才流出一條指令?!纠?-1】

有一個4段的指令流水線如圖5-2圖5-20最大吞吐率取決于瓶頸段的時間圖5-20最大吞吐率取決于瓶頸段的時間消除瓶頸的一種辦法是將瓶頸子過程再細(xì)分。例如將2段再細(xì)分成21、22、23三個子段,如圖5-21(a)所示。讓各子段經(jīng)過時間都減少到Δt0,這樣,最大吞吐率就可提高到1/Δt0。圖5-21(b)是將瓶頸子過程再細(xì)分后的時空圖。

例如2段已不能再細(xì)分了,則可以通過重復(fù)設(shè)置多套(如此例用3套)瓶頸段并聯(lián),讓它們交叉并行,如圖5-22(a)所示。消除瓶頸的一種辦法是將瓶頸子過程再細(xì)分。例如將2段再細(xì)分圖5-21瓶頸子過程再細(xì)分圖5-21瓶頸子過程再細(xì)分圖5-22瓶頸子過程并聯(lián)圖5-22瓶頸子過程并聯(lián)設(shè)一m段流水線的各段經(jīng)過時間均為Δt0,則第1條指令從流入到流出需要T0=mΔt0的流水建立時間,之后每隔Δt0就可流出一條指令,圖5-23為其時空圖(這里設(shè)m=4)。這樣,完成n個任務(wù)的解釋共需時間T=mΔt0+(n-1)Δt0,流水線在這段時間里的實際吞吐率設(shè)一m段流水線的各段經(jīng)過時間均為Δt0,則第1條指令從流圖5-23從時空圖分析實際的吞吐率圖5-23從時空圖分析實際的吞吐率如果線性流水線每段經(jīng)過的時間Δti不等,其中瓶頸段的時間為Δtj,則完成n個任務(wù)所能達(dá)到的實際吞吐率其加速比如果線性流水線每段經(jīng)過的時間Δti不等,其中瓶頸段的時間

2.效率

流水線的效率是指流水線中設(shè)備的實際使用時間與整個運行時間之比,也稱流水線設(shè)備的時間利用率。

如果是線性流水線、任務(wù)間不相關(guān)且各段經(jīng)過的時間相同,如圖5-23所示那樣,則在T時間里,流水線各段的效率都相同,均為η0,即2.效率

流水線的效率是指流水線中設(shè)備的實際使用整個流水線的效率式中,分母mT是時空圖中m個段和流水總時間T所圍成的面積,分子mnΔt0是時空圖中n個任務(wù)實際使用的面積。同時還可以看出,當(dāng)為線性流水且每段經(jīng)過時間相等,任務(wù)間無相關(guān)時,流水線的效率才正比于吞吐率,即整個流水線的效率式中,分母mT是時空圖中m個段和流水總一般為提高效率、減少時空圖中空白區(qū)所采取的措施也會為提高吞吐率帶來好處。因此,在圖5-18所示的多功能流水線中,動態(tài)流水比起靜態(tài)流水減少了空白區(qū),從而使流水線吞吐率和效率都得到了提高,但是參照圖5-23,不難得出整個流水線的效率一般為提高效率、減少時空圖中空白區(qū)所采取的措施也會為提高

【例5-2】設(shè)向量[WTHX]A和B各有4個元素,要在圖5-24(a)所示的靜態(tài)雙功能流水線上計算向量點積

A·B=。

按此算法可畫出流水線工作的時空圖如圖5-24(b)所

示?!纠?-2】設(shè)向量[WTHX]A和B各有4個元素,圖5-24流水線工作舉例圖5-24流水線工作舉例該流水線的效率可用陰影區(qū)面積和全部5個段的總時空區(qū)面積之比求得,即

雖然效率連1/3都不到,但解題速度卻提高為串行的1.6倍,而且如果向量A、B的元素數(shù)增加時,還會使解題速度和效率進(jìn)一步提高。該流水線的效率可用陰影區(qū)面積和全部5個段的總時空區(qū)面積之5.2.3標(biāo)量流水機的相關(guān)處理和控制機構(gòu)

標(biāo)量流水線只有連續(xù)不斷地流動,不出現(xiàn)斷流,才能獲得高效率。造成流水線斷流的原因除了編譯形成的目標(biāo)程序不能發(fā)揮流水結(jié)構(gòu)的作用,或存儲系統(tǒng)供不上為連續(xù)流動所需的指令和操作數(shù)以外,還可能是由于出現(xiàn)了相關(guān)和中斷。5.2.3標(biāo)量流水機的相關(guān)處理和控制機構(gòu)

標(biāo)量流水

1.局部性相關(guān)的處理

指令相關(guān)、訪存操作數(shù)相關(guān)和通用寄存器組相關(guān)等局部性相關(guān)都是由于在機器同時解釋的多條指令之間出現(xiàn)了對同一主存單元或寄存器要求“先寫后讀”。

有一個8段的流水線,其中第2段為讀段,第7段為寫段,如圖5-25所示。1.局部性相關(guān)的處理

指令相關(guān)、訪存操作數(shù)相關(guān)和圖5-25順序流動和異步流動圖5-25順序流動和異步流動如果讓j之后的那些指令,如k,l,m,n等,只要與j沒有相關(guān),就越過j繼續(xù)向前流動,使得從某個時間看,指令在流水線內(nèi)的流動順序會如圖5-25中“可以不順序流動

”那行所示,那么流水線的吞吐率和效率都未下降,這就是異步流動方式。當(dāng)流水線采用異步流動方式后,會出現(xiàn)順序流動不會發(fā)生的其他相關(guān)。在流水線中同樣可以通過設(shè)置相關(guān)直接通路來減少吞吐率和效率的損失。如果讓j之后的那些指令,如k,l,m,n等,只要與j沒有圖5-26是IBM360/91浮點執(zhí)行部件的結(jié)構(gòu)框圖。浮點操作數(shù)緩沖器FLB接收和緩沖來自主存的操作數(shù)。要寫入存儲器的信息被送到存儲數(shù)據(jù)緩沖器SDB中緩沖。浮點執(zhí)行部件中的浮點加法器和浮點乘/除法器都是流水線,且能同時并行工作。圖5-26是IBM360/91浮點執(zhí)行部件的結(jié)構(gòu)框圖5-26IBM360/91的浮點執(zhí)行部件結(jié)構(gòu)圖5-26IBM360/91的浮點執(zhí)行部件結(jié)構(gòu)

2.全局性相關(guān)的處理

全局性相關(guān)指的是已進(jìn)入流水線的轉(zhuǎn)移指令(尤其是條件轉(zhuǎn)移指令)和其后續(xù)指令之間的相關(guān)。

(1)使用猜測法。

若指令i是條件轉(zhuǎn)移指令,有兩個分支,如圖5-27所示。2.全局性相關(guān)的處理

全局性相關(guān)指的是已進(jìn)入流圖5–27用猜測法處理條件轉(zhuǎn)移圖5–27用猜測法處理條件轉(zhuǎn)移

(2)加快和提前形成條件碼。

盡快、盡早獲得條件碼,以便提前知道流向哪個分支,會有利于流水機器簡化對條件轉(zhuǎn)移的處理。

(3)采取延遲轉(zhuǎn)移。

(4)加快短循環(huán)程序的處理。

(2)加快和提前形成條件碼。

盡快、盡早獲得條件碼

3.流水機器的中斷處理

中斷會引起流水線斷流,但其出現(xiàn)概率比條件轉(zhuǎn)移的概率要低得多,且又是隨機發(fā)生的。

4.非線性流水線的調(diào)度

由于線性流水線在執(zhí)行每個任務(wù)(指令、操作)的過程中,各段均只通過一次,因此,每拍都可以將一個新的任務(wù)送入流水線,這些任務(wù)不會爭用同一個流水線。

現(xiàn)設(shè)流水線由5段組成,段號k分別為1~5,任務(wù)經(jīng)過流水線總共需9拍,其預(yù)約表如圖5-28(a)所示。3.流水機器的中斷處理

中斷會引起流水線斷流,但圖5-28流水線預(yù)約表及狀態(tài)圖舉例(a)單功能流水線預(yù)約表舉例;(b)單功能流水線的狀態(tài)轉(zhuǎn)移示意圖5-28流水線預(yù)約表及狀態(tài)圖舉例表5-1給出了本例中各種調(diào)度方案的平均間隔拍數(shù)(平均延遲)。由表5-1可知,采用先隔3拍后隔4拍輪流給流水線送入任務(wù)的調(diào)度方案是最佳的,平均每隔3.5拍即可流入一個任務(wù),吞吐率最高。盡管(4,3)調(diào)度方案平均間隔拍數(shù)也是3.5拍,但若實際流入任務(wù)數(shù)是循環(huán)所需任務(wù)數(shù)的整數(shù)倍,則其實際吞吐率相對會低些,所以不作為最佳調(diào)度方案。表5-1給出了本例中各種調(diào)度方案的平均間隔拍數(shù)(平均表5-1各種調(diào)度方案的平均間隔拍數(shù)的例子表5-1各種調(diào)度方案的平均間隔拍數(shù)的例子【例5-3】

在一個4段的流水線處理機上需經(jīng)7拍才能完成一個任務(wù),其預(yù)約表如表5-2所示。

狀態(tài)轉(zhuǎn)移圖如圖5-29所示。

各種調(diào)度方案及其相應(yīng)的平均延遲如表5-3所示?!纠?-3】

在一個4段的流水線處理機上需經(jīng)7拍才表5-27拍才能完成一個任務(wù)的預(yù)約表表5-27拍才能完成一個任務(wù)的預(yù)約表圖5-29例5-3的狀態(tài)轉(zhuǎn)移示意圖圖5-29例5-3的狀態(tài)轉(zhuǎn)移示意圖表5-3調(diào)度方案及其相應(yīng)的平均延遲表5-3調(diào)度方案及其相應(yīng)的平均延遲對于一個多功能流水線,只需要將對應(yīng)每種功能的預(yù)約表都重疊在一起即可。這里僅舉一個二功能動態(tài)流水線的例子來簡要說明其思路。圖5-3(a)為一個A、B兩種功能

重疊的預(yù)約表例子。對于一個多功能流水線,只需要將對應(yīng)每種功能的預(yù)約表都重疊圖5-30多功能流水線預(yù)約表及狀態(tài)圖舉例(a)一個二功能流水線的預(yù)約表;(b)狀態(tài)圖圖5-30多功能流水線預(yù)約表及狀態(tài)圖舉例5.3.1超標(biāo)量處理機

假設(shè)一條指令包含取指令、譯碼、執(zhí)行、存結(jié)果四個子過程,每個子過程經(jīng)過時間為Δt。常規(guī)的標(biāo)量流水線單處理機是在每個Δt期間解釋完一條指令,如圖5-31所示。執(zhí)行完12條指令共需15Δt。稱這種流水機的度m=1。5.3指令級高度并行的超級處理機5.3.1超標(biāo)量處理機

假設(shè)一條指令包含取指令、譯圖5-31常規(guī)(度m=1)的標(biāo)量流水機時空圖圖5-31常規(guī)(度m=1)的標(biāo)量流水機時空圖超標(biāo)量處理機采用多指令流水線,每個Δt同時流出m條指令(稱為度m)。假如度m為3的超標(biāo)量處理機流水時空圖如圖5-32所示,每3條指令為一組,執(zhí)行完12條指令只需7Δt。超標(biāo)量處理機采用多指令流水線,每個Δt同時流出m條指令(圖5-32度m=3的超標(biāo)量處理機時空圖圖5-32度m=3的超標(biāo)量處理機時空圖【例5-4】

典型的超標(biāo)量流水機有[WTBZ]IBMRS/6000、PowerPC601、DEC21064、PowerPC620、Inteli960CA、Pentium、TandemCyclone、SUNUltraSPAC和MotorolaMC

88110等?!纠?-4】

典型的超標(biāo)量流水機有[WTBZ]IB5.3.2超長指令字處理機

超長指令字(VLIW)結(jié)構(gòu)是將水平型微碼和超標(biāo)量處理兩者相結(jié)合,指令字長可達(dá)數(shù)百位,多個功能部件并發(fā)工作,共享大容量寄存器堆。

圖5-33(a)示意出了典型的VLIW處理機的組成和指令格式。5.3.2超長指令字處理機

超長指令字(VLIW圖5-33超長指令字(VLIW)處理機(a)VLIW處理機組成和指令格式;(b)度m=3時的流水時空圖圖5-33超長指令字(VLIW)處理機5.3.3超流水線處理機

超流水線處理機不同于超標(biāo)量處理機和VLIW處理機,每個Δt′仍只流出一條指令,但它的Δt′值小,一臺度為m的超流水線處理機的Δt′只是基本機器周期Δt的1/m。因此,一條指令需花kmΔt′的時間,k為一條指令所含的基本機器周期數(shù)。只要流水線性能得以充分發(fā)揮,其并行度就可達(dá)m。圖5-34給出了度m=3的超流水線處理機工作的時空圖。5.3.3超流水線處理機

超流水線處理機不同于超標(biāo)圖5-34每Δt′流出一條指令且度m=3的超流水線處理機時空圖圖5-34每Δt′流出一條指令且度m=3的沒有高速時鐘機制,超流水線處理機是無法實現(xiàn)的。例如一臺有k段流水線的m度超流水線處理機,執(zhí)行完N條指令的時間為Δt,如圖5-34所示,所需時間為,相對常規(guī)流水線處理機加速比為沒有高速時鐘機制,超流水線處理機是無法實現(xiàn)的。例如一臺有5.3.4超標(biāo)量超流水線處理機

超標(biāo)量超流水線處理機是超標(biāo)量流水線與超流水線機的結(jié)合。它在一個Δt′(等于Δt/n)時間內(nèi)發(fā)射k條指令(超標(biāo)量),而每次發(fā)射時間錯開Δt′(超流水),相當(dāng)于每拍Δt流出了nk條指令,即并行度m=kn。例如k=3,n=3,完成12個任務(wù)時,就只需5Δt,其時間關(guān)系圖如圖5-35所示,其并

行度m=9。5.3.4超標(biāo)量超流水線處理機

超標(biāo)量超流水線處理圖5-35超標(biāo)量超流水線時空圖舉例圖5-35超標(biāo)量超流水線時空圖舉例5.4.1知識點和能力層次要求

(1)領(lǐng)會重疊工作方式的原理、它對計算機組成設(shè)計的要求、“一次重疊”的定義和優(yōu)點。

(2)領(lǐng)會流水方式的工作原理。識記流水或流水處理機的各種分類和定義。

(3)掌握流水機器對局部性相關(guān)的處理辦法。5.4本章小結(jié)5.4.1知識點和能力層次要求

(1)領(lǐng)會重疊工(4)在單功能非線性流水線上,會找任務(wù)最佳調(diào)度方案,會計算極限吞吐率;實際調(diào)度若干個任務(wù)時,會畫流水線工作的時空圖,對實際吞吐率和效率進(jìn)行計算。

(5)領(lǐng)會超標(biāo)量、超長指令字、超流水線、超標(biāo)量超流水線四種處理機在指令級上并行的工作原理。(4)在單功能非線性流水線上,會找任務(wù)最佳調(diào)度方案,會5.4.2重點和難點

1.重點

2.難點5.4.2重點和難點

1.重點

2.5.1重疊方式5.2流水方式5.3指令級高度并行的超級處理機

5.4本章小結(jié)5.1重疊方式

5.1重疊方式

5.1.1重疊原理與一次重疊指令的重疊解釋使機器語言程序的執(zhí)行速度會比采用順序解釋有較大的提高。解釋一條機器指令的微操作可歸并成取指令、分析和執(zhí)行三部分,時間關(guān)系如圖5-1所示。5.1重疊方式5.1.1重疊原理與一圖5-1對一條機器指令的解釋圖5-1對一條機器指令的解釋圖5-2(b)是可能的一種方式。顯然,重疊解釋雖不能加快一條指令的解釋,卻能加快相鄰兩條指令以至整段程序的解釋。圖5-2(b)是可能的一種方式。顯然,重疊解釋雖不能圖5-2指令的順序解釋與重疊解釋(a)順序解釋;(b)重疊解釋的一種方式圖5-2指令的順序解釋與重疊解釋(1)要解決訪主存的沖突。

最多可預(yù)取多少條指令取決于指緩的容量。如果每次都可以從指緩中取得指令,則“取指k+1”的時間很短,就可把這個微操作合并到“分析k+1”內(nèi),從而由原先的“取指k+2”、“分析k+1”、“執(zhí)行k”重疊變成只是“分析k+1”與“執(zhí)行k”的重疊,如圖5-3所示。(1)要解決訪主存的沖突。

最多可預(yù)取圖5-3一次重疊工作方式圖5-3一次重疊工作方式(2)要解決“分析”與“執(zhí)行”操作的并行。

(3)要解決“分析”與“執(zhí)行”操作控制上的同步。

(4)要解決指令間各種相關(guān)的處理。

圖5-4示意出條件轉(zhuǎn)移時第k條指令和第k+1條指令的時間關(guān)系。(2)要解決“分析”與“執(zhí)行”操作的并行。

(3)圖5-4第k條指令和第k+1條指令的時間關(guān)系圖5-4第k條指令和第k+1條指令的時間關(guān)系5.1.2相關(guān)處理

1.轉(zhuǎn)移指令的處理

當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,傳統(tǒng)做法與延遲轉(zhuǎn)移做法的比較如圖5-5所示。5.1.2相關(guān)處理

1.轉(zhuǎn)移指令的處理

當(dāng)圖5-5當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,傳統(tǒng)做法與延遲轉(zhuǎn)移做法的比較(a)條件轉(zhuǎn)移成功時成了順序解釋;(b)采用延遲轉(zhuǎn)移,條件轉(zhuǎn)移成功時,仍保持重疊圖5-5當(dāng)?shù)趉條指令是條件轉(zhuǎn)移且轉(zhuǎn)移成功時,2.指令相關(guān)的處理

當(dāng)執(zhí)行到“執(zhí)行”指令時,按第二操作數(shù)地址(X2)+(B2)+D2取出操作數(shù)區(qū)中單元的內(nèi)容作為指令來執(zhí)行,參見圖5-6。2.指令相關(guān)的處理

當(dāng)執(zhí)行到“執(zhí)行”指令時,按圖5-6IBM370“執(zhí)行”指令的執(zhí)行圖5-6IBM370“執(zhí)行”指令的執(zhí)行

3.主存空間數(shù)相關(guān)的處理

主存空間數(shù)相關(guān)是相鄰兩條指令之間出現(xiàn)對主存同一單元要求先寫而后讀的關(guān)聯(lián),如圖5-7(a)所示。3.主存空間數(shù)相關(guān)的處理

主存空間數(shù)相關(guān)是相鄰兩圖5-7主存空間數(shù)相關(guān)的處理(a)主存數(shù)相關(guān)的時間關(guān)系;(b)由存控推后“分析k+1”的讀圖5-7主存空間數(shù)相關(guān)的處理4.通用寄存器組相關(guān)的處理

一般的機器中,通用寄存器除了存放源操作數(shù)、運算結(jié)果外,也可能存放形成訪存操作數(shù)物理地址的變址值或基址值,因此,通用寄存器組的相關(guān)又有操作數(shù)的相關(guān)和變址值或基址值的相關(guān)兩種。4.通用寄存器組相關(guān)的處理

一般的機器中,通用寄L1、L3分別指明存放第一操作數(shù)和結(jié)果數(shù)的通用寄存器號,B2為形成第二操作數(shù)地址的基址值所在通用寄存器號,d2為相對位移量。圖5-8示意出它們的時間關(guān)系。L1、L3分別指明存放第一操作數(shù)和結(jié)果數(shù)的通用寄存器號,圖5-8指令解釋過程中與通用寄存器內(nèi)容有關(guān)的微操作時間關(guān)系圖5-8指令解釋過程中與通用寄存器內(nèi)容有關(guān)的有些指令需要從通用寄存器組中取兩個操作數(shù)(L1)和(L2),若通用寄存器組做在一個片子上,每次只能讀出一個數(shù),則在“分析k+1”期間,操作數(shù)(L1)和(L2)就需要在不同拍時取得,分別送入運算器的B和C寄存器,以便在“執(zhí)行k+1”時供運算用。這樣,“執(zhí)行k”與“分析k+1”訪問通用寄存器組的時間關(guān)系如圖5-9所示。有些指令需要從通用寄存器組中取兩個操作數(shù)(L1)和(L圖5-9“執(zhí)行k”、“分析k+1”重疊時,訪問通用寄存器組的時間關(guān)系圖5-9“執(zhí)行k”、“分析k+1”重疊時,訪問如果在運算器的輸出到B或C輸入之間增設(shè)“相關(guān)專用通路”,如圖5-10所示,則在發(fā)生L1或L2相關(guān)時,接通相應(yīng)的相關(guān)專用通路,“執(zhí)行k”時就可以在將運算結(jié)果送入通用寄存器完成其應(yīng)有的功能的同時,直接將運算結(jié)果回送到B或C寄存器,從而大大縮短了其間的傳送時間,并保證“執(zhí)行k+1”用此操作數(shù)時,它已在B或C寄存器中準(zhǔn)備好了。如果在運算器的輸出到B或C輸入之間增設(shè)“相關(guān)專用通路”,圖5-10用相關(guān)專用通路解決通用寄存器組的數(shù)相關(guān)圖5-10用相關(guān)專用通路解決通用寄存器組的數(shù)設(shè)操作數(shù)的有效地址(Xd)+(B2)+d2是由分析器中的地址加法器形成的。由于多數(shù)情況的“分析”周期等于主存周期,因此,從時間上要求,在“分析”周期的前半段就應(yīng)由通用寄存器輸出總線取得(B2),送入地址加法器。

由于運算結(jié)果是在“執(zhí)行”周期的末尾才送入通用寄存器組的,因此它當(dāng)然不能立即出現(xiàn)在通用寄存器輸出總線上。

也就是說,在“執(zhí)行k”得到的、送入通用寄存器的運算結(jié)果是來不及為“分析k+2”作基址值用,更不用說為“分析k+1”作基址值用。設(shè)操作數(shù)的有效地址(Xd)+(B2)+d2是由分析器中即B(k+1)=L3(k)時發(fā)生B一次相關(guān),B(k+2)=L3(k)時發(fā)生B二次相關(guān),如圖5-11所示。即B(k+1)=L3(k)時發(fā)生B一次相關(guān),B(k+2)圖5-11B一次相關(guān)與二次相關(guān)圖5-11B一次相關(guān)與二次相關(guān)由圖5-11可見,B二次相關(guān)時,只需推后“分析k+2”的始點到“執(zhí)行k”送入通用寄存器的運算結(jié)果能在“分析k+2”開始時出現(xiàn)于通用寄存器輸出總線上即可,如圖5-12(a)所示。至于推后多少拍,這取決于通用寄存器組譯碼、讀

出機構(gòu)的具體邏輯組成。而對B一次相關(guān),則除此之外,還需再推后一個“執(zhí)行”周期,如圖5-12(b)所示。

由于B相關(guān)的概率并不是很低,增設(shè)B相關(guān)專用通路是值得的,辦法如圖5-13所示。由圖5-11可見,B二次相關(guān)時,只需推后“分析k+2圖5–12B一次與二次相關(guān)的推后處理(a)B二次相關(guān)的推后處理;(b)B一次相關(guān)的推后處理圖5–12B一次與二次相關(guān)的推后處理圖5-13B相關(guān)專用通路法圖5-13B相關(guān)專用通路法5.2.1基本概念

1.工作原理

“分析k+1”與“執(zhí)行k”的一次重疊是把指令的解釋過程分解成“分析”與“執(zhí)行”兩個子過程,在獨立的分析部件和執(zhí)行部件上時間重疊地進(jìn)行。若“分析”與“執(zhí)行”子過程都需要Δt1的時間,如圖5-14所示,則一條指令的解釋

需要2Δt1完成,但機器每隔Δt1就能解釋完一條指令。5.2流水方式5.2.1基本概念

1.工作原理

“分圖5-14指令分解為“分析”與“執(zhí)行”子過程圖5-14指令分解為“分析”與“執(zhí)行”子過程如果把“分析”子過程再細(xì)分成“取指令”、“指令譯碼”和“取操作數(shù)”3個子過程,并改進(jìn)運算器的結(jié)構(gòu)以加快其“執(zhí)行”子過程(如圖5-15(a)所示,這4個子過程分別由獨立的子部件實現(xiàn)),讓經(jīng)過的時間都等于Δt2,則指令解釋的時(間)空(間)關(guān)系如圖5-15(b)所示。圖中的1、2、3、4、5表示處理機所處理的第1、2、3、4、5條指令。如果把“分析”子過程再細(xì)分成“取指令”、“指令譯碼”和“圖5-15流水處理(a)指令解釋的流水處理;(b)流水處理的時(間)空(間)圖圖5-15流水處理

2.流水的分類

從不同的角度對流水可進(jìn)行不同的分類。

流水的向上擴展可理解為在多個處理機之間流水,如圖5-16所示。2.流水的分類

從不同的角度對流水可進(jìn)行不同的圖5-16處理機間的流水處理圖5-16處理機間的流水處理要完成多種功能的流水可將多個單功能流水線組合。如CRAY-1有12條單功能流水線,分別完成地址加、地址乘、標(biāo)量加、標(biāo)量移位、標(biāo)量邏輯運算、標(biāo)量數(shù)“數(shù)”、向量加、向量移位、向量邏輯運算、浮點加、浮點乘、浮點迭代求倒數(shù)。

多功能流水線指的是同一流水線的各個段之間可以有多種不同的連接方式,以實現(xiàn)多種不同的運算或功能。例如TI-ASC計算機的運算器流水線就是多功能的,它有8個可并行工作的獨立功能段,如圖5-17(a)所示。當(dāng)要進(jìn)行浮點加、減時,連接成如圖5-17(b)所示的形式。當(dāng)要進(jìn)行定點乘法運算時,連接成如圖5-17(c)所示的形式。要完成多種功能的流水可將多個單功能流水線組合。如CRAY圖5-17ASC計算機運算器的流水線(a)流水線的功能段;(b)浮點加、減法運算時的連接;(c)定點乘法運算時的連接圖5-17ASC計算機運算器的流水線圖5-18畫出了靜態(tài)和動態(tài)多功能流水線的時空圖,從中可以看出它們在工作方式和性能上的差異。

圖5-19就是一個非線性流水線,由4段組成,經(jīng)反饋回路和多路開關(guān)使某些段如2段、3段或4段可能要多次通過,而有些段如2段可能被跳過。圖5-18畫出了靜態(tài)和動態(tài)多功能流水線的時空圖,從中圖5-18靜、動態(tài)多功能流水線時空圖(a)靜態(tài);(b)動態(tài)圖5-18靜、動態(tài)多功能流水線時空圖圖5-19非線性流水線圖5-19非線性流水線5.2.2標(biāo)量流水線的主要性能

1.吞吐率Tp和加速比Sp

吞吐率是流水線單位時間里能流出的任務(wù)數(shù)或結(jié)果數(shù)。

在圖5-15(b)所示的流水線例中,各子過程經(jīng)過的時間都是Δt2,滿負(fù)荷后流水線每隔Δt2解釋完一條指令,其最大吞吐率Tpmax為1/Δt2。如果各個子過程所需的時間分別為Δt1、Δt2、Δt3、Δt4,時鐘周期應(yīng)當(dāng)為max{Δt1,Δt2,Δt3,Δt4},即流水線的最大吞吐率5.2.2標(biāo)量流水線的主要性能

1.吞吐率Tp【例5-1】

有一個4段的指令流水線如圖5-20(a)所示,其中,1、3、4段的經(jīng)過時間均為Δt0,只有2段的經(jīng)過時間為3Δt0,因此瓶頸在2段,使整個流水線的最大吞吐率只有1/(3Δt0),其時空圖如圖5-20(b)所示。即使流水線每隔Δt0流入一條指令,也會因來不及處理被堆積于2段,致使流水線仍只能每隔

3Δt0才流出一條指令?!纠?-1】

有一個4段的指令流水線如圖5-2圖5-20最大吞吐率取決于瓶頸段的時間圖5-20最大吞吐率取決于瓶頸段的時間消除瓶頸的一種辦法是將瓶頸子過程再細(xì)分。例如將2段再細(xì)分成21、22、23三個子段,如圖5-21(a)所示。讓各子段經(jīng)過時間都減少到Δt0,這樣,最大吞吐率就可提高到1/Δt0。圖5-21(b)是將瓶頸子過程再細(xì)分后的時空圖。

例如2段已不能再細(xì)分了,則可以通過重復(fù)設(shè)置多套(如此例用3套)瓶頸段并聯(lián),讓它們交叉并行,如圖5-22(a)所示。消除瓶頸的一種辦法是將瓶頸子過程再細(xì)分。例如將2段再細(xì)分圖5-21瓶頸子過程再細(xì)分圖5-21瓶頸子過程再細(xì)分圖5-22瓶頸子過程并聯(lián)圖5-22瓶頸子過程并聯(lián)設(shè)一m段流水線的各段經(jīng)過時間均為Δt0,則第1條指令從流入到流出需要T0=mΔt0的流水建立時間,之后每隔Δt0就可流出一條指令,圖5-23為其時空圖(這里設(shè)m=4)。這樣,完成n個任務(wù)的解釋共需時間T=mΔt0+(n-1)Δt0,流水線在這段時間里的實際吞吐率設(shè)一m段流水線的各段經(jīng)過時間均為Δt0,則第1條指令從流圖5-23從時空圖分析實際的吞吐率圖5-23從時空圖分析實際的吞吐率如果線性流水線每段經(jīng)過的時間Δti不等,其中瓶頸段的時間為Δtj,則完成n個任務(wù)所能達(dá)到的實際吞吐率其加速比如果線性流水線每段經(jīng)過的時間Δti不等,其中瓶頸段的時間

2.效率

流水線的效率是指流水線中設(shè)備的實際使用時間與整個運行時間之比,也稱流水線設(shè)備的時間利用率。

如果是線性流水線、任務(wù)間不相關(guān)且各段經(jīng)過的時間相同,如圖5-23所示那樣,則在T時間里,流水線各段的效率都相同,均為η0,即2.效率

流水線的效率是指流水線中設(shè)備的實際使用整個流水線的效率式中,分母mT是時空圖中m個段和流水總時間T所圍成的面積,分子mnΔt0是時空圖中n個任務(wù)實際使用的面積。同時還可以看出,當(dāng)為線性流水且每段經(jīng)過時間相等,任務(wù)間無相關(guān)時,流水線的效率才正比于吞吐率,即整個流水線的效率式中,分母mT是時空圖中m個段和流水總一般為提高效率、減少時空圖中空白區(qū)所采取的措施也會為提高吞吐率帶來好處。因此,在圖5-18所示的多功能流水線中,動態(tài)流水比起靜態(tài)流水減少了空白區(qū),從而使流水線吞吐率和效率都得到了提高,但是參照圖5-23,不難得出整個流水線的效率一般為提高效率、減少時空圖中空白區(qū)所采取的措施也會為提高

【例5-2】設(shè)向量[WTHX]A和B各有4個元素,要在圖5-24(a)所示的靜態(tài)雙功能流水線上計算向量點積

A·B=。

按此算法可畫出流水線工作的時空圖如圖5-24(b)所

示?!纠?-2】設(shè)向量[WTHX]A和B各有4個元素,圖5-24流水線工作舉例圖5-24流水線工作舉例該流水線的效率可用陰影區(qū)面積和全部5個段的總時空區(qū)面積之比求得,即

雖然效率連1/3都不到,但解題速度卻提高為串行的1.6倍,而且如果向量A、B的元素數(shù)增加時,還會使解題速度和效率進(jìn)一步提高。該流水線的效率可用陰影區(qū)面積和全部5個段的總時空區(qū)面積之5.2.3標(biāo)量流水機的相關(guān)處理和控制機構(gòu)

標(biāo)量流水線只有連續(xù)不斷地流動,不出現(xiàn)斷流,才能獲得高效率。造成流水線斷流的原因除了編譯形成的目標(biāo)程序不能發(fā)揮流水結(jié)構(gòu)的作用,或存儲系統(tǒng)供不上為連續(xù)流動所需的指令和操作數(shù)以外,還可能是由于出現(xiàn)了相關(guān)和中斷。5.2.3標(biāo)量流水機的相關(guān)處理和控制機構(gòu)

標(biāo)量流水

1.局部性相關(guān)的處理

指令相關(guān)、訪存操作數(shù)相關(guān)和通用寄存器組相關(guān)等局部性相關(guān)都是由于在機器同時解釋的多條指令之間出現(xiàn)了對同一主存單元或寄存器要求“先寫后讀”。

有一個8段的流水線,其中第2段為讀段,第7段為寫段,如圖5-25所示。1.局部性相關(guān)的處理

指令相關(guān)、訪存操作數(shù)相關(guān)和圖5-25順序流動和異步流動圖5-25順序流動和異步流動如果讓j之后的那些指令,如k,l,m,n等,只要與j沒有相關(guān),就越過j繼續(xù)向前流動,使得從某個時間看,指令在流水線內(nèi)的流動順序會如圖5-25中“可以不順序流動

”那行所示,那么流水線的吞吐率和效率都未下降,這就是異步流動方式。當(dāng)流水線采用異步流動方式后,會出現(xiàn)順序流動不會發(fā)生的其他相關(guān)。在流水線中同樣可以通過設(shè)置相關(guān)直接通路來減少吞吐率和效率的損失。如果讓j之后的那些指令,如k,l,m,n等,只要與j沒有圖5-26是IBM360/91浮點執(zhí)行部件的結(jié)構(gòu)框圖。浮點操作數(shù)緩沖器FLB接收和緩沖來自主存的操作數(shù)。要寫入存儲器的信息被送到存儲數(shù)據(jù)緩沖器SDB中緩沖。浮點執(zhí)行部件中的浮點加法器和浮點乘/除法器都是流水線,且能同時并行工作。圖5-26是IBM360/91浮點執(zhí)行部件的結(jié)構(gòu)框圖5-26IBM360/91的浮點執(zhí)行部件結(jié)構(gòu)圖5-26IBM360/91的浮點執(zhí)行部件結(jié)構(gòu)

2.全局性相關(guān)的處理

全局性相關(guān)指的是已進(jìn)入流水線的轉(zhuǎn)移指令(尤其是條件轉(zhuǎn)移指令)和其后續(xù)指令之間的相關(guān)。

(1)使用猜測法。

若指令i是條件轉(zhuǎn)移指令,有兩個分支,如圖5-27所示。2.全局性相關(guān)的處理

全局性相關(guān)指的是已進(jìn)入流圖5–27用猜測法處理條件轉(zhuǎn)移圖5–27用猜測法處理條件轉(zhuǎn)移

(2)加快和提前形成條件碼。

盡快、盡早獲得條件碼,以便提前知道流向哪個分支,會有利于流水機器簡化對條件轉(zhuǎn)移的處理。

(3)采取延遲轉(zhuǎn)移。

(4)加快短循環(huán)程序的處理。

(2)加快和提前形成條件碼。

盡快、盡早獲得條件碼

3.流水機器的中斷處理

中斷會引起流水線斷流,但其出現(xiàn)概率比條件轉(zhuǎn)移的概率要低得多,且又是隨機發(fā)生的。

4.非線性流水線的調(diào)度

由于線性流水線在執(zhí)行每個任務(wù)(指令、操作)的過程中,各段均只通過一次,因此,每拍都可以將一個新的任務(wù)送入流水線,這些任務(wù)不會爭用同一個流水線。

現(xiàn)設(shè)流水線由5段組成,段號k分別為1~5,任務(wù)經(jīng)過流水線總共需9拍,其預(yù)約表如圖5-28(a)所示。3.流水機器的中斷處理

中斷會引起流水線斷流,但圖5-28流水線預(yù)約表及狀態(tài)圖舉例(a)單功能流水線預(yù)約表舉例;(b)單功能流水線的狀態(tài)轉(zhuǎn)移示意圖5-28流水線預(yù)約表及狀態(tài)圖舉例表5-1給出了本例中各種調(diào)度方案的平均間隔拍數(shù)(平均延遲)。由表5-1可知,采用先隔3拍后隔4拍輪流給流水線送入任務(wù)的調(diào)度方案是最佳的,平均每隔3.5拍即可流入一個任務(wù),吞吐率最高。盡管(4,3)調(diào)度方案平均間隔拍數(shù)也是3.5拍,但若實際流入任務(wù)數(shù)是循環(huán)所需任務(wù)數(shù)的整數(shù)倍,則其實際吞吐率相對會低些,所以不作為最佳調(diào)度方案。表5-1給出了本例中各種調(diào)度方案的平均間隔拍數(shù)(平均表5-1各種調(diào)度方案的平均間隔拍數(shù)的例子表5-1各種調(diào)度方案的平均間隔拍數(shù)的例子【例5-3】

在一個4段的流水線處理機上需經(jīng)7拍才能完成一個任務(wù),其預(yù)約表如表5-2所示。

狀態(tài)轉(zhuǎn)移圖如圖5-29所示。

各種調(diào)度方案及其相應(yīng)的平均延遲如表5-3所示。【例5-3】

在一個4段的流水線處理機上需經(jīng)7拍才表5-27拍才能完成一個任務(wù)的預(yù)約表表5-27拍才能完成一個任務(wù)的預(yù)約表圖5-29例5-3的狀態(tài)轉(zhuǎn)移示意圖圖5-29例5-3的狀態(tài)轉(zhuǎn)移示意圖表5-3調(diào)度方案及其相應(yīng)的平均延遲表5-3調(diào)度方案及其相應(yīng)的平均延遲對于一個多功能流水線,只需要將對應(yīng)每種功能的預(yù)約表都重疊在一起即可。這里僅舉一個二功

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論