中央處理器 - AMD原生四核之戰(上),Barcelona新架構出擊 - 電腦

前往內容


AMD原生四核之戰(上),Barcelona新架構出擊



電腦的發展速度常常比我們想像的還快,似乎不久前大家還在爭論CPU是否有變成雙核心的必要,轉眼間幾乎所有的新電腦和Notebook都是雙核心了,單核心CPU只剩下最最低階的產品,而大家爭論的重點也升級成「原生四核拼裝四核 CPU,到底誰比較好?」,最後總演變成藍綠陣營(Intel vs. AMD,別想太多)打架。誰好誰壞暫時先不管,我們是不是用得到四核心CPU更是沒有人在意,AMD和Intel的四核大戰已經開打,全民上四核也是遲早的事。


蜘蛛平台(Spider Platform)

AMD在上個月發表Spider平台,一口氣推出三大新產品,包含新的Phenom處理器、AMD 790晶片組和Radeon 3800系列顯示卡,會叫「蜘蛛平台」的原因是Phenom有原生四核心、790FX主機板可串連四張ATI顯示卡(CrossFireX),剛好變成八隻腳的平台......我只能說幸好AMD沒叫它「Octopus Platform」。



Spider Platform組成要件,Phenom、Radeon 3800和AMD 790晶片組,該怎麼說呢?好像ATI那邊出的比較好...


這篇文章出的有點晚了,有在關心AMD和Intel大戰的玩家應該都知道AMD新的Phenom被Intel電得吱吱叫,AMD最快的四核心Phenom 9600還輸給Intel最慢的四核心Core 2 Quad Q6600,搞得AMD顏面盡失,網路上一堆文章追著AMD猛打,有些國外媒體甚至建議直接裁掉AMD的CEO,AMD股價跌到四年來最低點,最近市值甚至比當初買ATI所花的錢還低。

落水狗人人都會打,但是不是真的該打?與其跟著大家一起罵,不妨趁這個機會好好研究一下Phenom,這是第一顆原生四核心的桌上型x86 CPU,大家都期待它會有如飛龍般咬死Intel,到底是哪邊出了問題?原生四核架構是個錯誤嗎?或是AMD缺少製程做後盾?還是有其他別的原因?

這篇專題將會拆成上下兩集,本篇先來看Phenom所用的新架構「Barcelona」,第二篇再來做Phenom的測試,只有被電爆的Phenom 9600當然不夠看,下篇會有目前AMD最高階的極品飛龍Phenom 9900。


Barcelona 微架構



Barcelona的die照片。


CPU的「微架構」(Microarchitecture)是一個設計的方向,它並不是單一產品,而是一整個世代、橫跨數年所有產品線的基礎,上到伺服器、下到Notebook所用的CPU都是以相同基礎去變化。一套全新的CPU架構是曠日廢時的研發心血,得投入數千萬以上的資金才能實際量產,所以研發出來之後都會延用好幾年,中間則配合需求做修改。AMD前一個K8架構(現在的Opteron/Athlon 64/Turion 64)已經用了快5年了,從只支援單通道DDR記憶體的單核心CPU,改到現在支援雙通道DDR2的雙核心,看起來改變很大,其實核心內部都一樣。而Barcelona就是繼K8之後的新架構,至少會用個兩年才會有更新的Bulldozer架構出來,眾所期待的融合處理器Fusion初期也是以Barcelona為基礎。

Barcelona並不是全新打造、從零做起的架構,而是把K8拿來大修一翻,Barcelona和K8之間的關係,就有點像Intel的Core微架構與原始Pentium M差不多,只剩房屋外觀類似,裡面則大規模翻修了。至於翻修列表,官方有自己的科技行銷名詞,什麼AMD Balanced Smart Cache、AMD Wide Floating Point Accelerator一堆繞口的花樣,下面整理成比較正常的名字。


