計算機體系結(jié)構(gòu)-第4章-流水線計算機設(shè)計技術(shù)_第1頁
計算機體系結(jié)構(gòu)-第4章-流水線計算機設(shè)計技術(shù)_第2頁
計算機體系結(jié)構(gòu)-第4章-流水線計算機設(shè)計技術(shù)_第3頁
計算機體系結(jié)構(gòu)-第4章-流水線計算機設(shè)計技術(shù)_第4頁
計算機體系結(jié)構(gòu)-第4章-流水線計算機設(shè)計技術(shù)_第5頁
已閱讀5頁,還剩85頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章流水線計算機設(shè)計技術(shù)4.1重疊解釋方式和相關(guān)處理4.2流水線的工作原理4.3流水線的特點4.4流水線的分類4.5線性流水線性能分析4.6線性流水線性能分析舉例4.7非線性流水線的基本概念計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第1頁。4.8相關(guān)處理和控制機構(gòu)4.9先進(jìn)的流水技術(shù)—動態(tài)調(diào)度4.10超標(biāo)量處理機和VLIW體系結(jié)構(gòu)4.11超流水處理機4.12超標(biāo)量超流水處理機習(xí)題4計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第2頁。4.1重疊解釋方式和相關(guān)處理4.1.1重疊解釋方式的提出解釋一條機器指令的那些微操作可分解成取指令、分析指令與執(zhí)行指令,從時間上看如圖4.1所示。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第3頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第4頁。

取指令指的是按指令計數(shù)器的內(nèi)容訪問主存,取出該指令送到指令寄存器。

指令的分析指的是對指令的操作碼進(jìn)行譯碼,按尋址方式和地址字段形成操作數(shù)的有效地址,并用此有效地址去取操作數(shù)(可能訪主存,也可能訪寄存器),還要為準(zhǔn)備取下一條指令提前形成下一條指令的地址等。

指令的執(zhí)行則指的是對操作數(shù)進(jìn)行運算、處理,或存儲運算結(jié)果(可能要訪主存)。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第5頁。

指令的解釋方式可以有順序解釋方式和重疊解釋方式。

指令的順序解釋方式是指各條機器指令之間順序串行地執(zhí)行,執(zhí)行完一條指令后才取出下一條指令來執(zhí)行,而且每條機器指令內(nèi)部的各條微指令也是順序串行地執(zhí)行,如圖4.2所示。順序執(zhí)行的優(yōu)點是控制簡單。由于下一條指令的地址是在指令解釋過程的末尾形成的,因此無論是由指令計數(shù)器加1,還是由轉(zhuǎn)移指令把轉(zhuǎn)移地址送到指令地址計數(shù)器,形成下一條指令的地址,由本條指令轉(zhuǎn)入下一條指令的時間關(guān)系都是一樣的。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第6頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第7頁。

但由于是順序執(zhí)行的,上一步操作未完成,下一步操作就不能開始。因此,帶來的主要缺點是速度慢,機器各部件的利用率很低。例如,在取指令和取操作數(shù)期間,主存儲器是忙碌的,但是運算器處于空閑狀態(tài)。在對操作數(shù)執(zhí)行運算期間,運算器是忙碌的,而主存卻是空閑的。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第8頁。

指令的另一種解釋方式是重疊解釋方式,在解釋第k條指令的操作完成之前,就可開始解釋第k+1條指令。顯然,重疊解釋并不能加快一條指令的實現(xiàn),但能加快相鄰兩條以至一段程序的解釋。圖4.3給出了指令的重疊解釋的方式。至于中央處理機、存儲器和輸入輸出設(shè)備之間的重疊操作,也是一種重疊方式,是實現(xiàn)I/O指令與其它指令的重疊。在一般的機器上,操作數(shù)和指令是混合存貯于同一主存內(nèi)的,而且主存同時只能訪問一個存貯單元。從圖4.3可以看出,重疊解釋方式需要“取指k+1”與“分析k”在時間上重疊,顯然,對于一般機器,取指需要訪問主存,分析中取操作數(shù)也可能訪問主存。如果不在硬件上花費一定的代價解決好訪主存的沖突,就無法實現(xiàn)“取指k+1”與“分析k”的重疊。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第9頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第10頁。

為實現(xiàn)“取指k+1”與“分析k”的重疊對計算機組成有如下要求:

(1)讓操作數(shù)和指令分別存放于兩個獨立編址且可同時訪問的存儲器中;這還有利于實現(xiàn)指令的保護(hù),但這增加了主存總線控制的復(fù)雜性及軟件設(shè)計的麻煩。

(2)仍然維持指令和操作數(shù)混存,但采用多體交叉主存結(jié)構(gòu);只要第k條指令的操作數(shù)與第k+1條指令不在同一個存儲體內(nèi),仍可在一個主存周期(或稍許多一些時間)內(nèi)取得這兩者,從而實現(xiàn)“分析k”與“取指k+1”重疊。當(dāng)然,若這兩者正好共存于一個體時就無法重疊。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第11頁。(3)增設(shè)指令緩沖寄存器。設(shè)置指令緩沖寄存器就可以乘主存有空時,預(yù)先把下一條或下幾條指令取出來存放在指令緩沖寄存器中。最多可預(yù)取多少條指令取決于指令緩沖寄存器的容量。這樣,“分析k”就能與“取指k+1”重疊,因為只是前者需訪主存取操作數(shù),而后者是從指緩取第k+1條指令。只要每次取指都可從指緩中得到,則“取指k+1”的時間很短,完全可以把這個微操作合并到“分析k+1”內(nèi),從而由原來的取指、分析、執(zhí)行重疊演變成只需“執(zhí)行k”與“分析k+1”的一次重疊,如圖4.4所示。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第12頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第13頁。4.2流水線的工作原理

