【轉(zhuǎn)】AMD第二代FX處理器的心臟Piledriver架構(gòu)及市場分析(存檔)
AMD第二代FX處理器的心臟Piledriver架構(gòu)及市場分析
世界網(wǎng)絡(luò) www.linkwan.com 林和安、小洛夫
原文發(fā)表于《中無通訊》第64期
AMD 的 CPU 一向有高性能價格比的美譽(yù),而且市場銷售策略靈活,所以它在性能上雖不及 Intel CPU,但一直不乏支持者。近年 AMD 把業(yè)務(wù)發(fā)展重點(diǎn)放在整合 GPU 的 APU 處理器上,但依然重視 CPU 架構(gòu)的一年一更新。AMD 新發(fā)布的第二代 FX 處理器,即采用了全新 Piledriver 微架構(gòu),引入多項(xiàng)新技術(shù),以“高頻率,不鎖頻,及同價位更多核心”作為賣點(diǎn),為 AMD 用家?guī)砩墮C(jī)會。?

首代?FX?出師不利??????革命性架構(gòu)達(dá)不到如期效果
第二代 FX 處理器對 AMD 的重要性,與第一代 FX 糟糕的表現(xiàn),令 AMD 在 x86 微處理器市場上節(jié)節(jié)失利有關(guān)。第一代 FX 處理器采用 AMD 自 K10 架構(gòu)以來最重要的微架構(gòu)更新,市場對它充滿期望,希望它在性能上足以挑戰(zhàn) Intel 如日中天的 Core i7 處理器。事實(shí)上從技術(shù)來說,第一代 FX 采用 Bulldozer 微架構(gòu)擁有不少全新的設(shè)計,借著革命性的單 Bulldozer 模塊雙核心設(shè)計,雙核心可以共享一部份的電路,如共享指令譯碼器、L1 指令 Cache、FPU 等等,但重要的整數(shù)模塊卻有 2 組令效能倍增,這是一種以最少的電路爭取最大的效益的思維,一改過去每增加核心數(shù)目成本倍增的高代價做法,為業(yè)界提供一條便宜的多核心發(fā)展道路。同時,單模塊雙核心在共享頻寬上可更為有效,如在多線程的數(shù)據(jù)預(yù)取上等等。
由于采用單 Bulldozer 共享雙核心模塊設(shè)計,所以 Bulldozer 很輕易便集成了 4 個雙核心模塊,一推出即成為世界上首顆 8 核心桌面處理器,超越了 Intel Core i7 Extreme 980X 創(chuàng)下的 6 核心紀(jì)錄。為了確保 Bulldozer 的效能,AMD 還加入了多項(xiàng)新技術(shù),其中一項(xiàng)是在指令集方面,過去 Phenom II 因?yàn)椴恢С?Intel 的 SSSE3 及 SSE4.1 指令集,所以在部份測試項(xiàng)目遠(yuǎn)不如 Intel 同級處理器(編按︰雖然 Phenom II 也支持 SSE4a 指令集,但實(shí)際功能無法與 SSE4.1 相比)。為此,AMD 甚至不惜另起爐灶,推出 SSE5 指令集,結(jié)果是迫使 Intel、AMD 決定統(tǒng)一指令集,使彼此的處理器皆可支持最新加速指令集。

?AMD Bulldozer 采用革命性的單模塊雙核心設(shè)計。
Bulldozer 除了支持 SSSE3 與 SSE4.1 指令集外,也支持 Intel 最新的 AVX、AES 及 SSE4.2 指令集,甚至是 AMD 取消 SSE5 指令集計劃后,一些計劃保留的指令集如 FMA4(Fused Multiply/Add extensions)及 XOP(eXtended Operations)。FMA4 主要針對 HPC 應(yīng)用,而 XOP 是 AMD 希望超越 AVX 的特別指令,在 Operands 尋址上更加靈活,可針對數(shù)值應(yīng)用、多媒體、 Audio/Radio Algorithms 等。對于 Intel AVX 指令,Bulldozer 在 FPU 方向更特別作出了優(yōu)化,由于 Intel AVX 有 128-bit 及 256-bit 指令,所以在 FP Scheduler 之下有 2 個 128-bit FMAC,它們可以分別處理 2 條 128-bit AVX 指令,或合在一起處理 1 條 256-bit AVX 指令。
Bulldozer 因?yàn)椴捎?2 個核心共享資源的設(shè)計,所以高性能的 Front-End Unit 前端單元絕不可少。為此,AMD 也對原來 Phenom II 的 Front-End Unit 作為最大修改。首先是原來 Phenom II 的 3-Wide x86 Decoders 終于改為與 Intel CPU 相同 4-Wide x86 Decoder,可在同一同期譯碼更多指令。在 Cache 架構(gòu)上,Bulldozer 模塊設(shè)有一組 64KB, 2-way associative 指令 Cache,而每個核心則有專屬的 16KB 4-way associative 數(shù)據(jù) Cache,8 個核心便有總 128KB L1 數(shù)據(jù) Cache。Bulldozer 的數(shù)據(jù) L1 Cache 擁有很強(qiáng)的效能,設(shè)有 32-entry fully associative Data TLB,完全支持亂序執(zhí)行 Load/Store 功能,可在單個周期加載 2 個 128-bit loads 或 1 個 128-bit store。