Barcelona架構重點特色
.原生四核心(Native Quad Core)
.共用L3快取(Shared L3 Cache)
.雙記憶體控制器(Unganged & Ganged Mode)
.HyperTransport 3.0
.省電機制(CoolCore / Cool & Quiet 2.0)
.SSE128 & SSE4a
.其他單元強化
.虛擬化技術



原生四核心
Barcelona是原生四核心的架構,在一個晶粒(die)上就有完整的四個CPU核心,從下面的die照片可以看出來,這是業界第一顆、也是目前唯一的原生四核x86 CPU。雖然Intel老早就在賣四核心CPU,像Q6600、QX6850、QX9650等等,但它們是用MCM(Multi-Chip Module)的方式搞出來的,雖然外觀還是一顆CPU,但內容物是兩顆die封裝在一起,是兩個雙核心CPU包成一個四核心。



上面那顆就是Core 2 Quad拆掉鐵蓋的樣子,有兩個CPU的die封裝在一起,每顆die都是原生雙核心,封裝之後加上FSB通道就成了2x2的拼裝四核心。而Barcelona則像下面那顆,單一die裡就有四個核心。





這兩者的差別主要在各核心之間溝通的速度,原生四核全部都在同一個晶粒裡,有專屬線路相互連接,彼此溝通、交換資料的速度很快,而且四個核心可以同時對同一筆資料做運算,強化多執行緒效能。而Intel這種拼裝四核心,兩顆雙核心之間是透過前端匯流排(FSB,Front Side Bus)交換資料,FSB是Intel的CPU和主機板北橋相連的通道,平常就要忙著傳輸記憶體的資料,現在又得傳核心之間的資料,多執行緒的效能一定沒有原生四核來的好。

不過原生四核的缺點是製造不易,因為一顆die肩負著四個核心的責任,壞掉一個核心就沒了,拼裝四核則把製程風險分攤到兩個die上,Intel走的是容易生產、價格便宜的路線,明年的45nm新產品Penryn依然決定做這種拼裝四核;AMD則選擇有爆點、高效能的原生路線。

高效能?可能有人認為原生四核只是AMD自己喊爽的噱頭,因為Phenom的效能也不怎麼樣,但大家通常只看到最終的效能,並沒有注意效能上升的「幅度」,當程式從單執行緒變成多執行緒時,原生四核的優勢就會非常明顯,這在下一篇的測試就會看到,保証讓人印象深刻。而且,如果原生四核真的是噱頭,那Intel幹嘛在下一代的Nehalem架構也導入原生四核?


2MB共用L3 Cache
快取是CPU內部的高速記憶體,一直都是AMD的罩門之一,因為製程技術趕不上Intel,無法做出超大容量的快取,另一方面AMD K8架構之後已經內建記憶體控制器,也彌補快取的不足。Athlon 64 X2是128KB x2的獨立L1,512KB或1MB x2的獨立L2,相比之下,Intel Core 2雙核心有128KB x2的獨立L1、2MB或4MB的共享L2,Intel明顯大了不少。

不過AMD仍在Barcelona上設法加大快取,由於高速L2快取製作困難,而且AMD架構中的L2是多核心鏡像(每個核心的獨立L2放的資料都完全一樣),為了塞進更多快取資料,並在不大幅增加製造難度的前提下,他們選擇加上速度較慢、離核心遠但容量較大的第三層L3快取,總共2MB給四核心共用,L1和L2的大小則跟K8相同。原本AMD K8的快取都是exclusive型式,意思是L1和L2快取放的資料是不同的,因為快取空間有限,只能犧牲時間換取空間儲存更多資料,Intel Core 2的共享L2快取超大,所以是Inclusive型式,L2包含L1的所有資料,犧牲空間來加快多核心的速度。而Barcelona的L3則採用「Partially Exclusive」,視L2資料是否會被其他核心存取來決定要不要也擺一份到L3。