如果CPU用一次重疊方式解釋指令仍達(dá)不到所要求的速度性能時,可以考慮同時解釋多條指令。其中最常用的是流水方式,它是通過并行硬件來改善性能的最普通的手段。在60年代,硬件的價格相對較高,流水線計算機都是巨型機。IBM的STRETCH和CDC的6600就是60年代早期大量應(yīng)用流水線的兩種機器,它們對后來巨型機的結(jié)構(gòu)產(chǎn)生了深刻的影響。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第14頁。

計算機的流水技術(shù)是如何工作的呢?流水技術(shù)的基本思想在馮·諾依曼的第一臺存儲程序計算機中已經(jīng)提出。流水技術(shù)早已應(yīng)用于社會生產(chǎn)與活動的各個方面,并不是計算機所特有的。其主要特點是在一個任務(wù)完成以前就可以開始一個新的任務(wù)。先看一次重疊的情況,“執(zhí)行k”與“分析k+1”的一次重疊是把一條指令的解釋過程分解成“分析”與“執(zhí)行”兩個子過程,分別在獨立的分析部件和執(zhí)行部件上進(jìn)行。

因此,不必等一條指令的“分析”、“執(zhí)行”子過程都完成才送入下條指令,而是分析部件在完成一條指令的“分析”子過程時,就可開始下一條指令的“分析”子過程。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第15頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第16頁。

若“分析”與“執(zhí)行”子過程都需要Δt的時間,如圖4.15所示,就一條指令的解釋來看,需要2Δt才能完成,但從機器的輸出來看,每隔Δt就能完成一條指令的解釋。也就意味著,一次重疊解釋比起指令的串行解釋,可使機器的最大吞吐率提高一倍。這里的最大吞吐率是指當(dāng)流水線正常滿負(fù)荷工作時,單位時間內(nèi)機器所能處理的最多指令條數(shù)或機器能輸出的最多結(jié)果數(shù)。若將指令的分析和執(zhí)行部分進(jìn)一步細(xì)分成一些子過程,并改進(jìn)相應(yīng)硬件的結(jié)構(gòu),使得子過程分別由獨立的子部件實現(xiàn),形成流水處理的方式,其最大吞吐率可進(jìn)一步提高,如圖4.16的流水處理過程和相應(yīng)的時-空圖。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第17頁。

如圖4.16(a)所示,把“分析”子過程再細(xì)分成“取指令”、“指令譯碼”和“取操作數(shù)”3個子過程,并改進(jìn)運算器的結(jié)構(gòu)以加快其“執(zhí)行”子過程,這4個子過程分別由獨立的子部件實現(xiàn),讓經(jīng)過各子部件的時間都相同,用Δt1表示,則指令解釋的時間-空間關(guān)系如圖4.16(b)所示。

一條指令從進(jìn)入流水線到結(jié)果流出需經(jīng)歷“取指令”、“指令譯碼”、“取操作數(shù)”和“執(zhí)行”4個子過程,每個子過程需要Δt1的時間,一條指令的解釋需要4Δt1的時間完成。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第18頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第19頁。

當(dāng)?shù)?條指令完成“取指令”子過程時,就可以開始第2條指令的“取指令”子過程;當(dāng)?shù)?條指令完成“指令譯碼”子過程而進(jìn)入“取操作數(shù)”子過程時,可以開始第2條指令的“指令譯碼”子過程,同時,第2條指令的“取指令”子過程結(jié)束,可以開始第3條指令的“取指令”子過程;依此類推,當(dāng)?shù)?條指令進(jìn)入“執(zhí)行”子過程時,第2條指令可進(jìn)入“取操作數(shù)”子過程,第3條指令可進(jìn)入“指令譯碼”子過程,第4條指令可進(jìn)入“取指令”子過程。顯然,圖4.16(b)中的流水線可同時解釋4條指令。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第20頁。

如果完成一條指令的時間為T,則對于分解為“分析”和“執(zhí)行”兩個子過程的,其T=2Δt,而對于分解為“取指令”、“指令譯碼”、“取操作數(shù)”和“執(zhí)行”4個子過程的,其T=4Δt1。這樣,雖然完成一條指令所需時間仍是T,對于順序解釋方式,每隔T由處理機“流出”一個結(jié)果;但對圖4.15的重疊方式是每隔T/2(即每隔Δt)就可由處理機“流出”一個結(jié)果,吞吐率提高了一倍;而對圖4.16的流水方式是每隔T/4(即每隔Δt1)“流出”一個結(jié)果,即吞吐率比順序方式提高了三倍。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第21頁?!傲魉痹诟拍钌吓c“重疊”沒有什么差別,可以看成是“重疊”的進(jìn)一步引伸。兩者的差別只在于“一次重疊”只是把一條指令的解釋分解為兩個子過程,而“流水”則是分解成更多個子過程。前者同時解釋兩條指令,后者可同時解釋多條指令。例如圖4.16的流水處理過程可同時解釋4條指令。如果能把一條指令的解釋分解成時間相等的N個子過程,則每隔Δt=T/N就可以處理一條指令。如圖4.17所示,這意味著,流水線的最大吞吐率是取決于子過程所經(jīng)過的時間Δt,Δt越小,流水線的最大吞吐率就越高。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第22頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第23頁。