可以同時處理兩組 128-bit 浮點(diǎn)數(shù)據(jù)或單組 256-bit 浮點(diǎn)數(shù)據(jù)。
L2 Cache 以每個 Bulldozer 模塊各有 2MB 16-way associative 的方式布置,如 8 核心有 4 個模塊即 8MB L2 Cache,6 核心為 3 個模式即 6MB L2 Cache,如此類推出。L2 TLB 擁有 124 entry 及 8way,可同時滿足指令及數(shù)據(jù)的請求,而且可同一時間支持最多 23 個重大 Cache Miss 失誤。L2 Cache 之下為 8MB 64 way associativity L3 Cache,采用 MOESI 協(xié)議工作,MOESI 是 Modified, Owned, Exclusive, Shared 及 Invalid 的簡稱,是 AMD 為 Server/Workstation 多 CPU 環(huán)境下定義的工作協(xié)議,確保各核心對 Cache 的有效讀取等等。
除上述的技術(shù)外,Bulldozer 采用第二代 AMD Turbo Core 技術(shù),不但有 Phenom II E-Stepping 的 Max Frequency 模式,即在線程不多的工作環(huán)境下,增加一半核心的頻率,提升效能,而 Bulldozer 還加入了 Max Core 模式,可以同時為所有核心加速,至于加速效果主要視乎 TDP 空間的余額而定,如使用水冷散熱加速效果會更為明顯。
Windows 7?未有優(yōu)化是致命傷
Bulldozer 超前的技術(shù)設(shè)計的確令人心感,驚嘆技術(shù)的魅力,然而在 FX-8150 在登場后,大家發(fā)現(xiàn)沒想象中高效能,問題在那呢?不少業(yè)者認(rèn)為 AMD 把市場想等太簡單,低估了單線程的重要性,而且 Windows 7 操作系統(tǒng)未能優(yōu)化 Bulldozer,是一嚴(yán)重的問題。
正 如 AMD 舉例,假設(shè)有 Thread 1a, Thread 1b 及 Thread 2 三項(xiàng)工作,Thread 1b 與 Thread 1a 在數(shù)據(jù)上可以共享,但 Windows 7 會把它安排到 3 個 Bulldozer 模塊執(zhí)行,令核心未能以最大 Turbo 加速。反而 Windows 8 會把 Thread 1a 及 Thread 1b 安排在同一 Bulldozer 模塊工作,無須使用第三及四組 Bulldozer 模塊,第一及第二個 Bulldozer 模塊可以最大加速工作,達(dá)至最佳效果??上?Windows 8 直至今年 10 月 26 日才正式推出,使 Bulldozer 無法在佳狀態(tài)下登場,其糟糕的表現(xiàn)使其 US$245 美元的定價顯得過高,因?yàn)檫@即意味 FX-8150 需要面對 Sandy Bridge 核心的 Intel Core i5 2500K,絕對是一場硬仗!

這幅圖表達(dá)了 AMD Bulldozer 需要特別的優(yōu)化,不然核心不能以最高效能工作。
還有一點(diǎn)是玩家傳統(tǒng)追求最強(qiáng)單核心的心理作祟,因 Bulldozer 在單核效能不如 Sandy Bridge,在玩家之間印下負(fù)面形象,加上 Bulldozer 功耗偏高,難以推出更高頻率型號,最終在 2011 年 12 月給主機(jī)板廠商的 Roadmap 中,取消 FX-8170 型號,也說明了 AMD 知道 Bulldozer 前路難行,需要轉(zhuǎn)到下一代 Piledriver 架構(gòu),也便是第二代 FX 系列處理器的誕生。