比較奇特的是,Barcelona的L3快取並非全速,L1/L2的時脈都和CPU一樣,但L3則跟內建的北橋同速,低於核心時脈,北橋就是Barcelona的記憶體控制器,之間的時脈關係有點複雜,我們下一篇再講。


Barcelona加了2MB的L3快取,做為四顆核心之間的資料共享,至於L1和L2的規格則跟K8一樣。初代的Barcelona是2MB的L3快取,明年45奈米的Shanghai改版核心會加到6MB。


雖然Barcelona加了2MB的共享L3,但Intel在明年的45nm新CPU中,把雙核心的L2快取暴增到6MB(拼裝四核之後就12MB),所以同樣是四核心CPU,AMD與Intel的快取差距反而比之前的雙核心更大,因此AMD改良了記憶體控制器做彌補。


雙記憶體控制器
CPU需要記憶體做為運算的暫存區,但傳統架構的記憶體通常離CPU很遠,中間隔一個主機板的北橋做記憶體控制器,拖慢頻寬和延遲。Intel克服的方法是不斷加大CPU內部的快取來減少記憶體存取,但加大快取需要製程能力做後盾,AMD的製程能力遠比不上Intel,於是他們把記憶體控制器從主機板北橋抽出來,內建到CPU裡,強化CPU存取記憶體的能力,而這也是AMD K8架構的一大特色。

這是AMD引以為傲的重點功能,Barcelona當然也內建記憶體控制器,而且強化成內建「兩個」控制器,這可做到前所未見的功能,相當有趣!文字說明有點難,直接看下面的四格漫畫吧~



現在支援雙通道的記憶體控制器,無論是北橋或CPU內建的都是單一128位元的單元,控制器有Channel A和B兩個通道,每個通道可以插一或兩條的記憶體(DIMM 0和DIMM 1),若這種平台只插一根記憶體,或是兩個通道的記憶體總容量不一樣,就會變成單通道的模式,每個時脈週期只能傳輸64位元的資料。



若兩個通道插上「完全一模一樣」,包括容量、時脈、時序參數都相同的記憶體,記憶體控制器就會把它們視為一體(邏輯上組合),啟動雙通道模式讓傳輸頻寬加倍,每個時脈週期傳輸128位元。就算記憶體不同,兩個通道的容量一樣也能啟動雙通道(比如Channel A是512MB+512MB,Channel B是1GB),只是所有記憶體都得跑在相同的參數。



Barcelona的記憶體控制器並非傳統一個128位元的單元,而是「兩個」64位元,當兩個通道插上完全一樣的記憶體時,就跟一般雙通道模式相同,兩通道的記憶體會邏輯上連為一體,這稱為「Ganged Mode」。



最特殊的是這個,兩個記憶體控制器分別控制兩個通道的記憶體,兩個分別都是64位元,但因為同時啟動,總合起來每個時脈週期一樣有128位元的資料傳輸。這不是雙通道,也不是單通道,而是兩個單通道同時執行,稱為「Unganged Mode」。


Unganged Mode特別的地方是獨立控制兩個通道的記憶體,所以就算兩邊容量和時序參數都不同,也能啟動相當於雙通道的頻寬,目前唯一限制是時脈要相同,但就算一邊插1GB、另一邊插2GB,兩條的參數完全不同,照樣可以啟動128元的頻寬。這跟Intel的Flex Mode彈性雙通道不同,Flex Mode仍然有容量限制,它是把容量匹配的部分啟動雙通道,多出來的部分則還是單通道。Barcelona的Unganged Mode只要兩個通道都有插記憶體,不管怎樣都有雙通道的頻寬。



若主機板BIOS做的完整(圖中是MSI的790FX主機板),Phenom平台在記憶體部分可以獨立調整兩組時序,圖中的DCT 0和DCT 1就是各自調Channel A和B上記憶體的時序參數,超頻玩家應該會蠻爽的,不必再擔心混插雙通道的潛在不穩定因素,Barcelona原生就支援混插!
[註:DCT是DRAM Controller的縮寫]