如果流入流水線的指令數(shù)為6,則從第1條指令流入,到第6條指令的結(jié)果流出,所需要的時間為(NΔt+5Δt)。

如果流入流水線的指令數(shù)是X,則從第1個指令流入,到第X條指令的結(jié)果流出,所需要的時間為

(NΔt+(X-1)Δt)。設(shè)流水線對一條指令的解釋可以細(xì)分為n個子過程,每個子過程處理的時間均為Δt,若有m條指令進(jìn)入該流水線,則從第1條指令流入,到第m條指令的結(jié)果流出所需要的時間定義為Tm,則有:

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第24頁。

從第1條指令流入流水線開始,到最后一個結(jié)果流出的這一段時間內(nèi),每隔Δt流出一個結(jié)果。應(yīng)該注意的是,只有當(dāng)流水線正常滿負(fù)荷流動時,才會每隔Δt流出一個結(jié)果。流水線從開始啟動工作到流出第一個結(jié)果,需要經(jīng)過一段流水線的建立時間,在這段時間里流水線并沒流出任何結(jié)果。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第25頁。

在計算機實際的流水線中,各子部件經(jīng)過的時間會有差異。為解決這些子部件處理速度的差異,一般在子部件之間需設(shè)置高速接口鎖存器。所有鎖存器都受同一時鐘信號控制來實現(xiàn)各子部件信息流的同步推進(jìn)。

時鐘信號周期不得低于速度最慢子部件的經(jīng)過時間與鎖存器的存取時間之和,還要考慮時鐘信號到各鎖存器可能存在時延差。所以,子過程的細(xì)分,會因鎖存器數(shù)增多而增大指令或指令流過流水線的時間,這在一定程度上會抵消子過程細(xì)分而使流水線吞吐率得到提高的好處。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第26頁。4.3流水線的特點

在流水技術(shù)中,一般有如下特點:一條流水線通常由多個流水段組成;各個流水段分別承擔(dān)不同的工作,也可以把這些流水段看作功能部件。在實際機器中,一條流水線的功能部件按完成的任務(wù)及采用的設(shè)計思想不同,其數(shù)目也各不相同。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第27頁。

例如,80486、Pentium的流水線設(shè)計為5段,PentiumIII的流水線設(shè)計為10段,PentiumIV的流水線達(dá)到了20段;DEC的Alpha21064處理機共有三條指令流水線,整數(shù)操作流水線和訪問存儲器流水線分為7個流水段,而浮點操作流水線分為10個流水段。每個流水段有專門的功能部件對指令進(jìn)行某種加工;例如,80486的流水線分為5段,分別為“取指令”、“譯碼段1”、“譯碼段2”、“執(zhí)行”和“寫回”。

在譯碼段1完成所有的操作碼和尋址方式的譯碼工作。

而在譯碼段2則將每個操作碼擴展成對ALU的控制信號。

在執(zhí)行段則要完成ALU運算、Cache訪問和寄存器修改。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第28頁。

流水線工作階段可分為建立、滿載和排空三個階段。

從第一個任務(wù)進(jìn)入流水線到流水線所有的部件都處于工作狀態(tài)的這一個時期,稱為流水線的建立階段。

當(dāng)所有部件都處于工作狀態(tài)時,稱為流水線的滿載階段。

從最后一條指令流入流水線到結(jié)果流出,稱為流水線的排空階段。

在理想情況下,當(dāng)流水線充滿后,每隔Δt時間將會有一個結(jié)果流出流水線。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第29頁。4.4流水線的分類

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

4.4.1根據(jù)向下擴展和向上擴展的思想分類依據(jù)向下擴展和向上擴展的思想,可分類出在計算機系統(tǒng)不同等級上使用的流水線。

向下擴展是指把子過程進(jìn)一步向下細(xì)分,讓每個子過程經(jīng)過的時間都同等程度地減少,吞吐率就會進(jìn)一步提高。如把圖4.15中的“分析”子過程細(xì)分為“取指令”、“指令譯碼”和“取操作數(shù)”3個子過程。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第30頁。

在機器中“執(zhí)行”子過程會因指令不同,執(zhí)行時間不同,而使細(xì)分的情形不同。如浮點加法可進(jìn)一步細(xì)分成為“求階差”、“對階”、“尾數(shù)相加”和“規(guī)格化”4個子過程,如圖4.18所示。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第31頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第32頁。

