Intel的四核處理器構架分析
Intel的處理器發展規劃路線并不固定。為了延續P6架構核心的成功,Intel采用了兩個開發團隊并進的策略,其中一個團隊繼續發展Pentium 4采用的NetBurst架構,另一個團隊將對代號Banias的Pentium M進行重新設計,目標是更低成本、更低功耗的高集成度核心。最終的結果是NetBurst架構的發展被Banias的進化超越。Dothan是Banias第一個進化成果,它擁有更高的時鐘頻率和更多的緩存,為進一步的發展奠定了基礎。隨后Intel的以色列發展中心(IDC)以Dothan為基礎提出了原生雙核心和共享二級緩存解決方案,這就是代號Yonah的Core Duo處理器,也是首款雙核心Intel處理器。從Dothan到Yonah的演進具有遠比Banias到Dothan更重大的意義,不僅僅只因為Yonah是首款Intel雙核心處理器,最重要的是Yonah擁有更多架構上的改進。接下來Intel又對Yonah進行了改進,這就是讓Intel從競爭對手AMD手中奪回技術領先地位的Core 2系列處理器。
認識Barcelona架構:
Barcelona是AMD首款四核心處理器,采用65nm制造工藝,和Intel的四核Kentsfield處理器由兩個雙核心組成的架構不同,Barcelona是單處理器集成四個核心的架構是真正的原生四核處理器。不過,盡管在技術上要優于Intel的Kentsfield,我們還是不確信Barcelona在現實中的性能會大幅超越Kentsfield。
Barcelona的設計比K8要復雜的多,需要多達11個金屬層,而K8和Core 2 Duo分別只有9個和8個。而更多的金屬層只會使制造過程更為復雜增加成本,對于最終的用戶來說并沒有太大意義。Barcelona擁有463百萬個晶體管,比Kentsfield少了119百萬個。晶體管數量少是因為緩存減少的原因,Barcelona上的每個核心都擁有128KB一級緩存和512MB二級緩存,再加上四個核心共享的2MB三級緩存,緩存的總量為4.5MB。而Kentsfield的緩存總量達到了8.25MB,比Barcelona多了80%。不過Barcelona的緩存仍然遠遠要比四核心K8要多,如果不計算緩存晶體管,一個雙核Athlon 64 X2處理器的晶體管數量大約為94百萬個,而Barcelona的晶體管數量大約為247百萬個。即使兩個雙核Athlon 64 X2處理器的晶體管數量也沒有Barcelona多。
SSE128:
在從K8到Barcelona的眾多改進中有一個非常重要的改變,AMD把它稱為SSE128。在K8架構中可以同時執行兩個SSE指令,但是SSE的執行帶寬僅僅只有64-bit。在K8中執行一個128-bit的SSE指令,必須要分成兩個64-bit指令來執行。這意味著執行一個128-bit的SSE指令需要占用一個額外的解碼通道。Barcelona把K8的64-bit SSE的執行帶寬提高到了128-bit,因此執行一個128-bit的SSE指令不用再進行分解。這樣一來不但可以獲得更多可用的解碼帶寬,而且指令的執行效率也大大提高。增加SSE指令的執行帶寬也會造成核心內部的很多改變。由于獲得了更多的解碼帶寬,在執行128-bit的SSE指令時有出現了一個新的瓶頸,那就是指令取得帶寬。Barcelona的指令取得帶寬已經從K8的每周期16byte提高到了32byte。32byte的指令取得帶寬不僅僅有益于SSE編碼,對整數編碼也同樣非常有好處。更大的指令取得帶寬會明顯推進處理器性能。
在Barcelona上你可以取得和解碼更多的指令,這意味著你需要獲得更多的數據到執行核心,因此AMD加寬了L1緩存和SSE寄存器之間的傳輸界面。現在Barcelona可以每周期執行兩個來自L1-D緩存的128-bit SSE指令,原理和K8每周期執行兩個64-bit指令一樣。加上AMD同時加寬了L2緩存可內存控制器之間的傳輸界面,從而解決了指令取得帶寬的瓶頸。事實上SSE128的改進非常類似于Yonah到Merom的改進。在Conroe/Merom之前Yonah的FP/SSE性能還不如K8。這在Yonah和K8的性能對比測試中有很明顯的表現,雖然兩者在大多數應用程序、3D渲染和游戲性能中的性能表現非常接近,但是在視頻編碼性能測試中K8明顯要優于對手。但是Core 2處理器的出現使這種情況發生了逆轉,視頻編碼性能大幅度超越K8。也許SSE128的改進會使這種情況有所改變。
更高級的分支預測器:
盡管SSE128被AMD稱為Barcelona的最大改進,但是這只是冰山一角而已。在技術改進清單中排在最前面的是分支預測器。分支預測器的工作原理很簡單,如果分支編碼結果之前曾經被取用過,那么它將最有可能在下一次被提取。所以分支預測器的用途在于監測正在被CPU執行的指令,并且相應的對指令被執行的次數進行記錄,來統計特定地址的分支編碼結果被提取的概率。一旦計數器內部累積足夠的數據,分支預測器就可以相對比較精確的對分支結果是否會被提取進行預測。通常來講,CPU的分支預測器性能會直接影響數據處理的精確度。K8的分支預測器就非常好,對它的架構做了專門的優化。不過Intel的Pentium M和Pentium 4采用的分支預測器技術要更為出色。在Barcelona中將增加了一個512通路的間接分支預測器,更多的分支預測器將使Barcelona比K8獲得和預測更多的歷史數據,而更多的歷史數據也會使支預測器更加精確。
頻帶堆棧優化和更快的加載速度:
Intel在Pentium M上首次提出了一個叫做專用堆棧管理器的功能,顧名思義就是用一個堆棧管理器來操作所有的X86堆棧運轉。簡單來說就是通過獨立的堆棧管理器減輕了處理的負擔。在Barcelona上AMD采用了相類似的技術,稱為Sideband Stack Optimizer(頻帶堆棧優化),不但可以單獨處理所有的堆棧運轉,而且對堆棧處理器進行了優化,使其不浪費執行單元的位寬。
Barcelona還將具有Out-of-order load execution(亂序載入處理)能力,某些指令在實際運行當中可以繞過其他指令的處理,而且指令的存儲也可以不按順序進行,這在某些環境下對效率的提高有著很關鍵的作用。
更快速的內存控制器:
從以往的經驗來看,AMD每推出一款新的處理器都會對內存控制器進行一次增強,Barcelona也不例外,它的內存控制器改進將會使內存性能得到很大的提升。和K8相比Barcelona的內存控制器將更加智能化。K8(Socket-940/939/AM2)處理器整合的是一個128-bit內存控制器,而在Barcelona中這個內存控制器被分離成兩個64-bit控制器。每個控制器都可以獨立運行,從而使內存控制的效率更高。尤其是四個核心分別處理不同的任務時它的優點更加明顯。另外,Barcelona的北橋也將擁有比K8更高的帶寬,考慮到高帶寬的利用這個北橋將支持未來的DDR3內存標準。不過照目前的消息來看,起初發布的Barcelona仍然只支持DDR2內存。
新的Prefetcher單元:
Prefetcher(預取)單元的作用是預先取得內存中的數據放到緩存中備用,以加快內存的潛伏期。Intel的Core 2處理器每個核心有三個Prefetcher單元。K8處理器每個核心有兩個Prefetcher單元,一個用來預取指令,一個用來預取數據。Barcelona每核心的Prefetcher單元數量仍然和K8一樣,但是對它們進行了改進。最大的改變是數據Prefetcher單元會直接將數據儲存到L1緩存中,而K8的數據Prefetcher單元是把數據儲存到L2緩存中。把數據預取到潛伏期更低的L1緩存,會增加核心預取的精確性而且還可以避免占用L2緩存。而最大的改進是,在Barcelona的內存控制器內部加入了一個DRAM Prefetcher單元,這個DRAM Prefetcher單元用于整體的內存需求,它不會把數據儲存到L2或L3緩存,而是儲存到自帶的緩存器中,這將會增強整個核心的性能。
三級緩存架構和虛擬化技術:
AMD在緩存部分一直都落后于Intel。我們知道雙核Core 2處理器采用的是共享的4MB二級緩存,是目前雙核K8的兩倍。而這一差距在四核心處理器的競爭中還將繼續拉大,Barcelona每個核心單獨享有512KB二級緩存,四個核心的二級緩存總量僅僅只有2MB,而Intel的四核心Kentsfield卻擁有高達8MB的二級緩存。預計年低推出的Penryn將擁有總數高達12MB的二級緩存。Barcelona沒有像K8一樣每個核心采用128KB的一級緩存和512KB的二級緩存,它的一級緩存僅僅只有64KB,但是AMD為Barcelona加入了四核心共享的2MB三級緩存,這將彌補二級緩存容量不足的問題。三級緩存的容量是可變化的,不同型號的處理器可能會配備不同容量的三級緩存。Barcelona在性能方面的改進還包括提升虛擬地址轉換速度的增強虛擬化技術。目前進行地址轉換,通常hypervisor是通過一種叫做shadow paging的技術來實現的,而是Barcelona采用的是一種硬件加速shadow paging技術,AMD把它稱作Nested Paging。這樣一來hypervisor進行地址轉換所用的時間就會大大縮短。
電源管理:
Barcelona的四個核心仍然采用同樣的電壓,但是北橋的供電和CPU采用分離式電源管理設計,核心電壓和北橋電壓可以單獨在0.8V - 1.4V之間改變,也就是說改變其中一個電壓不會對另一個電壓產生影響,這會有效的降低功耗。盡管Barcelona的四個核心的電壓不能單獨改變,但是它們可以運行在不同的時鐘頻率,在運行不需要四個核心滿載的任務時,其它空閑的核心會自動降低時鐘頻率以達到省電的目的。Barcelona的每個核心都支持5種p-states模式來改變時鐘頻率,這種p-states模式是完全的硬件控制,因此你需要專用的驅動程序來激活這種電源控制功能。可以說Barcelona的電源管理模式為將來的多核心處理器增強功耗比提供了一個新的思路。
結論:
毫無疑問Intel的Core 2處理器的發布對于處理器性能提升有革命性的意義,它也是近幾年來性能提升幅度最大的新處理器。Core 2最大的成功在于它的全新架構,但是不得不承認對于Intel來說Core 2的出現并不是最佳時機。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [處理器/DSP] Codasip發布適用于定制計算的新一代RISC-V處理器系列產品 2023-10-24
- [電子說] Andes旗下高性能多核矢量處理器IP的AX45MPV正式上市 2023-10-24
- [控制/MCU] 單片機的三大功能 2023-10-24
- [電子說] 思爾芯原型驗證助力香山RISC-V處理器迭代加速 2023-10-24
- [電子說] STM32基礎知識:中斷系統 2023-10-24
- [電子說] 講一講Apple Macintosh處理器過渡的故事 2023-10-24
- [電子說] GD32的中斷-外部中斷的實現 2023-10-24
- [汽車電子] 貿澤開售用于高級駕駛輔助系統和自動泊車的 Texas Instruments TDA4x SoC處理器 2023-10-24
( 發表人:admin )