接口技術(shù)報告_第1頁
接口技術(shù)報告_第2頁
接口技術(shù)報告_第3頁
接口技術(shù)報告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

接口技術(shù)作業(yè)報告IntelCorei7處理器是英特爾于2008年推出的64位四核心CPU,沿用X86-64指令集,并以IntelNehalem微架構(gòu)為基礎(chǔ)⑴,取代IntelCore2系列處理器。Nehalem曾經(jīng)是Pentium410GHz版本的代號。IntelCorei7的特點主要有以下幾點:支持超線程的技術(shù),令到四核心的處理器,有總共8個線程(2010年推出的Corei7980X6核心系列將有12個線程)存儲器控制器會自帶于CPU中,支持三通道DDR3SDRAM⑶支持TurboMode(后更名為DynamicSpeed)技術(shù),倘若有程序使用較多的處理器負(fù)載,處理器頻率可以按步驟提升,此外,可以自動往上提升倍頻[9]該功能不需要操作系統(tǒng)的支持,完全由硬件監(jiān)⑷支持PowerGates技術(shù),核心閑置的時候可被關(guān)閉。對比上一代的Core2DuoCorei7的核心電阻可以被關(guān)閉,電流可以完全不通過核心。各個處理器核心可運作于不同的頻率和電壓TurboMode及PowerGates功能都是由一個單元提供,占去大約一百萬個晶體管放棄了傳統(tǒng)的FSB,使用了新的QuickPathInterconnect'與AMD的HyperTransport相似。相比FSB,每一個處理器都可以有獨立的QPI通道與其他處理器連接,處理器之間不用再共享FSB帶寬,并繞路到北橋才能通信。此外,QPI是雙向傳輸指令集方面,SSE4的版本會提升為SSE4.2,后者新增了7條指令處理器采用模塊化設(shè)計。例如核心、存儲器控制器、以至輸入輸出接口控制器,都能夠以不同的數(shù)量配搭。這樣做可以使到產(chǎn)品更容易針對不同市場,而每一個模塊都可以有獨立的電壓,令到處理器更省電L2緩存亦有所減少,每一個核心獨立256KB,但擁有較低讀取延遲值。加入L3緩存,每一個處理器共享8MB處理器核心的電壓與系統(tǒng)存儲器同步。目前,官方會支持DDR3-800和DDR3-1066規(guī)格。對于DDR3-1333由于處理器只可以接受較低的電壓水平邙限制在1.65V或以下),高速的存儲器意味著需要較高的電壓,所以此規(guī)格的官方支持仍然存在疑問。第二批X58芯片組主機版將可以實現(xiàn)電壓異步,方便用家超頻。另外,原先只有XE版本處理器可以調(diào)整存儲器頻率。后Intel修改為所有上市的Corei7處理器,均可以修改存儲器和QPI的頻率Nehalem的核心部分比Core微架構(gòu)改進(jìn)了以下部分:快速通道互聯(lián)(QPI):取代前端總線(FSB)的一種點到點連接技術(shù),20位寬的QPI連接其帶寬可達(dá)驚人的每秒25.6GB,遠(yuǎn)超過原來的FSB。QPI最初能夠發(fā)放異彩的是支持多個處理器的服務(wù)器平臺,QPI可以用于多處理器之間的互聯(lián)。集成了內(nèi)存控制器(IMC):內(nèi)存控制器從北橋芯片組上轉(zhuǎn)移到CPU片上,支持三通道DDR3內(nèi)存,內(nèi)存讀取延遲大幅減少,內(nèi)存帶寬則大幅提升,最多可達(dá)三倍。Cache設(shè)計:采用三級全內(nèi)含式Cache設(shè)計,L1的設(shè)計與Core微架構(gòu)一樣;L2采用超低延遲的設(shè)計,每個核心各擁有256KB的L2Cache;L3則是采用共享式設(shè)計,被片上所有核心共享使用。Nehalem的核心部分比Core微架構(gòu)新增加的功能主要有以下幾方面:NewSSE4.2Instructions(新增加SSE4.2指令)TurboMode(內(nèi)核加速模式)ImprovedLockSupport(改進(jìn)的鎖定支持)AdditionalCachingHierarchy(新的緩存層次體系)DeeperBuffers(更深的緩沖)ImprovedLoopStreaming(改進(jìn)的循環(huán)流)SimultaneousMulti-Threading(同步多線程)FasterVirtualization(更快的虛擬化)BetterBranchPrediction(更好的分支預(yù)測)QPI總線技術(shù)Nehalem使用的QPI總線是基于數(shù)據(jù)包傳輸(packet-based)、高帶寬、低延遲的點到點互連技術(shù)(pointtopointinterconnect、,速度達(dá)到6.4GT/S(每秒可以傳輸6.4G次數(shù)據(jù)、。每一條連接(link、是20bit位寬的接口,使用高速的差分信號(differentialsignaling、和專用的時鐘通道(dedicatedclocklane),這些時鐘通道具有失效備援(failover)。QPI數(shù)據(jù)包是80bit的長度,發(fā)送需要用4個周期。盡管數(shù)據(jù)包是80bit,但只有64bit是用于數(shù)據(jù),其它的數(shù)據(jù)位則是用于流量控制、CRC和其它一些目的。這樣,每條連接就一次傳輸16bit(2Byte、的數(shù)據(jù),其余的位寬則是用于CRC。由于QPI總線可以雙向傳輸,那么一條QPI總線連接理論最大值就可以達(dá)到25.6GB/S(2x2Bx6.4GT/s、的數(shù)據(jù)傳送。單向則是12.8GB/S。對于不同市場的Nehalem,可以具有不同的QPI總線條數(shù)。比如桌面市場的CPU,具有1條或者半條QPI總線(半條可能是用10bit位寬或單向);DP服務(wù)器(雙CPU插座)的CPU,每個具有2條QPI總線;而MP服務(wù)器(4個或8個CPU插座)的,則每個具有4條或更多的QPI總線。IMC(集成內(nèi)存控制器)Nehalem的IM(integratedmemorycontroller,整合內(nèi)存控制器),可以支持3通道的DDR3內(nèi)存,運行在1.33GT/S(DDR3-1333),這樣總共的峰值帶寬就可以達(dá)到32GB/S(3x64bitx1.33GT/s一8)。不過還并不支持FB-DIMM,要NehalemEX(Beckton、才有可能會支持FB-DIMM(FullyBuffered-DIMM,全緩沖內(nèi)存模組)。每通道的內(nèi)存都能夠獨立操作,控制器需要亂序執(zhí)行來降低(掩蓋)延遲。由于有了Core2近4倍的內(nèi)存帶寬,Nehalem的每個核心支持最大10個未解決的數(shù)據(jù)緩存命中失?。╫utstandingdatacachemiss、和總共16個命中失敗,而Core2在運行中則只支持最大8個數(shù)據(jù)緩存的和總共14個的命中失敗。IMC能夠很顯著的降低內(nèi)存延遲(尤其是對于采用FB-DIMM方案的系統(tǒng))。下面的Nehalem與Harpertown,我不清楚是什么頻率情況下的對比(來自于IDF上的表格,可能Nehalem是3.2GHz)。Nehalem的本地內(nèi)存延遲大約是Harpertown的60%。Harpertown系統(tǒng)使用的是1.6GT/S的前端總線,所有內(nèi)存都在一個位置,大約是略低于100ns(納秒)的延遲,這樣Nehalem的內(nèi)存延遲就是約60ns。對于2個CPU插座的Nehalem來說,使用的是NUMA結(jié)構(gòu)(NonUniformMemoryAccessAchitecture,非均勻內(nèi)存存取架構(gòu)、,遠(yuǎn)方內(nèi)存的延遲則要高一些,因為這時對內(nèi)存的請求和回應(yīng)需要通過QPI總線,其延遲大約是Harpertown的95%。所以,即使是最糟糕的情況,延遲還是得到了降低。一個有意思的問題是,當(dāng)使用4個CPU插座的Nehalem時,延遲是否將會被增大?因為這種系統(tǒng)很有可能會使用FB-DIMM,而這意味著將遭受延遲損失,不過遠(yuǎn)方內(nèi)存的延遲還是將只會比本地內(nèi)存慢個約30ns。對于其它使用IMC和核心互連的多CPU系統(tǒng)(例如EV7、K8、K10、,內(nèi)存延遲也是非均勻的(NUMA)。為了優(yōu)化性能,操作系統(tǒng)就必須知道延遲差異,并調(diào)度那些在同一個CPU上共享數(shù)據(jù)的進(jìn)程。WindowsVista是Microsoft的第一個為NUMA進(jìn)行優(yōu)化的操作系統(tǒng),而Linux等則已經(jīng)很早就可以支持NUMA了。Nehalem的遠(yuǎn)方/本地延遲比是約1.5倍。衡量K8的NUMA系數(shù)(也就是遠(yuǎn)方延遲除以本地延遲)在2CPU系統(tǒng)時也差不多是1.5。而在4CPU系統(tǒng)時,INTEL將具有優(yōu)勢,因為所有的內(nèi)存要么都是本地(當(dāng)QPI總線上沒有hop時),或者所有內(nèi)存都是遠(yuǎn)方(QPI總線上有一個hop時)。因為使用對角線連接,每個CPU都有QPI總線連接,那么遠(yuǎn)方內(nèi)存最多就一跳(1個hop)。而現(xiàn)在的4插座的K8或K10系統(tǒng),有的內(nèi)存在HT總線上多達(dá)有2個hop??傊?,具有更大的NUMA系數(shù),就更需要軟件考慮其所使用的內(nèi)存的位置。作為參考,其中最早一個具備IMC和核心互連的EV7,在其64CPU的系統(tǒng)中,NUMA系數(shù)為1.86-5.21(1-8個hop的情況)緩存結(jié)構(gòu)Nehalem可以同時運行的讀取和存儲量增加了50%,讀取緩沖由32項增加到了48項,而存儲緩沖由20項增加到了32項(增量還略多于50%)。增加的原因自然是為了讓兩個線程共享,這里采用的是靜態(tài)分配,可能是由于關(guān)鍵路徑的限制。從讀取緩沖和存儲緩沖,存儲操作就繼續(xù)訪問到緩存架構(gòu)。Nehalem的緩存架構(gòu)是完全革新了的。像P4一樣,所有的緩存和數(shù)據(jù)TLB(TranslationLookasideBuffer,旁路轉(zhuǎn)換緩沖,或叫頁表緩沖)都是由2個線程動態(tài)共享(根據(jù)已經(jīng)觀察到的行為)。Nehalem的L1D(一級數(shù)據(jù)緩存)保留了和Core2一樣的大小和聯(lián)合度(associativity),但是延遲卻從3個周期增加到了4個周期,以適應(yīng)時間限制(timingconstraint)。每一個核心可以支持更多的未解決的命中失敗(outstandingmiss),最多到16個,可以利用更多的存儲帶寬。而Nehalem剩下的緩存結(jié)構(gòu)則和Core2截然不同。Core2的最后一級緩存是L2,由2個核心共享,這樣可以減少一致性錯誤(coherencytraffic),數(shù)量達(dá)到了24路聯(lián)合的6MB(Penryn),延遲是14-15個周期(Conroe是14,Penryn是15)。而Nehalem有3級緩存,前兩級相對較小,是每個核心私有的,而L3則非常大,由所有核心共享。Nehalem的每個核心有一個私有的通用型L2,是8路聯(lián)合的256KB,訪問速度相當(dāng)快。其使用延遲時間還沒有完全披露,不過INTEL的工程師表明是小于12個周期的oNehalem的L2相對于其L1D來說,既不是包含式(inclusive)也不是獨占式(exclusive),就象Core2一樣,Nehalem可以在兩個核心的私有緩存(L1D和L2)之間傳遞數(shù)據(jù),盡管不能夠達(dá)到全速。Nehalem的16路聯(lián)合、8MB的L3對于前兩級來說,是完全包含式的,并且由4個核心共享。盡管INTEL并沒有完全說明Nehalem的物理設(shè)計,但似乎L3緩存是單獨使用電力,并運行在單獨的頻率上。這是從節(jié)省電力和可靠性這兩個方面推斷出來的,因為大的緩存更容易在低電壓下產(chǎn)生軟錯誤(softerror)o這樣,L3使用延遲就取決于相對頻率、核心的相差(phasealignment)、L3自身,還有訪問L3的仲裁器的延遲。在最好的情況下,即操作相差和頻率差距是整數(shù)倍的情況下,Nehalem的L3使用延遲是在30-40周期(根據(jù)INTEL工程師的說法)。Nehalem的緩存架構(gòu)設(shè)計得也更容易支持非對齊(unaligned)的訪問,有更快的非對齊緩存存取。INTEL前幾代芯片一直是用兩種類型指令來做16Byte(128bit)的SSE讀取和存儲,一種是其數(shù)據(jù)必須正好和緩存行(16B)對齊,比如MOVAPS/D、MOVDQA指令一一(數(shù)據(jù))必須剛好是16Byte,和緩存行對齊。另一種則可以是未對齊的,比如MOVUPS/D、MOVDQU指令,數(shù)據(jù)對齊與否是沒有要求的。Nehalem對非對齊指令進(jìn)行了優(yōu)化:在存取對齊數(shù)據(jù)的時候,非對齊指令和對齊指令具有一樣的延遲和吞吐量。同時也提高了非對齊指令對于非對齊數(shù)據(jù)的訪問速度。這樣,不管是什么類型的SSE操作,都具有相同的延遲。另外Nehalem對在存取數(shù)據(jù)時跨越了64-Byte緩存行邊界的情況也進(jìn)行了優(yōu)化,比起Core2具有更低的延遲和更高的吞吐量。這樣,編譯器就不會再懼怕使用非對齊的指令了。SMT(同步多線程技術(shù))同步多線程(SimultaneousMulti-Threading,SMT)技術(shù)又重新回歸到了Nehalem架構(gòu),這最早出現(xiàn)在130nm的P4上。對于打開了SMT的CPU來說,將會遭受到更多的命中失敗,并需要使用更多的帶寬。所以Nehalem比P4是更適合使用SMT的。另外,在移動和桌面領(lǐng)域的Nehalem有可能將不會支持SMT,它們也不需要3通道內(nèi)存。為什么Core2沒有使用SMT?很顯然,它是可以做到的。SMT是在節(jié)省電力的基礎(chǔ)上增加了性能,而且軟件支持的基礎(chǔ)建設(shè)也早就有了。有2個可能的原因:一是Core2可能沒有足夠的內(nèi)存帶寬和CPU內(nèi)部帶寬來利用SMT獲得優(yōu)勢。通常,SMT能夠提升內(nèi)存級并行(memorylevelparallelism,MLP),但是對于內(nèi)存帶寬已經(jīng)成為瓶頸的系統(tǒng)則是個麻煩。而更有可能的原因則是SMT的設(shè)計、生效等是很麻煩的,而當(dāng)初設(shè)計SMT是由INTEL的Hillsboro小組主持,而并非是Haifa小組(Core2是由這個小組負(fù)責(zé)的)。這樣Core2不使用SMT就避免了冒險。Nehalem的同步多線程(SimultaneousMulti-Threading,SMT)是2-way的,每核心可以同時執(zhí)行2個線程。對于執(zhí)行引擎來說,在多線程任務(wù)的情況下,就可以掩蓋單個線程的延遲°SMT功能的好處是只需要消耗很小的核心面積代價,就可以在多任務(wù)的情況下提供顯著的性能提升,比起完全再添加一個物理核心來說要劃算得多。這個和以前P4的HT技術(shù)是一樣的,但比較起來,Nehalem的優(yōu)勢是有更大的緩存和更大的

溫馨提示

  • 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

提交評論