子過程的進(jìn)一步細(xì)分是以增加設(shè)備為代價的。例如,“求階差”和“尾數(shù)相加”都要用到加法器,為此需要分別設(shè)置階碼加法器和尾數(shù)加法器?!皩﹄A”和“規(guī)格化”都要用到移位也就需要分別設(shè)置兩套移位器。設(shè)備的增加不僅會使成本增加,也使控制變得復(fù)雜。但它比起完全靠重復(fù)設(shè)置多套分析部件和執(zhí)行部件來提高指令并行性,其設(shè)備量的增加畢竟要少得多。子過程細(xì)分并不是無止境的,因為級間緩沖器數(shù)的增多,使成本提高,輔助延時增大,控制復(fù)雜,電路設(shè)計和實現(xiàn)困難等,抵消了子過程細(xì)分帶來的好處。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第33頁。PentiumIII的流水線設(shè)計為10段,AMDAthlon的流水線有11段,PentiumIV的流水線達(dá)到了20段,PentiumIV的Willamette版本在運行一些測試程序時,其性能比相同時鐘頻率PentiumIII及AMDAthlon要低10%~20%。但是子過程的細(xì)分可以在相同設(shè)計條件和生產(chǎn)工藝下提高芯片的時鐘頻率,PentiumIII處理器擁有10級的流水線設(shè)計,其頻率很難超過1GHz;而PentiumIV處理器采用了20級的流水線,其頻率已經(jīng)突破3GHz。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第34頁。

向上擴展可理解為在多個處理機之間進(jìn)行流水。如圖4.19所示。多個處理機串行地對數(shù)據(jù)集進(jìn)行處理,某個處理機專門完成其中的一個任務(wù)。因為各個處理機都在同時工作,所以能對多個不同的數(shù)據(jù)集流水地處理,使計算機系統(tǒng)處理能力有較大的提高。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第35頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第36頁。

綜上所述,按流水處理的級別不同,可以把流水線分為部件級、處理機級和系統(tǒng)級的流水。部件級流水是指構(gòu)成部件內(nèi)的各個子部件之間的流水,如運算器內(nèi)浮點加法流水線及Cache和多體交叉主存的流水。處理機級流水是指構(gòu)成處理機的各個部件的流水,如“取指”、“分析”、“執(zhí)行”間的流水。系統(tǒng)級流水是指構(gòu)成計算機系統(tǒng)的多個處理機之間的流水,也稱為宏流水。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第37頁。4.8相關(guān)處理和控制機構(gòu)

流水線只有連續(xù)不斷地流動,即不出現(xiàn)“斷流”,才能獲得高效率。

造成流水線“斷流”的原因很多,有編譯程序形成的目標(biāo)程序不能發(fā)揮流水結(jié)構(gòu)的作用,存儲系統(tǒng)供不上為連續(xù)流動所需的指令和操作數(shù),轉(zhuǎn)移(無條件轉(zhuǎn)移、條件轉(zhuǎn)移)指令的使用,相關(guān)(指令相關(guān)、主存操作數(shù)相關(guān)和通用/變址寄存器組操作數(shù)相關(guān))和中斷的出現(xiàn)等。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第38頁。

指令相關(guān)、主存操作數(shù)相關(guān)和通用/變址寄存器組操作數(shù)相關(guān)由于只影響相關(guān)的二條或幾條指令,而至多影響流水線某些段的推后工作,并不會改動指令緩沖器中預(yù)取到的指令內(nèi)容,影響是局部的,所以被稱之為局部性相關(guān)。轉(zhuǎn)移指令和其后的指令之間存在關(guān)聯(lián),使之不能同時解釋,其造成的對流水機器的吞吐率和效率下降的影響要比指令相關(guān)、主存操作數(shù)相關(guān)和通用/變址寄存器操作數(shù)相關(guān)嚴(yán)重得多,它可能會造成流水線中很多已被解釋的指令作廢,重新預(yù)取指令進(jìn)入指令緩沖寄存器,它將影響整個程序的執(zhí)行順序,所以稱之為全局性相關(guān)。局部相關(guān)與全局相關(guān)計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第39頁。4.8.1局部性相關(guān)的處理局部性相關(guān)包括指令相關(guān)、訪存操作數(shù)相關(guān)和通用/變址寄存器組操作數(shù)相關(guān)等,都是由于在機器同時解釋的多條指令之間出現(xiàn)了對同一個單元(包括主存單元和通用寄存器)的“先寫后讀”要求。處理這些局部性相關(guān)時有兩種辦法:一種辦法是推后對相關(guān)單元的讀,直至寫入完成;另一種辦法是設(shè)置相關(guān)專用通路,使得不必先把運算結(jié)果寫入相關(guān)存儲單元,再由它讀出后才能使用,而是經(jīng)相關(guān)專用通路直接使用運算結(jié)果,這樣,就可省去“寫入”和“讀出”兩個訪問周期。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第40頁。

順序流動方式是指流水線輸出端的任務(wù)(指令)流出順序和輸入端的流入順序一樣。如圖4.34所示,有一個8段的流水線,其中第2段為讀段,第7段為寫段。有一串指令h、i、j、k、l、m、……依次流入,當(dāng)指令j的源操作數(shù)地址與指令h的目的操作數(shù)地址相同時,h和j就發(fā)生了先寫后讀的操作數(shù)相關(guān)。順序流動方式時,就要求j流到讀段時必須停下來等待,直到h到達(dá)寫段并完成寫入后,才能繼續(xù)向前流動,否則j將會因讀出的不是h寫入后的內(nèi)容而造成錯誤。對流水的流動順序的安排和控制可以有兩種方式:順序流動方式和異步流動方式。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第41頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第42頁。