Phenom預設是啟動Unganged Mode,不只是因為這在各種記憶體亂插的情況下都有等同於雙通道的頻寬,而且傳輸通道是切越細越好。單一時脈週期最多能傳128位元的單一資料通道,和單一時脈週期最多能傳64位元的資料通道有兩個,同時脈下雖然理論的總頻寬一樣,但若傳輸的資料小於64位元,前者仍然佔用單一通道的一次時脈週期,後者則只佔用其中一個通道,另一個通道還可傳輸另一份資料,增加通道的使用效率。換句話說,Barcelona有機會在一個時脈週期下同時做兩次記憶體的存取,而這兩次存取可分別屬於兩個核心,這種特殊設計是為了加強多核心/多執行緒的效能,有沒有效呢?下一篇就知道。

當然附帶的好處就是兩個通道記憶體可各自裝上不同容量,並且獨立超頻,雖然目前僅限調整時序參數,時脈一定要相同,而且必須是同一種類的記憶體,不能DDR2和DDR3混插或ECC和沒ECC的記憶體混插,但已經蠻酷的了!目前Barcelona支援DDR2,明年有新的AM3腳位支援DDR3。


HyperTransport 3.0
AMD的CPU是靠HyperTransport通道來連接北橋,由於記憶體控制器已經內建到CPU中,所以北橋基本上只剩下PCI-Express來連接顯示卡。之前K8是用HyperTransport 2.0,通道時脈最高到1000MHz,雙向最高頻寬為8GB。Barcelona升級到HyperTransport 3.0,最高可到2600MHz,目前的Phenom則在2000MHz左右,讓頻寬增加一倍。

HyperTransport對AMD CPU的主要意義是多CPU之間的串連,用於多顆CPU的伺服器,加大頻寬也就是加快CPU之間的傳輸速度,有助於增加整體效能。不過桌上型CPU就只有連接北橋而已,當然也會提高整體效能,尤其是顯示卡對外的頻寬,將來Fusion會融合CPU和顯示晶片,初代Fusion可能就是透過HT 3.0連接兩者,HT的頻寬也就等於內建顯示晶片的記憶體頻寬了。



另外,HyperTransport 3.0有特殊的「Link Splitting」模式,可把單一通道拆開變兩條,每條通道的頻寬減半,在AMD的CPU架構中,只有伺服器版的CPU(Opteron系列)才有兩條以上的HyperTransport做為CPU互連之用,而HT 3.0這個分離模式或許讓桌上型的Phenom也能雙CPU運作,至少可以確定AMD 790晶片組是有支援雙CPU的。


省電機制
製程越縮越小,省電機制也就越來越重要,Barcelona加入Cool n' Quiet 2.0和CoolCore兩個省電技術,差別在於C & Q 2.0在Windows XP下還是需要CPU的驅動程式,CoolCore則是自動的。



Barcelona是原生四核,可以根據各核心的負載不同,獨立動態調整每個核心的時脈,可惜電壓值不能各自調整,會以負載最高的核心為基準來決定CPU電壓。Intel這邊還沒有類似的機制,雙核心的時脈是同步的,45nm的Notebook處理器則是多了單核關閉、單核超頻的IDA技術。雖然說AMD的省電機制比較強,但省電這東西,製程的改良會比各種省電機制更有效。


另外,Barcelona用的是新的AM2+腳位,多了北橋(記憶體控制器)電壓值的獨立控制,雖然說AMD CPU的北橋就在CPU裡面,但AM2+的定義可讓CPU的核心與北橋處於不同電壓下,這樣CPU在待機狀態時,就不必遷就北橋的電壓而能進一步省電。這功能一定要AM2+的CPU搭配AM2+的主機板才行,若把AM+的CPU插在舊的AM2主機板上,CPU核心和北橋電壓值就會一致了。

