行業資(zī)訊
   
四核架構深度分(fēn)析
發布時間:2012-1-12
浏覽人數:1723

Intel的處理器發展規劃路線并不固定。爲了延續P6架構核心的成功,Intel采用了兩個開(kāi)發團隊并進的策略,其中(zhōng)一(yī)個團隊繼續發展Pentium 4采用的NetBurst架構,另一(yī)個團隊将對代号Banias的Pentium M進行重新設計,目标是更低成本、更低功耗的高集成度核心。最終的結果是NetBurst架構的發展被Banias的進化超越。Dothan是Banias第一(yī)個進化成果,它擁有更高的時鍾頻(pín)率和更多的緩存,爲進一(yī)步的發展奠定了基礎。随後Intel的以色列發展中(zhōng)心(IDC)以Dothan爲基礎提出了原生(shēng)雙核心和共享二級緩存解決方案,這就是代号Yonah的Core Duo處理器,也是首款雙核心Intel處理器。從Dothan到Yonah的演進具有遠比Banias到Dothan更重大(dà)的意義,不僅僅隻因爲Yonah是首款Intel雙核心處理器,最重要的是Yonah擁有更多架構上的改進。接下(xià)來Intel又(yòu)對Yonah進行了改進,這就是讓Intel從競争對手AMD手中(zhōng)奪回技術領先地位的Core 2系列處理器。

 

認識Barcelona架構:

  Barcelona是AMD首款四核心處理器,采用65nm制造工(gōng)藝,和Intel的四核Kentsfield處理器由兩個雙核心組成的架構不同,Barcelona是單處理器集成四個核心的架構是真正的原生(shēng)四核處理器。不過,盡管在技術上要優于Intel的Kentsfield,我(wǒ)們還是不确信Barcelona在現實中(zhōng)的性能會大(dà)幅超越Kentsfield。

  Barcelona的設計比K8要複雜(zá)的多,需要多達11個金屬層,而K8和Core 2 Duo分(fēn)别隻有9個和8個。而更多的金屬層隻會使制造過程更爲複雜(zá)增加成本,對于最終的用戶來說并沒有太大(dà)意義。Barcelona擁有463百萬個晶體(tǐ)管,比Kentsfield少了119百萬個。晶體(tǐ)管數量少是因爲緩存減少的原因,Barcelona上的每個核心都擁有128KB一(yī)級緩存和512MB二級緩存,再加上四個核心共享的2MB三級緩存,緩存的總量爲4.5MB。而Kentsfield的緩存總量達到了8.25MB,比Barcelona多了80%。不過Barcelona的緩存仍然遠遠要比四核心K8要多,如果不計算緩存晶體(tǐ)管,一(yī)個雙核Athlon 64 X2處理器的晶體(tǐ)管數量大(dà)約爲94百萬個,而Barcelona的晶體(tǐ)管數量大(dà)約爲247百萬個。即使兩個雙核Athlon 64 X2處理器的晶體(tǐ)管數量也沒有Barcelona多。

 

  SSE128:

  在從K8到Barcelona的衆多改進中(zhōng)有一(yī)個非常重要的改變,AMD把它稱爲SSE128。在K8架構中(zhōng)可以同時執行兩個SSE指令,但是SSE的執行帶寬僅僅隻有64-bit。在K8中(zhōng)執行一(yī)個128-bit的SSE指令,必須要分(fēn)成兩個64-bit指令來執行。這意味着執行一(yī)個128-bit的SSE指令需要占用一(yī)個額外(wài)的解碼通道。Barcelona把K8的64-bit SSE的執行帶寬提高到了128-bit,因此執行一(yī)個128-bit的SSE指令不用再進行分(fēn)解。這樣一(yī)來不但可以獲得更多可用的解碼帶寬,而且指令的執行效率也大(dà)大(dà)提高。增加SSE指令的執行帶寬也會造成核心内部的很多改變。由于獲得了更多的解碼帶寬,在執行128-bit的SSE指令時有出現了一(yī)個新的瓶頸,那就是指令取得帶寬。Barcelona的指令取得帶寬已經從K8的每周期16byte提高到了32byte。32byte的指令取得帶寬不僅僅有益于SSE編碼,對整數編碼也同樣非常有好處。更大(dà)的指令取得帶寬會明顯推進處理器性能。

 