這是一種推后對相關(guān)單元讀的辦法,由于j停下來,j之后的指令也被迫停下來。順序流動方式的優(yōu)點是控制比較簡單。例如TI-ASC機就采用了這種方式。其缺點是一旦相關(guān)后,在空間和時間上都會有損失,使得流水線的吞吐率和功能部件的利用率降低??臻g上會有功能段空閑出來,使部件利用率(效率)降低,時間上推后流出,會使流水線吞吐率降低。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第43頁。

異步流動方式是指流水線輸出端的任務(wù)(指令)流出順序和輸入端的流入順序可以不一樣。異步流動方式的優(yōu)點是流水線的吞吐率和功能部件的利用率都不會下降。如圖4.34的“可以不順序流動的”那行所示的指令在流水線內(nèi)的流動順序,如果讓j之后的那些指令,如k、l、m、n等,只要與j沒有相關(guān),就越過j繼續(xù)向前流動。但采用異步流動方式帶來了新的問題,采用異步流動的控制復(fù)雜,而且會發(fā)生在順序流動中不會出現(xiàn)的其它相關(guān)。由于異步流動要改變指令的執(zhí)行順序,同時流水線的異步流動還會使相關(guān)情況復(fù)雜化,出現(xiàn)除“先寫后讀”相關(guān)外的“寫-寫”相關(guān)、“先讀后寫”相關(guān)等。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第44頁。

例如,若指令i、k都有寫操作,而且是寫入同一單元,那該單元的最后內(nèi)容本應(yīng)是指令k的寫入結(jié)果。但是,由于指令i執(zhí)行時間很長或有“先寫后讀”相關(guān),就會出現(xiàn)指令k先于指令i到達(dá)“寫段”,從而使得該單元的最后內(nèi)容錯為指令i的寫入結(jié)果。我們稱這種對同一單元,要求在先的指令先寫入,在后的指令后寫入的關(guān)聯(lián)為“寫-寫”相關(guān)。采用異步流動時,應(yīng)在控制機構(gòu)上保證當(dāng)發(fā)生“寫-寫”相關(guān)后寫入的先后順序不變。另外,若指令i的讀操作和指令k的寫操作是對應(yīng)于同一單元,指令i讀出的本應(yīng)是該單元的原存內(nèi)容。但若指令k越過指令i向前流,且其寫操作在指令i的讀操作開始前完成,那指令i就會錯誤地讀出了指令k的寫入結(jié)果。我們稱這種對同一單元,要求在先的指令先讀出,在后的指令才寫入的關(guān)聯(lián)為“先讀后寫”相關(guān)。

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第45頁。

顯然,“寫-寫”相關(guān)和“先讀后寫”相關(guān)都只有在異步流動時才有可能發(fā)生,順序流動時是不可能發(fā)生的。所以,在設(shè)計采用異步流動方式工作時,控制機構(gòu)應(yīng)能處理好這3種關(guān)系。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第46頁。4.8.2全局性相關(guān)的處理全局性相關(guān)指的是已進(jìn)入流水線的轉(zhuǎn)移指令(尤其是條件轉(zhuǎn)移指令)和其后面的指令之間的相關(guān)。下面介紹一些常用的處理方法。

1.分支預(yù)測技術(shù)若指令i是條件轉(zhuǎn)移指令,它有兩個分支,如圖4.35所示。一個分支是i+1、i+2、i+3、…,按原來的順序繼續(xù)執(zhí)行下去,稱轉(zhuǎn)移不成功分支,另一個分支是轉(zhuǎn)向p,然后繼續(xù)執(zhí)行p+1、p+2、…,稱為轉(zhuǎn)移成功分支。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第47頁。

流水方式是同時解釋多條指令,因此,當(dāng)指令i進(jìn)入流水線,后面進(jìn)i+1還是進(jìn)p,只有等條件碼建立才能知道,而這一般要等該條件轉(zhuǎn)移指令快流出流水線時才行。如果在此期間讓i之后的指令等著,流水線就會“斷流”,性能將會急劇下降。為了在遇到條件轉(zhuǎn)移指令后,流水線仍能繼續(xù)向前流動,不使吞吐率和效率下降,絕大多數(shù)機器都采用所謂的“猜測法”,即分支預(yù)測技術(shù)。猜取第i+1條指令和第p條指令所在分支中的一個繼續(xù)向前流動。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第48頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第49頁。

分支預(yù)測技術(shù)可以分為靜態(tài)分支預(yù)測和動態(tài)分支預(yù)測,這里我們討論靜態(tài)分支預(yù)測技術(shù),可以有兩種實現(xiàn)方法。一種是分析程序結(jié)構(gòu)本身的特點或使用該程序以前運行時收集的模擬信息。不少條件轉(zhuǎn)移兩個分支的出現(xiàn)概率是能夠預(yù)估的,只要程序設(shè)計者或編譯程序把出現(xiàn)概率高的分支安排為猜選分支,就能顯著減少由于處理條件轉(zhuǎn)移所帶來的流水線吞吐率和效率的損失。

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第50頁。