SSE128 & SSE4a
以上是Barcelona比較大方向的改進,而在內部執行單元的強化上,AMD大概沒有夠多的資金、時間或製程能力做全盤翻新,所以AMD主要強化Barcelona的多媒體效能,期望至少能夠跟上Intel Core微架構的水準,這些強化都圍繞在SSE指令集上,官方統稱為SSE128。

在Core 2出來之後,我們看到Athlon64在多媒體效能上完全慘敗,尤其是影片轉檔的部分,雖然這是種種因素的總合,但主要原因就是K8架構在SSE效能上的不足。SSE是多媒體加速的指令集(詳細解說請參考這篇文章),K8的兩個SSE執行單元都是64位元,而Intel Core微架構則是三個128位元SSE單元,當K8遇到128位元的SSE指令就得拆成兩個64位元分別執行,這讓Core架構在SSE執行能力上至少是K8的兩倍,最後就反應在多媒體效能上的懸殊差距了。



Barcelona則把所有SSE執行單元都加大到128位元,但若只有執行單元加大,前後端指令或資料輸出輸入的通道沒有加寬的話也沒用,所以指令提取頻寬、L1/L2快取的頻寬、浮點運算的排程器等等位於SSE執行單元前後的通道或單元,也一併都改成128位元。而這些週邊單元的加強不止對SSE幫助,也會順道改善Barcelona的整體效能,當然SSE的部分是最明顯的。


另外,Barcelona也支援新的指令集SSE4a,在Penryn架構解析的文章中,有提到Intel明年45nm的CPU支援SSE4,好笑的是這兩家的「SSE4」指令集好像是各自叫爽的,AMD的SSE4a沒有包含在Intel SSE4裡面,也不確定之後有沒有軟體支援,而且SSE4a只有新增...呃...4個指令,相較於Penryn新增47個指令,Barcelona的SSE4a恐怕是做心酸的。


其他單元強化
Barcelona架構中的其他單元大致和K8類似,只有一些小改變,太細部的東西這裡就不談了,有興趣的人可直接參考官方的「Software Optimization Guide for the AMD Family 10h Processors」

比較有趣的是Sideband Stack Optimizer和Load Forwarding兩個功能,前者是把x86中兩個特定指令單獨拉出來執行,讓後端執行單元可以更平行化;Load Forwarding則是在一些限制的情況下,讓「載入」的動作可以提前到「儲存」之前,由於CPU執行時大部分都是載入記憶體的動作,只要不相衝突,讓載入可以提前執行的話就能幫助整體效能。這兩個都是Intel在Core微架構所新增的功能,Barcelona雖然作法不完全相同,但算是學習對手的優點了。



Barcelona的架構圖,在x86指令解碼的部分跟K8一樣,單一週期最多能解碼3個指令,Core 2則是5個(在指令融合的情況下);而在微指令亂序執行的部分,Barcelona跟K8一樣最多暫存72個微指令做重新排序,Core 2則是96個;最後,Core 2的執行單元還是比Barcelona多,就架構來看,Barcelona的單一核心效能還是比不上Core 2(而且可能輸不少)。解碼、重排、執行這三部分是息息相關的,如果要加大,就得全部都改,那是浩大工程,因此在單一核心的部分,Barcelona選擇延用K8的設計,加上一點點細部的改進。


虛擬化技術
Barcelona另外一個大重點是虛擬化技術的加強,虛擬化就是在同一個硬體下同時跑兩個以上的作業系統,更加善用硬體資源,Intel和AMD雙方都已經有虛擬化技術。而Barcelona加入「Nested page」來加快多個作業系統下記憶體位址轉換的速度,讓虛擬化環境的效能幾乎跟實體一樣。雖然虛擬化在伺服器領域很常見,但就跟64位元一樣,目前在桌上型電腦還很少用到,筆記型電腦就更別提了,Intel和AMD先後有推廣Viiv和AMD Live!,號稱是用虛擬化技術來實現多工的多媒體環境,意思就是兩個作業系統,一個上網一個看影片,實在有夠無聊,所以最後也都不了了之。