在Barcelona上你可以取得和解碼更多的指令,這意味着你需要獲得更多的數據到執行核心,因此AMD加寬了L1緩存和SSE寄存器之間的傳輸界面。現在Barcelona可以每周期執行兩個來自L1-D緩存的128-bit SSE指令,原理和K8每周期執行兩個64-bit指令一(yī)樣。加上AMD同時加寬了L2緩存可内存控制器之間的傳輸界面,從而解決了指令取得帶寬的瓶頸。事實上SSE128的改進非常類似于Yonah到Merom的改進。在Conroe/Merom之前Yonah的FP/SSE性能還不如K8。這在Yonah和K8的性能對比測試中(zhōng)有很明顯的表現,雖然兩者在大(dà)多數應用程序、3D渲染和遊戲性能中(zhōng)的性能表現非常接近,但是在視頻(pín)編碼性能測試中(zhōng)K8明顯要優于對手。但是Core 2處理器的出現使這種情況發生(shēng)了逆轉,視頻(pín)編碼性能大(dà)幅度超越K8。也許SSE128的改進會使這種情況有所改變。


更高級的分(fēn)支預測器:

  盡管SSE128被AMD稱爲Barcelona的最大(dà)改進,但是這隻是冰山一(yī)角而已。在技術改進清單中(zhōng)排在最前面的是分(fēn)支預測器。分(fēn)支預測器的工(gōng)作原理很簡單,如果分(fēn)支編碼結果之前曾經被取用過,那麽它将最有可能在下(xià)一(yī)次被提取。所以分(fēn)支預測器的用途在于監測正在被CPU執行的指令,并且相應的對指令被執行的次數進行記錄,來統計特定地址的分(fēn)支編碼結果被提取的概率。一(yī)旦計數器内部累積足夠的數據,分(fēn)支預測器就可以相對比較精确的對分(fēn)支結果是否會被提取進行預測。通常來講,CPU的分(fēn)支預測器性能會直接影響數據處理的精确度。K8的分(fēn)支預測器就非常好,對它的架構做了專門的優化。不過Intel的Pentium M和Pentium 4采用的分(fēn)支預測器技術要更爲出色。在Barcelona中(zhōng)将增加了一(yī)個512通路的間接分(fēn)支預測器,更多的分(fēn)支預測器将使Barcelona比K8獲得和預測更多的曆史數據,而更多的曆史數據也會使支預測器更加精确。

  頻(pín)帶堆棧優化和更快的加載速度:

  Intel在Pentium M上首次提出了一(yī)個叫做專用堆棧管理器的功能,顧名思義就是用一(yī)個堆棧管理器來操作所有的X86堆棧運轉。簡單來說就是通過獨立的堆棧管理器減輕了處理的負擔。在Barcelona上AMD采用了相類似的技術,稱爲Sideband Stack Optimizer(頻(pín)帶堆棧優化),不但可以單獨處理所有的堆棧運轉,而且對堆棧處理器進行了優化,使其不浪費(fèi)執行單元的位寬。

  Barcelona還将具有Out-of-order load execution(亂序載入處理)能力,某些指令在實際運行當中(zhōng)可以繞過其他指令的處理,而且指令的存儲也可以不按順序進行,這在某些環境下(xià)對效率的提高有着很關鍵的作用。

  更快速的内存控制器:

  從以往的經驗來看,AMD每推出一(yī)款新的處理器都會對内存控制器進行一(yī)次增強,Barcelona也不例外(wài),它的内存控制器改進将會使内存性能得到很大(dà)的提升。和K8相比Barcelona的内存控制器将更加智能化。K8(Socket-940/939/AM2)處理器整合的是一(yī)個128-bit内存控制器,而在Barcelona中(zhōng)這個内存控制器被分(fēn)離(lí)成兩個64-bit控制器。每個控制器都可以獨立運行,從而使内存控制的效率更高。尤其是四個核心分(fēn)别處理不同的任務時它的優點更加明顯。另外(wài),Barcelona的北(běi)橋也将擁有比K8更高的帶寬,考慮到高帶寬的利用這個北(běi)橋将支持未來的DDR3内存标準。不過照目前的消息來看,起初發布的Barcelona仍然隻支持DDR2内存。

  新的Prefetcher單元:

  Prefetcher(預取)單元的作用是預先取得内存中(zhōng)的數據放(fàng)到緩存中(zhōng)備用,以加快内存的潛伏期。Intel的Core 2處理器每個核心有三個Prefetcher單元。K8處理器每個核心有兩個Prefetcher單元,一(yī)個用來預取指令,一(yī)個用來預取數據。Barcelona每核心的Prefetcher單元數量仍然和K8一(yī)樣,但是對它們進行了改進。最大(dà)的改變是數據Prefetcher單元會直接将數據儲存到L1緩存中(zhōng),而K8的數據Prefetcher單元是把數據儲存到L2緩存中(zhōng)。把數據預取到潛伏期更低的L1緩存,會增加核心預取的精确性而且還可以避免占用L2緩存。而最大(dà)的改進是,在Barcelona的内存控制器内部加入了一(yī)個DRAM Prefetcher單元,這個DRAM Prefetcher單元用于整體(tǐ)的内存需求,它不會把數據儲存到L2或L3緩存,而是儲存到自帶的緩存器中(zhōng),這将會增強整個核心的性能。

  三級緩存架構和虛拟化技術:

  AMD在緩存部分(fēn)一(yī)直都落後于Intel。我(wǒ)們知(zhī)道雙核Core 2處理器采用的是共享的4MB二級緩存,是目前雙核K8的兩倍。而這一(yī)差距在四核心處理器的競争中(zhōng)還将繼續拉大(dà),Barcelona每個核心單獨享有512KB二級緩存,四個核心的二級緩存總量僅僅隻有2MB,而Intel的四核心Kentsfield卻擁有高達8MB的二級緩存。預計年低推出的Penryn将擁有總數高達12MB的二級緩存。Barcelona沒有像K8一(yī)樣每個核心采用128KB的一(yī)級緩存和512KB的二級緩存,它的一(yī)級緩存僅僅隻有64KB,但是AMD爲Barcelona加入了四核心共享的2MB三級緩存,這将彌補二級緩存容量不足的問題。三級緩存的容量是可變化的,不同型号的處理器可能會配備不同容量的三級緩存。Barcelona在性能方面的改進還包括提升虛拟地址轉換速度的增強虛拟化技術。目前進行地址轉換,通常hypervisor是通過一(yī)種叫做shadow paging的技術來實現的,而是Barcelona采用的是一(yī)種硬件加速shadow paging技術,AMD把它稱作Nested Paging。這樣一(yī)來hypervisor進行地址轉換所用的時間就會大(dà)大(dà)縮短。

 

  電源管理:

  Barcelona的四個核心仍然采用同樣的電壓,但是北(běi)橋的供電和CPU采用分(fēn)離(lí)式電源管理設計,核心電壓和北(běi)橋電壓可以單獨在0.8V - 1.4V之間改變,也就是說改變其中(zhōng)一(yī)個電壓不會對另一(yī)個電壓産生(shēng)影響,這會有效的降低功耗。盡管Barcelona的四個核心的電壓不能單獨改變,但是它們可以運行在不同的時鍾頻(pín)率,在運行不需要四個核心滿載的任務時,其它空閑的核心會自動降低時鍾頻(pín)率以達到省電的目的。Barcelona的每個核心都支持5種p-states模式來改變時鍾頻(pín)率,這種p-states模式是完全的硬件控制,因此你需要專用的驅動程序來激活這種電源控制功能。可以說Barcelona的電源管理模式爲将來的多核心處理器增強功耗比提供了一(yī)個新的思路。

 

結論:

  毫無疑問Intel的Core 2處理器的發布對于處理器性能提升有革命性的意義,它也是近幾年來性能提升幅度最大(dà)的新處理器。Core 2最大(dà)的成功在于它的全新架構,但是不得不承認對于Intel來說Core 2的出現并不是最佳時機。

 

新聞資(zī)訊
聯系我(wǒ)們

聯系電話(huà):020-87518715

聯系郵箱:services@picusit.com

公司名稱:鄭州易科計算機服務有限公司

公司地址:廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601

熱線咨詢電話(huà):

020-87518715

公司地址:
廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601
手機掃碼查看更多
如有問題咨詢請及時與我(wǒ)們溝通,我(wǒ)們會爲您詳細解答!
Copyright © 鄭州易科計算機服務有限公司 地址:廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601

網站首頁

公司介紹

服務項目

成功案例

技術動态

聯系方式