另一種是按照分支的方向來預(yù)測分支是否轉(zhuǎn)移成功,當(dāng)兩者概率差不多時,一般選取不成功轉(zhuǎn)移分支。因為這些指令一般已預(yù)取進(jìn)指令緩沖器,可以很快從指令緩沖器取出,進(jìn)入流入線而不必等待。如果猜選成功轉(zhuǎn)移分支,指令p很可能不在指令緩沖器中,需花較長時間去訪存取得,使流水線實際上斷流。例如IBM360/91就采用轉(zhuǎn)移不成功分支。但這兩種方法猜錯的概率都不會低于30%。要提高預(yù)測的準(zhǔn)確度,可以采用動態(tài)預(yù)測的方法,在硬件上建立分支預(yù)測緩沖站及分支目標(biāo)緩沖站,根據(jù)執(zhí)行過程中轉(zhuǎn)移的歷史記錄來動態(tài)的預(yù)測轉(zhuǎn)移選擇,其預(yù)測準(zhǔn)確度可以提高到90%左右。這種方法在POWERPC620的分支預(yù)測中得到了采用。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第51頁。

顯然,采用猜測法的控制機構(gòu)應(yīng)能保證在猜錯時可返回到分支點之前,并能把沿猜測分支流水時的指令的已有解釋全部作廢,并恢復(fù)分支點處的原有現(xiàn)場。恢復(fù)已經(jīng)開始解釋的那些指令的原有現(xiàn)場有如下三種方法:一是對猜測指令的解釋只完成譯碼和準(zhǔn)備好操作數(shù),在轉(zhuǎn)移條件碼出現(xiàn)前不執(zhí)行運算;二是對猜測指令的解釋可完成到運算完畢,但不送回運算結(jié)果;然而早期所用的這兩種辦法不方便,因為若猜對后還要讓這些指令繼續(xù)完成余留的操作。隨著器件技術(shù)的發(fā)展,已經(jīng)可以讓它們和正常情況一樣,不加區(qū)別地全部解釋完。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第52頁。

三是對在流水線中的猜測指令不加區(qū)別地全部解釋完,但需把可能被破壞的原始狀態(tài)都用后援寄存器保存起來,一旦猜錯就取出后援寄存器的內(nèi)容來恢復(fù)分支點的現(xiàn)場。一般猜對的概率要高,猜對后既不用恢復(fù),也不用再花時間去完成余留的操作。因此,采用后援寄存器法比前兩種方法的實現(xiàn)效率會更高一些。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第53頁。2.加快和提前形成條件碼盡快、盡早獲得條件碼以便提前知道流向哪個分支,是會有利于流水機器簡化對條件轉(zhuǎn)移的處理的。這可以從兩方面采取措施:

(1)加快單條指令內(nèi)部條件碼的形成,這特別適合于轉(zhuǎn)移條件碼是由上一條運算型指令產(chǎn)生的情形。由于一條運算型指令在其執(zhí)行完畢之前,就能形成反映運算結(jié)果的部分條件碼,如零標(biāo)志、符號標(biāo)志等,因此可以在取得操作數(shù)之后、開始運算之前形成條件碼。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第54頁。(2)在一段程序內(nèi)提前形成條件碼,這特別適合于循環(huán)程序在判斷循環(huán)是否結(jié)束時的轉(zhuǎn)移情況。如下8088匯編語言程序段中指令“JNEL”要判斷的條件(通過指令“DECCX”指令生成的)可提前形成。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第55頁。LEASI,ALEASI,ALEADI,BLEADI,BMOVCX,10MOVCX,10L:MOVAX,[SI]L:DECCXMOV[DI],AXMOVAX,[SI]INCSIMOV[DI],AXINCSIINCSIINCDIINCSIINCDIINCDIDECCXINCDIJNELJNEL計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第56頁。3.加快短循環(huán)程序的處理由于程序中廣泛采用循環(huán)結(jié)構(gòu),流水機器多數(shù)采取特殊措施以加快循環(huán)程序的處理,具體有以下兩種:

(1)首尾聯(lián)接;由于返回到循環(huán)程序本身的概率要比轉(zhuǎn)到另一個程序的概率高得多,因此對循環(huán)程序出口端的條件轉(zhuǎn)移指令,若按通常方法處理,那么就會出現(xiàn)如前所述的斷流現(xiàn)象。采用首尾聯(lián)接就是為了盡可能使指令緩沖器或指令堆棧內(nèi)的這種循環(huán)程序連接流動,連續(xù)解釋。

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第57頁。(2)“向后8條”檢查。將整個循環(huán)程序放入指令緩沖器,以減少執(zhí)行循環(huán)程序的訪存次數(shù)。對于成功轉(zhuǎn)移的條件轉(zhuǎn)移指令,若轉(zhuǎn)向的目標(biāo)地址與條件轉(zhuǎn)移指令地址之間相隔8條指令或更少,那就認(rèn)為是遇到了短循環(huán)程序,就要把從轉(zhuǎn)向的目標(biāo)地址到條件轉(zhuǎn)移指令地址間的這段程序全部搬入指令緩沖器內(nèi)。

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第58頁。4.8.3流水機器的中斷處理中斷會引起流水線斷流。然而,其出現(xiàn)概率比條件轉(zhuǎn)移的概率要低得多,且又是隨機發(fā)生的。所以,流水機器處理中斷主要是如何處理好斷點現(xiàn)場的保存和恢復(fù),而不是如何縮短流水線的斷流時間。流水機器的中斷會產(chǎn)生2個問題:

(1)引起流水線斷流;由于中斷的出現(xiàn)一般是不能預(yù)知的,因此無法消除中斷時引起流水線的斷流現(xiàn)象。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第59頁。(2)如何保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場。這是流水機器的中斷處理中的關(guān)鍵問題?,F(xiàn)場包括兩個方面:一是提供給中斷服務(wù)子程序的準(zhǔn)確的斷點現(xiàn)場;準(zhǔn)確的斷點現(xiàn)場是指若在執(zhí)行完第i條指令時響應(yīng)中斷請求,送給中斷處理程序的就是對應(yīng)于第i條指令的中斷現(xiàn)場,如第i條指令的程序狀態(tài)字等。二是在中斷處理完后恢復(fù)到斷點處指令流水線的指令現(xiàn)場。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第60頁。

流水機器的中斷處理有兩種方法:

(1)不精確斷點法;不論第i條指令在流水線的哪一段發(fā)出中斷申請,都不再允許那時還未進(jìn)入流水線的后續(xù)指令再進(jìn)入,但已在流水線的所有指令卻可仍然流動到執(zhí)行完畢,然后才轉(zhuǎn)入中斷處理程序。采用這種中斷處理方法,只有當(dāng)?shù)趇條指令是在第1段發(fā)的中斷申請時,斷點才是正確的。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第61頁。(2)精確斷點法。不論第i條指令是在流水線中哪一段發(fā)的中斷申請,給中斷處理程序的現(xiàn)場全都是對應(yīng)第i條的,在第i條之后進(jìn)入流水線的指令的原有現(xiàn)場都能恢復(fù)。精確斷點法需要采用很多的后援寄存器(分別保存各條指令在流水線中執(zhí)行時的狀態(tài),其內(nèi)容隨流水線的流動而變化),以保證流水線內(nèi)各條指令的原有狀態(tài)都能保存和恢復(fù)。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第62頁。4.10超標(biāo)量處理機和VLIW體系結(jié)構(gòu)4.10.1超標(biāo)量處理機超標(biāo)量(superscalar)機器最早在1987年提出,它是為改善標(biāo)量指令執(zhí)行性能而設(shè)計的機器。超標(biāo)量方法是高性能通用處理器發(fā)展的一個方向,其本質(zhì)是在不同的流水線中執(zhí)行不相關(guān)指令的能力,在當(dāng)前的大多數(shù)處理器的設(shè)計中,都引入了超標(biāo)量設(shè)計技術(shù)。超標(biāo)量處理機中,使用了多指令流水線。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第63頁。

這意味著每個周期要發(fā)射多條指令并產(chǎn)生多個結(jié)果。設(shè)計超標(biāo)量處理機時,要考慮使它能對用戶程序開發(fā)更多的指令級并行性。但是,只有不相關(guān)的指令才能并行執(zhí)行而不相互等待。指令級并行性的變化是很大的,這與執(zhí)行代碼的類型有很大的關(guān)系。對于一般的流水機器,在一個周期內(nèi)只能發(fā)射一條指令,每個周期只能流出一個結(jié)果。若其指令的流程為:“取指”→“譯碼”→“分析”→“執(zhí)行”,則單發(fā)射基準(zhǔn)流水線的流水操作如圖4.39所示。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第64頁。取指譯碼分析執(zhí)行01234567時間圖4.39單發(fā)射基準(zhǔn)流水線的流水操作計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第65頁。

經(jīng)統(tǒng)計發(fā)現(xiàn),對于沒有循環(huán)展開(loopnurolling)的指令代碼,指令級并行性的平均值大約是2。因此,這些代碼沒有從每個周期發(fā)射超過3條指令的機器中得到更多的好處。在超標(biāo)量處理機中,指令發(fā)射度(instruction-issuedegree)實際上被限制在2到5。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第66頁。每拍啟動3條指令要求并行度=301234567時間圖4.403發(fā)射超標(biāo)量流水線計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第67頁。

超標(biāo)量流水線是指在每個機器周期內(nèi)要同時發(fā)射多條指令并產(chǎn)生多個結(jié)果的流水線。超標(biāo)量方法的實現(xiàn)依賴系統(tǒng)并行執(zhí)行多條指令的能力,即指令并行執(zhí)行的程度。這主要看硬件技術(shù)與編譯器結(jié)合所能夠達(dá)到最大程度的指令級并行性。超標(biāo)量處理器主要是借助對硬件資源重復(fù)來實現(xiàn)空間的并行操作。圖4.40給出了并行度為3的超標(biāo)量流水線的流水操作過程。

計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第68頁。與一般的流水機器相比,超標(biāo)量處理器的特點主要表現(xiàn)在:

(1)配置有多個性能不同的處理部件,采用多條流水線并行處理;

(2)能同時對若干條指令進(jìn)行譯碼,將可并行執(zhí)行的指令送往不同的執(zhí)行部件,從而達(dá)到在每個周期啟動多條指令的目的;

(3)在程序運行期間由硬件(通常是狀態(tài)記錄部件和調(diào)度部件)完成指令調(diào)度。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第69頁。