Barcelona的重心

現在x86的CPU都不直接執行x86指令了,而是先解碼成更小的微指令,重排微指令的順序來加速平行執行,所以解碼、重排的單元對整體效能影響非常大,也是Intel Core微架構大放異彩的地方。很可惜,Barcelona這些幾乎沒動,單一核心的部分大多直接延用K8的架構,加上前述幾個更新重點,不難理解Barcelona的設計理念就是持續固守伺服器領域。這是K8過去幾年靠著架構優勢搶下來的高利潤市場,原生四核、內建記憶體控制器、HyperTransport 3.0、虛擬化技術都是為了在多執行緒、多CPU、多OS環境下有更好的效能,這些正好也是Intel Core架構目前最大的劣勢。

這些放到桌上型CPU時會有什麼表現?多媒體效能想都不用想,保証比K8系列好的多,但能跟上Core 2的高水準嗎?原生四核、L3快取、特殊的記憶體控制器、HT 3.0和其他細部加強,能對整體效能帶來多少幫助?現在的軟體已經不像雙核心CPU剛出現時那樣了,許多需要CPU運算的程式都已經改成多執行緒運作,或許Barcelona架構真的可以發揮原生四核的優勢?

或許,Phenom並非一無是處。
或許Phenom很強
但是 並不會靠SPEC分出高下

數據會說話

當然 AMD目前局勢很難跟intel比拼效能

優勢在於 功耗 還有 價格

AMD黃金時期所取得的龐大客戶群
已經不知不覺間 被Intel搶走不少

Intel Core架構 易超 在轉檔及遊戲效能顯眼...
E2xxx就可以有不錯的表現....
Intel也不急著出原生四核產品...
以目前的2+2就能應付AMD的攻勢

AMD還是得加把勁.............
不論它架構多棒,目前它的唯一優勢就在伺服器上,在省電、執行效率方都有不錯的表現。但在桌上型電腦裡,真的要再一段時間才能看出它的強項,而等到那個時候,Intel的巨砲就要出現了,AMD大概只會更慘而以。
桌面產品功耗AMD也是輸
只剩價格可以當武器
看看AMD怎麼出招吧
目前Phenom X4 9500 已經有6500元的價格出現

不過要入手還是等修正版出了再看看效能表現吧
好文章,加分先。

Phenom 的挫敗無疑對 AMD 是一大打擊,
不論是效能或是股價都看的出端倪,
其實我也很好奇,
Phenom 明明就是從 K8 改良過的架構,
為何有些測試還輸給同時脈的 K8 呢?

G.F 大,
期待您的下一篇文章,
年終將近,
總得挑個敗家的對象,
這樣才不辜負 01 的精神...
Ken20064439 wrote:
桌面產品功耗AMD也...(恕刪)


降價好像真的是唯一的出路了,可是Q6600的對應應該是Phenom 9600

Phenom 9500一直降價只有一個賣點:市場上最便宜的四核心....

真的有人會因為只是「四核心」就買嗎?
這篇文章真的寫得非常仔細
多年來
Intel一直以製程+廣告行銷來迎戰AMD
但在產品的技術突破上卻了無新意
而AMD除了在製程落後+廣告行銷費用落後之外
每每研發出來的產品在設計理念上卻有跨里程碑之作

個人多年來一直是AMD的愛用者
若非有AMD這家公司競爭與制衡
PC的價格不會那麼快平易近人
效能也不會進步那麼快
G.F大大這篇文章
真的是寫的超棒阿
有種給人希望的感覺

將來的軟體必然是往多執行緒的方向前進
這應該是肥龍的機會吧!!

1頁 (共6頁)

前往




此文章的引用連結