第一代 FX 處理器最高定位在 Core i7 與 Core i5,明顯是被“高估”了
改良版微架構(gòu)?Piledriver?一出即為桌面、流動及服務(wù)器采用
Piledriver 作為第二代產(chǎn)品,AMD 計劃是把它作為成熟版 Bulldozer 核心,適用于 Desktop、Mobile、Workstation/Server 市場,所以改良的重點(diǎn)在功耗及提升 IPC(Instruction Per Clock)上,計劃提升 10-15% 的效能。
上一代 Bulldozer 提供 Desktop 中最多的 8 核心設(shè)計,令 Bulldozer 芯片較(315mm2)同期的 Sandy Bridge(216 mm2)大,僅比 Sandy Bridge-E(435mm2)小。在 Piledriver 未改用 22nm 工藝前,增加核心數(shù)目只會大大增加功耗,令每個核心工作頻率需要降低,未必是最有效的方法,所以 Piledriver 架構(gòu)把節(jié)省的 TDP 用作提升頻率,從 FX-8150 時的 3.6GHz 提升至今代 FX-8350 的 4.0GHz Base Frequency,而在 Turbo Mode 方面,F(xiàn)X-8350 不需要水冷即可以 4.2GHz 工作,而 FX-8150 則需要有賴水冷等特別散熱才可在 4.2GHz 工作,一般為 3.9GHz,表現(xiàn)大幅提升。
無獨(dú)有偶的是,Intel Core i7 3960X Extreme 沒有用盡 Sandy Bridge-E 核心可以提供的 8 核心以至 10 核心的設(shè)計,維持 6 核心 12 線程但改為提升頻率的做法,當(dāng)中便考慮到功耗散熱的問題,加上現(xiàn)時軟件未能發(fā)揮 8 核心的優(yōu)勢,不比提升頻率以增加效能理想。
改良分支預(yù)測及?Cache?架構(gòu)
Bulldozer 繼續(xù)在分支預(yù)測及 Cache 架構(gòu)的改進(jìn),達(dá)到提升 CPU IPC 性能的效果,Piledriver 改進(jìn) Branch Prediction 功能及 Cache 架構(gòu),對 L1 BTB、L2 BTB 及 Prediction Queue 作出優(yōu)化。而在 x86 Decoders 方面,Piledriver 維持在 4-way 解碼,但新增了 FMA3 及 F16C 兩條指令。
FMA3 是 Intel 版的 FMA(Fused Multiply / Add extensions)指令,功能與 AMD FMA4 相似,預(yù)計將在 Intel 下一代 Haswell 架構(gòu)中提供。而 F16C(Half Precision Float Conversions)在 Ivy Bridge 芯片已經(jīng)加入,Piledriver 加入此指令實(shí)現(xiàn)了 AMD 、 Intel 指令集上的統(tǒng)一。
隨下是改進(jìn)了的 Int. Scheduler 及 60 Entry FP Scheduler,下有加大 Load Queue 容量的 Load/Store Unit,可改進(jìn) Store 到 Load Forwarding 及 lock performance 等。另外是容量倍增的 L1 TLB,TLB(Translation Look-a-side Buffer)的作用是儲存內(nèi)存頁面的地址,更高的容量有助儲存更多數(shù)據(jù)的內(nèi)存頁面地址,加快 CPU 尋址的效率,Piledriver 還加強(qiáng)指令執(zhí)行單元的速度,如優(yōu)化 INT/FP divide,SYSCALL 及 SYSRET 指令的處理能力,在 L2 Cache 方面,加強(qiáng)了 Hardware Prefetcher,優(yōu)化 Page translation reload,以及改進(jìn) L2 Cache 工作效率等等。
對于 Piledriver 的 CPU-NB 功能,基本上沿用了 Bulldozer 的設(shè)計,如 CPU-NB 仍然為 2.2GHz(高階型號)及 2GHz(一般型號),原生支持最高 Dual Channel DDR3-1866 內(nèi)存,而 I/O 是用 HyperTransport,速度為 4GT/s,并未有突出改變。