典型的超標(biāo)量處理機有IBMRS6000、PowerPC601、PowerPC620等,Intel公司的i860、i960、Pentium系列處理機,SUN公司的UltraSPARC系列處理機,Motorola公司的MC88110。1995年發(fā)布的PowerPC620是PowerPC結(jié)構(gòu)的第一個64位實現(xiàn)方案,它包括6個獨立執(zhí)行單元,允許處理器同時派遣4條指令到3個整數(shù)單元和1個浮點單元,時鐘頻率150MHz。1998年問世的IntelPentiumII處理器,擁有11段流水線,能并行執(zhí)行3條Pentium指令,生產(chǎn)工藝早期型號采用0.35微米,后期采用0.25微米,最高時鐘頻率為450MHz。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第70頁。4.10.2VLIW體系結(jié)構(gòu)

80年代早期在Multiflow計算機中所設(shè)計的很長指令字可以是256位或1024位。MultiflowVLIW處理器是用微程序控制實現(xiàn)的。256位的Multiflow模型允許最多有7條指令并發(fā)地執(zhí)行。在那時,時鐘速率不能做得很高,因為要對微程序控制的控制存儲器進(jìn)行頻繁的訪問。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第71頁。

如圖4.41所說明的那樣,VLIW處理器并發(fā)地使用多個功能部件,所有功能部件共享一個普通的大型寄存器堆。功能部件同時執(zhí)行的操作由硬件進(jìn)行同步。VLIW概念是對水平微代碼編碼的擴展。一條長指令中的不同字段含有不同的操作碼,它們被分派到不同的功能部件。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第72頁。

在VLIW結(jié)構(gòu)中,指令并行性和數(shù)據(jù)傳送完全是在編譯時確定的,運行時的資源調(diào)度和同步則被完全排除。可以將VLIW處理器看成是超標(biāo)量處理器的一個極端,在VLIW中所有獨立或不相關(guān)的操作在編譯時間已打包在一起。用普通RISC指令字(每個為32位)書寫的程序必須壓縮以形成一條VLIW指令。代碼壓縮工作必須由有這種能力的編譯器來完成,即能跟蹤程序流并利用跟蹤信息預(yù)測轉(zhuǎn)移方向。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第73頁。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第74頁。Multiflow機器的失敗主要是因為無法得到真正強有力的編譯器,它能把短的用戶代碼高效地壓縮成VLIW指令。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第75頁。1.VLIW處理機的流水線工作方式理想VLIW處理機執(zhí)行指令的過程如圖4.42所示,每條指令指定多個操作。在這個特定的例子中,有效的CPI為0.33。VLIW機的工作很象超標(biāo)量機,但有三點區(qū)別:第一,VLIW指令譯碼比超標(biāo)量指令更容易。第二,當(dāng)超標(biāo)量機可用的指令級并行性比由VLIW機可開發(fā)的相應(yīng)值小時,超標(biāo)量機的代碼密度更為緊湊。第三,超標(biāo)量機可做到和很多非并行機系列的目標(biāo)代碼兼容。相反,VLIW機開發(fā)不同數(shù)量的并行性時總是需要不同的指令系統(tǒng)。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第76頁。01234567時間每拍啟動一條長指令,執(zhí)行3個操作,相當(dāng)于3條指令,要求并行度=3圖4.42超長指令字(VLIW)的流水執(zhí)行計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第77頁。2.VLIW處理器的優(yōu)點圖4.42中示出了理想VLIW處理器的指令執(zhí)行,每條指令指明了多個操作。在每個長字中有n路并行性情形下,有效的CPI可減至1/n。VLIW機對超標(biāo)量機在以下幾個方面作了改進(jìn):

(1)VLIW指令中并行操作的同步全在編譯時間完成,這可使它比超標(biāo)量處理器有更高的處理器效率。

(2)當(dāng)短格式用戶代碼中有高的可用ILP時,VLIW程序的代碼長度要短得多。這就意味著經(jīng)編譯的VLIW程序有短得多的執(zhí)行時間。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第78頁。(3)大大簡化了運行時的資源調(diào)度,因為VLIW體系結(jié)構(gòu)中的指令并行性和數(shù)據(jù)移動完全是在編譯時間說明的。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第79頁。3.VLIW的缺陷

(1)需要智能編譯器的支持;在VLIW體系結(jié)構(gòu)中,開發(fā)的是標(biāo)量操作中的隨機并行性,而不是在向量超級計算機中開發(fā)的規(guī)則并行性或在SIMD計算機中的鎖步并行性。沒有智能編譯器的有效代碼轉(zhuǎn)換,就不能使用VLIW處理機。

(2)軟件兼容性差;由于這個原因,聯(lián)合HP/Intel科研項目必須處理軟件向后兼容性問題?;赩LIW體系結(jié)構(gòu)的成功與否主要取決于是否能有一個高效的編譯器以承擔(dān)硬件的調(diào)度功能。計算機體系結(jié)構(gòu)-第4章--流水線計算機設(shè)計技術(shù)全文共90頁,當(dāng)前為第80頁。(3)軟件的可移植性差。為一臺VLIW機器編譯的軟件可能必須重新編譯以供另一臺VLIW機器使用。換言之,當(dāng)不同代之間V

溫馨提示

  • 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

提交評論