下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Intel系列CPU的流水線結(jié)構(gòu)與性能分析流水線技術(shù)早在Intel的X86芯片中均得到了實現(xiàn)。流水線的使用使CPU 的性能得到了很大的提升,而Pentium系列CPU產(chǎn)品更是一個高級的超標量 處理器。當然CPU流水線性能是有限制,影響CPU流水線性能的因素有:1、多個任務(wù)在同一時間周期內(nèi)爭用同一個流水段例如,假如在指令流水線中,如果數(shù)據(jù)和指令是放在同一個儲存器中,并且 訪問接口也只有一個,那么,兩條指令就會爭用儲存器;在一些算數(shù)流水線中, 有些運算會同時訪問一個運算部件。2、數(shù)據(jù)依賴比如,A運算必須得到B運算的結(jié)果,但是,B運算還沒有開始,A運算動 作就必須等待,直到A運算完成,兩次運算不能同
2、時執(zhí)行。3、條件轉(zhuǎn)移的影響如果第一條指令是一個條件轉(zhuǎn)移指令,那么系統(tǒng)就會不清楚下面應(yīng)該執(zhí)行那 一條指令。這時就必須等第一條指令的判斷結(jié)果出來才能執(zhí)行第二條指令。 條件轉(zhuǎn)移所造成的流水線停頓甚至比相關(guān)還要嚴重的多。越是長的流水線,相關(guān)和轉(zhuǎn)移兩大問題也越嚴重,所以,流水線并不是越長 越好,超標量也不是越多越好,找到一個速度與效率的平衡點才是最重要的。為了解決這些影響流水線性能的因素和提高CPU性能,Intel公司采取了一 系列技術(shù)手段。在Pentium III的時候主要采用的技術(shù)采用超標量雙流水線結(jié)構(gòu)超標量流水線設(shè)計是Pentium微處理器技術(shù)的核心。所謂超標量就是處理 器內(nèi)部含有多個執(zhí)行單元來完
3、成多條指令的同時執(zhí)行。Pentium有兩條分別稱 為U和V的指令流水線,各自有獨立的算術(shù)邏輯單元ALU及高速緩存結(jié)構(gòu)。這 種雙流水線并行作業(yè)的方式,使得Pentium在每個時鐘周期內(nèi)可同時執(zhí)行兩條 指令。此外,還有一個執(zhí)行單元,保證同時完成一條浮點運算指令。在Pentium III時采用3條獨立的12級超標量流水線。分支預(yù)測技術(shù)為了減少由于轉(zhuǎn)移導致流水線的效率損失Pentium采用分支預(yù)測技術(shù)來動 態(tài)預(yù)測指令的目標地址,從而節(jié)省了 CPU的執(zhí)行時間。通常在用戶程序中包含 不少的條件轉(zhuǎn)移指令,在流水線計算機中,這些轉(zhuǎn)移指令由于產(chǎn)生分支可能使予 取和予譯碼指令作廢。Pentium內(nèi)部有兩個予取指令
4、緩沖隊列,在執(zhí)行條件轉(zhuǎn) 移指令前,一個以順序方式予取指令,另一個以轉(zhuǎn)移方式予取指令,后者也稱作 分支目標緩沖器BTB (Branch Target Buffer),這是一個小的cache,它基 于轉(zhuǎn)移指令,尤其是循環(huán)轉(zhuǎn)移的固有特點,可以認為在大多數(shù)情況下,當一條轉(zhuǎn) 移指令被再次執(zhí)行時,其成功與否及轉(zhuǎn)移目標與上次相同。據(jù)此可構(gòu)造動態(tài)的分 支目標預(yù)測硬件。BTB是一種效果較好的硬件機制,統(tǒng)計表明BTB的容量較大 時(如超過256項)預(yù)測準確率可達90%。通過這種動態(tài)分支預(yù)測技術(shù),不管 是否產(chǎn)生轉(zhuǎn)移,所需指令都在執(zhí)行前予取好。通過亂序來優(yōu)化指令流水線在執(zhí)行中采取了無序執(zhí)行(out-of-order
5、processing)技術(shù)。即當某條指令 需要一些數(shù)據(jù)而未能立即執(zhí)行完畢時,它將被剔出流水線并等待數(shù)據(jù),CPU則 馬上執(zhí)行下條指令,就好比在裝配線上發(fā)現(xiàn)某件產(chǎn)品不太合格,而被淘汰,等待 返工一個道理。這樣,可以防止一條指令不能執(zhí)行而影響了整個流水線的效率。將指令劃分為更細的階段在P6架構(gòu)的CPU中將指令劃分成了更細的階段,從而使邏輯設(shè)計、工序 等等更為簡化,提高了速度。在486芯片中,一條指令一般被劃分為五個標準 的部分,奔騰亦是如此。而在P6中,由于采用了近似于RISC的技術(shù),一條指 令被劃分成了創(chuàng)紀錄的十四個階段。這極大地提高了流水線的速度。在Pentium IV中增加采用的技術(shù)如下使用高
6、級動態(tài)執(zhí)行(Advanced Dynamic Execution)為支持亂序執(zhí)行和提高分支預(yù)測精度,高級動態(tài)執(zhí)行機制可以檢查126條 指令,并決定執(zhí)行次序,配合128個重命名寄存器,具有更高的預(yù)測精度。與 PIII相比,大約可減少1/3的預(yù)測錯誤。動態(tài)執(zhí)行技術(shù)一般指集分支預(yù)測、數(shù) 據(jù)流分析(即亂序執(zhí)行)和猜測執(zhí)行三種技術(shù)于一身。執(zhí)行跟蹤緩存(Execution Trace Cache)用于存儲已解碼的微指令(OPs),加快運行速率。當下次再執(zhí)行到相同指 令時,不必再一次重復解碼,只需要取相關(guān)數(shù)據(jù)直接執(zhí)行即可。這對于循環(huán)執(zhí)行 的程序有很高的效率。此外,當分支預(yù)測出錯,需要回到分支處重新開始運行另
7、 一路時,之前的譯碼階段已經(jīng)把另一分支指令緩沖進了 Trace Cache,而不用 再譯碼,可節(jié)約12個時鐘周期??焖賵?zhí)行引擎(Rapid Execution Engine)采用了稱為Double Pumped的雙重并發(fā)技術(shù)(即兩組ALU),每個時鐘 ALU能執(zhí)行兩次,效率相應(yīng)提升一倍。因此Pentium 4的雙ALU在一個周期 內(nèi)可以執(zhí)行4條指令。超長管道處理技術(shù)(超管線技術(shù))(Hyper Pipelined Technology)采用超長管道處理技術(shù),使流水線深度達20級。Prescott (Pentium IV 的一種核心)更是達到了 31級。超線程(HT)技術(shù)資源不沖突時,可同時運行2
8、個線程。在Core架構(gòu)時,由于Core架構(gòu)是Pentium III的P6架構(gòu)的擴展,所以采 用的技術(shù)和Pentium III差不多,為3路,12級流水線,同時采用了微指令融 合技術(shù),主要是為了減少微指令數(shù)量,精簡硬件設(shè)計。到了 Core2時主要采用了高級智能高速緩存技術(shù)各Core可動態(tài)支配L2 Cache,可提高L2命中率;減少FSB使用頻率(通 信量)。智能內(nèi)存訪問技術(shù)根據(jù)軟件需求,用預(yù)取器預(yù)取指令和數(shù)據(jù)。寬位動態(tài)執(zhí)行技術(shù)CPU內(nèi)部增加新操作類型,將多條指令合并為1個操作,實現(xiàn)更大解碼帶 寬、更少空間占用、更低調(diào)度負載。微指令融合(Micro-Op Fusion)技術(shù)CPU 內(nèi)部優(yōu)化uop控
9、制,將多個uop合并為1個uop ;優(yōu)化流水線的技術(shù)優(yōu)化分支預(yù)測技術(shù):采用二級BTB、返回堆棧緩沖器(RSB)滿時可導入ROB, 平衡BTB/RSB中指令數(shù)量與速度的矛盾;64位宏指令融合技術(shù):支持64位 宏指令融合、增加了可融合宏指令個數(shù)。上面提到的技術(shù)基本上是以提高CPU流水線的性能為目的的,但是其中有 一個技術(shù)確違背了這個意愿,就是在Pentium中使用超長流水線技術(shù)使流水線 深度達到20級,在Prescott架構(gòu)中甚至達到了 31級。關(guān)于這個技術(shù)就不得不提到CPU發(fā)展史上有名的頻率之爭。Intel和AMD 在桌面CPU市場上的激烈競爭,使雙方都千方百計地拿出更強大產(chǎn)品來壓制對 方,而最
10、引人矚目的就是CPU的頻率之爭。隨著CPU頻率不斷地攀升,Intel 總是在自己某個核心的處理器到達極限之時采用新的、更長流水線的核心來消除 頻率的瓶頸(流水線越長,頻率能更高)。但是這樣做勢必會帶來一系列的問題。首先,由于現(xiàn)有芯片制造工藝的限制, 頻率的提升帶來高功耗、高發(fā)熱量的問題。盡管流水線增長,頻率提升的空間相 應(yīng)增大,但是處理器頻率提升的其它瓶頸卻無法解決。而且過長的流水線意味著 更加復雜的內(nèi)部結(jié)構(gòu),生產(chǎn)的良品率也難以保證。其次,在CPU的工作中,指令往往不是孤立的,許多指令按一定的順序執(zhí) 行才能完成一個任務(wù)。而一旦某個指令在運算過程中發(fā)生了錯誤,或者執(zhí)行了沒 有用的指令,那么其后與
11、之相關(guān)的指令就都沒有用了。這些指令必須清除掉,然 后再執(zhí)行其它的指令,CPU相當于做了許多無用功!流水線越長,一旦出錯影 響也就越大,比如一個指令在最后一級出錯,那么可能在后續(xù)流水線中的所有指 令都要被清除,Northwood核心處理器要浪費20級工序的時間,而Prescott 核心處理器就要浪費31級工序的時間!流水線深度一直是影響處理器效率的重要因素,流水線深度的增加可以讓處 理器時鐘頻率進一步提高,但是在有些實際應(yīng)用中,已經(jīng)被證明了處理器流水 線的長度與性能成反比。同時容易產(chǎn)生分支預(yù)測等問題,Prescott核心的P4達 到的31級流水線長度,要比當年的Pentium III和Athlo
12、n處理器高出許多, Netburst微架構(gòu)已無法解決這一問題,原本計劃使基于Netburst微架構(gòu)的下 一代處理器Tejas突破5GHz,但最終止步于3.8GHz。Prescott最終走上失 敗之路。最后Intel公司不得不放棄Pentium IV,頻率至上的CPU理論也被推翻。隨后就進入了 Core架構(gòu),也就是多核時代,多個CPU封裝在一個芯片中, 協(xié)調(diào)工作,來達到更高的性能,Netburst架構(gòu)和Prescott架構(gòu)被完全拋棄,流 水線的深度再次回到了 Pentium III時代的3段12級。對于未來的CPU流水線技術(shù)的發(fā)展,個人認為可能會有以下的幾個方面。CPU線程的提高CPU線程會越來
13、越多,多線程的使用,使CPU的流水線效率和速度得到了 很大的提高,所以未來CPU可能會出現(xiàn)一個CPU8個、16個、32個甚至64 個線程的情況。更多條數(shù)的流水線就像GPU那樣已經(jīng)發(fā)展到32條流水線并行工作,流水線條數(shù)的增加,使 CPU在相同的時間內(nèi)完成更多的工作,相當于提高了 CPU的性能。提供更新的Cache搜索算法和輪換算法Cache不是越大越好,因為CPU性能和Cache的大小呈負指數(shù)二項式增 長。當Cache大小達到一定水平后,如果不及時更新Cache的搜索算法和 Cache的輪換算法,CPU的性能沒法得到本質(zhì)的提高。一定量地減少流水線深度后PC時代,是移動運算高發(fā)展的時代,所以CPU
14、應(yīng)該向低功率,高性能 的方向發(fā)展,所以流水線深度可能更小,但CPU采用更好的架構(gòu)以及更高的工 藝來制造,達到和長流水線一樣甚至更高的性能。異步架構(gòu)流水線的使用個人認為異步架構(gòu)的使用是未來的一個必然趨勢。同步架構(gòu)的使用已經(jīng)開始 限制芯片的發(fā)展,基于時鐘的芯片設(shè)計,只有在系統(tǒng)所有部分同時得到時鐘才能 正確操作,這只有在時鐘線上的延時可以忽略時才可以做到。然而隨著工藝的進 步系統(tǒng)越來越大,從而使時鐘線上的延時不再可以忽略不計。對于芯片設(shè)計者來 說,時鐘歪斜已經(jīng)成為了一個瓶頸,不跨越這個瓶頸,可以說未來的CPU發(fā)展 很難有質(zhì)的飛躍。而異步式架構(gòu)設(shè)計就是一個很好的出路,使用異步架構(gòu),流水線不再依賴于 時
15、鐘,采用自定時系統(tǒng),不用擔心時鐘消耗的能量也不用為了避免時鐘歪斜而付 出大功耗的代價。對于異步式流水線,只有數(shù)據(jù)通過時才會產(chǎn)生功耗,空閑時沒 有動態(tài)功耗。同時異步式CPU在計算方面速度也是有很大的優(yōu)勢。據(jù)稱在1997 年,Intel開發(fā)了一顆與奔騰系統(tǒng)兼容的異步測試芯片,其運行速度是同步芯片 的三倍,而功耗只是后者的一半。最后寫點自己的一點體會不能一味地走極端就像當初Intel制造Pentium IV 一樣就是走了很大的一個極端,不停地提 高流水線深度,不排除當初Intel急切地想打敗競爭對手AMD的原因。但是這 樣做的后果就只有一個一一很快地失敗,當時的事實也證明了這一點。人也一樣, 做任何
16、事情不能走極端,不然就會陷入死胡同。要善于取其精華,棄其精粕就像Intel研發(fā)Core架構(gòu)的CPU時,雖然完全拋棄了 Pentium IV的 Netburst架構(gòu),但是還是使用了其中可取的部分,比如說超線程,動態(tài)執(zhí)行等 等的技術(shù)。因此對任何事情要善于分析,看得到好的也要看得到壞的,不能一味 地否認或肯定,這樣才能有更好的收獲。做好承上啟下的工作計算機的知識也是在不斷拓展,計算機事業(yè)的發(fā)展離不開開放性思維,凡 事都要動動腦子,也許你就會走出一條別人沒走過的路。在計算機的發(fā)展中我們 要做好的就是“承上啟下”,承接上一代的知識,打開下一代技術(shù)的大門。附:參考資料1.Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)作者:東南大學計算機學院任國林 影響流水線性能的因素和解決方法作者:余倫靜結(jié)合Intel奔騰系列微處理器談流水線技術(shù)來源: HYP
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息技術(shù)外包合同樣本
- 2024年書店商鋪租賃與圖書銷售培訓合作協(xié)議3篇
- 初中課外輔導合同
- 鋁合金承包商合作協(xié)議范本
- 新版民間企業(yè)信用借款合同
- 編劇劇本創(chuàng)作項目改編合同
- 短期無息借款合同格式
- 國內(nèi)采購合同的風險
- 電動機儀表采購合同格式
- 保密協(xié)議合同范本樣本
- YY/T 1181-2021免疫組織化學試劑盒
- GB/T 4457.4-2002機械制圖圖樣畫法圖線
- GB/T 16991-1997紡織品色牢度試驗高溫耐光色牢度:氙弧
- GB/T 10051.3-2010起重吊鉤第3部分:鍛造吊鉤使用檢查
- GB 5009.3-2016食品安全國家標準食品中水分的測定
- 1000W準正弦逆變器
- DB51-T 2975-2022氣凝膠復合保溫隔熱材料及系統(tǒng)通用技術(shù)條件
- 2022干燥綜合征評估方法-Sjgren應(yīng)答評估工具(STAR)
- 病理生理學題庫含答案
- 水穩(wěn)施工質(zhì)量保證措施
- 建筑工程項目安全總監(jiān)述職匯報課件
評論
0/150
提交評論