?AMD 在 Piledriver 微架構(gòu)作出多項(xiàng)小幅修改。
?

?AMD 表示新一代 Piledriver 微架構(gòu)可帶來 15% 的效能提升,包括架構(gòu)的優(yōu)化、更高頻率工作等等。
?加入Resonant Clock Mesh?技術(shù)頻率即達(dá)4GHz
在今年 2 月美國舊金山舉行的 ISSCC 2012,Cyclos Semiconductor 公司宣布其 Resonant Clock Mesh 技術(shù)獲 AMD 新一代 Piledriver 核心所采用,令后者工作頻率突破 4GHz 以上,這使到遭受 Globalfoundries 22nm 工藝進(jìn)度落后困擾的 AMD,獲得一次提升 Piledriver 工耗及工作頻率的好機(jī)會,也引起市場人士對 Resonant Clock Mesh 技術(shù)的好奇心。
Cyclos Semiconductor 公司原屬美國密歇根大學(xué),在 2006 年跟大學(xué)分離,擁有一支經(jīng)驗(yàn)豐富的 IC 設(shè)計團(tuán)體,擁有 HDTV 、處理器、圖形核心、內(nèi)存及 Sony Playstation 浮點(diǎn)運(yùn)算器等超過 50 個 IC 產(chǎn)品 tape-outs 經(jīng)驗(yàn),投資者包括有 ARM、西門子及高風(fēng)險投資基本等,也曾跟英國 ARM 公司合作,研究 Resonant Clock Mesh 技術(shù)在 ARMv9 架構(gòu)上的理論驗(yàn)證,發(fā)現(xiàn)可比 ARM Clock Tree 減少 25-35% 功耗,增加 250MHz + 工作頻率。至于在 Piledriver 上實(shí)行,可說是該技術(shù)在商業(yè)應(yīng)用的首次,AMD R&D 人員慧眼識英雄。
Resonant Clock Mesh 技術(shù)主要是針對 IC 業(yè)界長久以來芯片頻率愈高,CV2(Current * Voltage squared)損耗愈高的問題,據(jù) Cyclos 指出出,現(xiàn)時 IC 界已在普遍使用 clock 及 power gating, multi-VT, multiple voltage 以及 Dynamic frequency scaling(CPU throttling),但隨著人們對處理器性能要求愈高,必須提供更有效的節(jié)能方法,令處理器頻率得以上升。
早期 CPU 普遍外置振蕩器(Oscillator),通過 Clock Tree 平均分配給每個分支時鐘訊號,結(jié)果會產(chǎn)生時鐘偏移(Clock Skew)問題,即時鐘訊號抵達(dá)各部份的差值。為了解決此問題,不得不預(yù)留 5-10% 作為時鐘周期作為 Guard-bands,造成浪費(fèi)。為解決 Clock Skew 的問題,現(xiàn)代高性能處理器普遍使用 Clock Mesh 分配時鐘訊號予各部份。Clock Mesh 使用 Clock Buffers(Metal Grid)有效解決芯片內(nèi)時鐘差別(On-Chip process Variations)的問題,但反之會為產(chǎn)品帶來一定的 Capacitance,不是最有效的方法。
Cyclos 的方案是在芯片上加入 Inductors,其阻值與 Clock Grid 平行,形成一個 tank circuits,可作自然驅(qū)動 Clock Grid 之用,若果與一般 Clock Mesh 相比,Resonant Clock Mesh 可將時鐘分配的功耗減少多達(dá) 24%,而且不會產(chǎn)生生 Clock Skew。另外,Resonant Clock Mesh 可在傳感器與時鐘控制電路之間循環(huán)利用時鐘電能而非在每個時鐘周期內(nèi)消散,又可以減少 10% 能耗。
不過要使用 Resonant Clock Mesh 技術(shù),需要多項(xiàng)先決條件,首先是 CPU 頻率要足夠高,如 2GHz 以上發(fā)揮最大作用。其次,是需要足夠厚的 Metal Layers 及 采用 65nm 以下工藝。Piledriver 的工作頻率達(dá) 4GHz,采用 11 層金屬 CMOS 及 32nm 工藝,正好能發(fā)揮 Resonant Clock Mesh 技術(shù)的作用。
與 此同時,Resonant Clock Mesh 技術(shù)需要加入 Inductors,這會占用 4-5% 芯片面積,不過實(shí)際上 Piledriver 的晶體管及核心面積未因此而增加,主要是由于一般芯片會預(yù)留一些空間,可作為設(shè)置 Inductors 之用,而 AMD Corporate Fellow Samuel Naffziger 表示采用 Resonant Clock Mesh 技術(shù)不會增加額外的芯片面積,因此無須改動制程。Resonant Clock Mesh 技術(shù)最終使 Piledriver 架構(gòu)在不更改工藝的情況下,降低 24% 功耗,讓 Piledriver 高階版本提供 4.0GHz 預(yù)設(shè)頻率、4.2GHz Turbo 頻率,十分難得。不過,Piledriver 僅在 CPU Core 部份采用 Resonant Clock Mesh,在 CPU-NB 部份依然采用 Conventional Clock,工作頻率維持在 Bulldozer 時的 2.2GHz。

Resonant Clock Mesh 宣稱比傳統(tǒng)時鐘功耗更低。
更加合理的市場定位????最高以?Core i5?為對手
AMD 發(fā)布的 Piledriver 架構(gòu)的 FX 型號有 FX-8350、FX-8320、FX-6300 及 FX-4300,其中 8、6 及 4 分別代表有 8 個、6 個 及 4 個核心,當(dāng)中尾三個數(shù)字的 3XX 代表 Piledriver 型號,上一代 Bulldozer 則為 1XX。
在銷售策略方面,吸取上次 FX-8150 定位過高而出師不利的教訓(xùn),AMD 這次認(rèn)真檢討產(chǎn)品的定位,打出一貫善用的田忌賽馬原則,即以上等馬戰(zhàn)中等馬、中等馬戰(zhàn)下等馬,極力提升產(chǎn)品的性價比。采用“Maximum Speed、More Cores at every price point”,在每個價格點(diǎn)緊盯 Intel 產(chǎn)品的策略,力爭以更高頻率、更多核心以及更便宜定價取勝的策略。FX-8350/8320/6300/2300 的對手分別是 i5-3570K/3450/2300 及 i3-2120,分別以 8 核 vs 4 核、6 核 vs 4 核 及 4 核 vs 2 核,幾乎擁有對手 100 % 以上的不對稱優(yōu)勢。其次在 L3 Cache 上,分別以 8MB vs 6MB、4MB vs 3MB 領(lǐng)先對手。

二代 FX 處理器旗艦型號 – FX-8350 的真身。
在定價方面,AMD 的定價是對手的 83%(US$195 vs US$235)、87%(US$169 vs US$195)、71%(US$132 vs US$187)及 98%(US$122 vs US$125)定價。最后玩家關(guān)心的超頻功能,這次推出的 4 個型全屬不鎖 CPU 倍頻的 Black Edition 版本,超頻不作限制。而緊盯的 Intel 型號除 i5-3470K 外,其余型號皆屬鎖頻,限制超頻性能。
此外,為方便用家升級,二代 FX 處理器繼續(xù)沿用 AM3+ 平臺,用家無須為升級更換主機(jī)板,用 AMD 的說法是保障用家在平臺上投資。不過 AM3+ 芯片組已是一年多前的產(chǎn)品,并未支持許多新功能如 USB 3.0,雖可通過附加芯片的方式追加,惟缺點(diǎn)是不能刺激廠商推出全新型號的主機(jī)板,以新主機(jī)板吸引玩家轉(zhuǎn)投 FX 平臺。

各型號二代 FX 處理器均在效能及定價上緊貼 Intel 處理器。

?AMD 表示二代 FX 處理器的優(yōu)勢在于“多核”,軟件必須支持多核才能發(fā)揮其真正性能。

旗艦型號 FX8350 在多項(xiàng)測試不比 Core i7-3770K 遜色。
結(jié)論︰AMD?還需努力?
就架構(gòu)上來看,Piledriver 僅屬 Bulldozer 微架構(gòu)的小幅改動,所以 AMD 僅把它定位在 Core i5/i3 的水平,短時間內(nèi)暫時放棄高階市場。對于第二代 FX 處理器,筆者認(rèn)為它更加平易近人,定價更加大眾化,雖然令“計算機(jī)發(fā)燒友”及一眾 AMD 支持者們失望,但不失為一高性能價格比處理器。