AMD第二代FX处理器的心脏Piledriver架构及市场分析

世界网络 www.linkwan.com 林和安、小洛夫

原文发表于《中无通讯》第64期

AMD 的 CPU 一向有高性能价格比的美誉,而且市场销售策略灵活,所以它在性能上虽不及 Intel CPU,但一直不乏支持者。近年 AMD 把业务发展重点放在整合 GPU 的 APU 处理器上,但依然重视 CPU 架构的一年一更新。AMD 新发布的第二代 FX 处理器,即采用了全新 Piledriver 微架构,引入多项新技术,以“高频率,不锁频,及同价位更多核心”作为卖点,为 AMD 用家带来升级机会。?

01

首代 FX 出师不利????? 革命性架构达不到如期效果

第二代 FX 处理器对 AMD 的重要性,与第一代 FX 糟糕的表现,令 AMD 在 x86 微处理器市场上节节失利有关。第一代 FX 处理器采用 AMD 自 K10 架构以来最重要的微架构更新,市场对它充满期望,希望它在性能上足以挑战 Intel 如日中天的 Core i7 处理器。事实上从技术来说,第一代 FX 采用 Bulldozer 微架构拥有不少全新的设计,借着革命性的单 Bulldozer 模块双核心设计,双核心可以共享一部份的电路,如共享指令译码器、L1 指令 Cache、FPU 等等,但重要的整数模块却有 2 组令效能倍增,这是一种以最少的电路争取最大的效益的思维,一改过去每增加核心数目成本倍增的高代价做法,为业界提供一条便宜的多核心发展道路。同时,单模块双核心在共享频宽上可更为有效,如在多线程的数据预取上等等。

由于采用单 Bulldozer 共享双核心模块设计,所以 Bulldozer 很轻易便集成了 4 个双核心模块,一推出即成为世界上首颗 8 核心桌面处理器,超越了 Intel Core i7 Extreme 980X 创下的 6 核心纪录。为了确保 Bulldozer 的效能,AMD 还加入了多项新技术,其中一项是在指令集方面,过去 Phenom II 因为不支持 Intel 的 SSSE3 及 SSE4.1 指令集,所以在部份测试项目远不如 Intel 同级处理器(编按︰虽然 Phenom II 也支持 SSE4a 指令集,但实际功能无法与 SSE4.1 相比)。为此,AMD 甚至不惜另起炉灶,推出 SSE5 指令集,结果是迫使 Intel、AMD 决定统一指令集,使彼此的处理器皆可支持最新加速指令集。

02

?AMD Bulldozer 采用革命性的单模块双核心设计。

Bulldozer 除了支持 SSSE3 与 SSE4.1 指令集外,也支持 Intel 最新的 AVX、AES 及 SSE4.2 指令集,甚至是 AMD 取消 SSE5 指令集计划后,一些计划保留的指令集如 FMA4(Fused Multiply/Add extensions)及 XOP(eXtended Operations)。FMA4 主要针对 HPC 应用,而 XOP 是 AMD 希望超越 AVX 的特别指令,在 Operands 寻址上更加灵活,可针对数值应用、多媒体、 Audio/Radio Algorithms 等。对于 Intel AVX 指令,Bulldozer 在 FPU 方向更特别作出了优化,由于 Intel AVX 有 128-bit 及 256-bit 指令,所以在 FP Scheduler 之下有 2 个 128-bit FMAC,它们可以分别处理 2 条 128-bit AVX 指令,或合在一起处理 1 条 256-bit AVX 指令。

Bulldozer 因为采用 2 个核心共享资源的设计,所以高性能的 Front-End Unit 前端单元绝不可少。为此,AMD 也对原来 Phenom II 的 Front-End Unit 作为最大修改。首先是原来 Phenom II 的 3-Wide x86 Decoders 终于改为与 Intel CPU 相同 4-Wide x86 Decoder,可在同一同期译码更多指令。在 Cache 架构上,Bulldozer 模块设有一组 64KB, 2-way associative 指令 Cache,而每个核心则有专属的 16KB 4-way associative 数据 Cache,8 个核心便有总 128KB L1 数据 Cache。Bulldozer 的数据 L1 Cache 拥有很强的效能,设有 32-entry fully associative Data TLB,完全支持乱序执行 Load/Store 功能,可在单个周期加载 2 个 128-bit loads 或 1 个 128-bit store。

03

可以同时处理两组 128-bit 浮点数据或单组 256-bit 浮点数据。

L2 Cache 以每个 Bulldozer 模块各有 2MB 16-way associative 的方式布置,如 8 核心有 4 个模块即 8MB L2 Cache,6 核心为 3 个模式即 6MB L2 Cache,如此类推出。L2 TLB 拥有 124 entry 及 8way,可同时满足指令及数据的请求,而且可同一时间支持最多 23 个重大 Cache Miss 失误。L2 Cache 之下为 8MB 64 way associativity L3 Cache,采用 MOESI 协议工作,MOESI 是 Modified, Owned, Exclusive, Shared 及 Invalid 的简称,是 AMD 为 Server/Workstation 多 CPU 环境下定义的工作协议,确保各核心对 Cache 的有效读取等等。

除上述的技术外,Bulldozer 采用第二代 AMD Turbo Core 技术,不但有 Phenom II E-Stepping 的 Max Frequency 模式,即在线程不多的工作环境下,增加一半核心的频率,提升效能,而 Bulldozer 还加入了 Max Core 模式,可以同时为所有核心加速,至于加速效果主要视乎 TDP 空间的余额而定,如使用水冷散热加速效果会更为明显。

Windows 7 未有优化是致命伤

Bulldozer 超前的技术设计的确令人心感,惊叹技术的魅力,然而在 FX-8150 在登场后,大家发现没想象中高效能,问题在那呢?不少业者认为 AMD 把市场想等太简单,低估了单线程的重要性,而且 Windows 7 操作系统未能优化 Bulldozer,是一严重的问题。

正 如 AMD 举例,假设有 Thread 1a, Thread 1b 及 Thread 2 三项工作,Thread 1b 与 Thread 1a 在数据上可以共享,但 Windows 7 会把它安排到 3 个 Bulldozer 模块执行,令核心未能以最大 Turbo 加速。反而 Windows 8 会把 Thread 1a 及 Thread 1b 安排在同一 Bulldozer 模块工作,无须使用第三及四组 Bulldozer 模块,第一及第二个 Bulldozer 模块可以最大加速工作,达至最佳效果。可惜 Windows 8 直至今年 10 月 26 日才正式推出,使 Bulldozer 无法在佳状态下登场,其糟糕的表现使其 US$245 美元的定价显得过高,因为这即意味 FX-8150 需要面对 Sandy Bridge 核心的 Intel Core i5 2500K,绝对是一场硬仗!

05

这幅图表达了 AMD Bulldozer 需要特别的优化,不然核心不能以最高效能工作。

还有一点是玩家传统追求最强单核心的心理作祟,因 Bulldozer 在单核效能不如 Sandy Bridge,在玩家之间印下负面形象,加上 Bulldozer 功耗偏高,难以推出更高频率型号,最终在 2011 年 12 月给主机板厂商的 Roadmap 中,取消 FX-8170 型号,也说明了 AMD 知道 Bulldozer 前路难行,需要转到下一代 Piledriver 架构,也便是第二代 FX 系列处理器的诞生。

04

第一代 FX 处理器最高定位在 Core i7 与 Core i5,明显是被“高估”了

改良版微架构 Piledriver 一出即为桌面、流动及服务器采用

Piledriver 作为第二代产品,AMD 计划是把它作为成熟版 Bulldozer 核心,适用于 Desktop、Mobile、Workstation/Server 市场,所以改良的重点在功耗及提升 IPC(Instruction Per Clock)上,计划提升 10-15% 的效能。

上一代 Bulldozer 提供 Desktop 中最多的 8 核心设计,令 Bulldozer 芯片较(315mm2)同期的 Sandy Bridge(216 mm2)大,仅比 Sandy Bridge-E(435mm2)小。在 Piledriver 未改用 22nm 工艺前,增加核心数目只会大大增加功耗,令每个核心工作频率需要降低,未必是最有效的方法,所以 Piledriver 架构把节省的 TDP 用作提升频率,从 FX-8150 时的 3.6GHz 提升至今代 FX-8350 的 4.0GHz Base Frequency,而在 Turbo Mode 方面,FX-8350 不需要水冷即可以 4.2GHz 工作,而 FX-8150 则需要有赖水冷等特别散热才可在 4.2GHz 工作,一般为 3.9GHz,表现大幅提升。

无独有偶的是,Intel Core i7 3960X Extreme 没有用尽 Sandy Bridge-E 核心可以提供的 8 核心以至 10 核心的设计,维持 6 核心 12 线程但改为提升频率的做法,当中便考虑到功耗散热的问题,加上现时软件未能发挥 8 核心的优势,不比提升频率以增加效能理想。

改良分支预测及 Cache 架构

Bulldozer 继续在分支预测及 Cache 架构的改进,达到提升 CPU IPC 性能的效果,Piledriver 改进 Branch Prediction 功能及 Cache 架构,对 L1 BTB、L2 BTB 及 Prediction Queue 作出优化。而在 x86 Decoders 方面,Piledriver 维持在 4-way 解碼,但新增了 FMA3 及 F16C 两条指令。

FMA3 是 Intel 版的 FMA(Fused Multiply / Add extensions)指令,功能与 AMD FMA4 相似,预计将在 Intel 下一代 Haswell 架构中提供。而 F16C(Half Precision Float Conversions)在 Ivy Bridge 芯片已经加入,Piledriver 加入此指令实现了 AMD 、 Intel 指令集上的统一。

随下是改进了的 Int. Scheduler 及 60 Entry FP Scheduler,下有加大 Load Queue 容量的 Load/Store Unit,可改进 Store 到 Load Forwarding 及 lock performance 等。另外是容量倍增的 L1 TLB,TLB(Translation Look-a-side Buffer)的作用是储存内存页面的地址,更高的容量有助储存更多数据的内存页面地址,加快 CPU 寻址的效率,Piledriver 还加强指令执行单元的速度,如优化 INT/FP divide,SYSCALL 及 SYSRET 指令的处理能力,在 L2 Cache 方面,加强了 Hardware Prefetcher,优化 Page translation reload,以及改进 L2 Cache 工作效率等等。

对于 Piledriver 的 CPU-NB 功能,基本上沿用了 Bulldozer 的设计,如 CPU-NB 仍然为 2.2GHz(高阶型号)及 2GHz(一般型号),原生支持最高 Dual Channel DDR3-1866 内存,而 I/O 是用 HyperTransport,速度为 4GT/s,并未有突出改变。

06

?AMD 在 Piledriver 微架构作出多项小幅修改。

?07

?AMD 表示新一代 Piledriver 微架构可带来 15% 的效能提升,包括架构的优化、更高频率工作等等。

?加入Resonant Clock Mesh 技术频率即达4GHz

在今年 2 月美国旧金山举行的 ISSCC 2012,Cyclos Semiconductor 公司宣布其 Resonant Clock Mesh 技术获 AMD 新一代 Piledriver 核心所采用,令后者工作频率突破 4GHz 以上,这使到遭受 Globalfoundries 22nm 工艺进度落后困扰的 AMD,获得一次提升 Piledriver 工耗及工作频率的好机会,也引起市场人士对 Resonant Clock Mesh 技术的好奇心。

Cyclos Semiconductor 公司原属美国密歇根大学,在 2006 年跟大学分离,拥有一支经验丰富的 IC 设计团体,拥有 HDTV 、处理器、图形核心、内存及 Sony Playstation 浮点运算器等超过 50 个 IC 产品 tape-outs 经验,投资者包括有 ARM、西门子及高风险投资基本等,也曾跟英国 ARM 公司合作,研究 Resonant Clock Mesh 技术在 ARMv9 架构上的理论验证,发现可比 ARM Clock Tree 减少 25-35% 功耗,增加 250MHz + 工作频率。至于在 Piledriver 上实行,可说是该技术在商业应用的首次,AMD R&D 人员慧眼识英雄。

Resonant Clock Mesh 技术主要是针对 IC 业界长久以来芯片频率愈高,CV2(Current * Voltage squared)损耗愈高的问题,据 Cyclos 指出出,现时 IC 界已在普遍使用 clock 及 power gating, multi-VT, multiple voltage 以及 Dynamic frequency scaling(CPU throttling),但随着人们对处理器性能要求愈高,必须提供更有效的节能方法,令处理器频率得以上升。

早期 CPU 普遍外置振荡器(Oscillator),通过 Clock Tree 平均分配给每个分支时钟讯号,结果会产生时钟偏移(Clock Skew)问题,即时钟讯号抵达各部份的差值。为了解决此问题,不得不预留 5-10% 作为时钟周期作为 Guard-bands,造成浪费。为解决 Clock Skew 的问题,现代高性能处理器普遍使用 Clock Mesh 分配时钟讯号予各部份。Clock Mesh 使用 Clock Buffers(Metal Grid)有效解决芯片内时钟差别(On-Chip process Variations)的问题,但反之会为产品带来一定的 Capacitance,不是最有效的方法。

Cyclos 的方案是在芯片上加入 Inductors,其阻值与 Clock Grid 平行,形成一个 tank circuits,可作自然驱动 Clock Grid 之用,若果与一般 Clock Mesh 相比,Resonant Clock Mesh 可将时钟分配的功耗减少多达 24%,而且不会产生生 Clock Skew。另外,Resonant Clock Mesh 可在传感器与时钟控制电路之间循环利用时钟电能而非在每个时钟周期内消散,又可以减少 10% 能耗。

不过要使用 Resonant Clock Mesh 技术,需要多项先决条件,首先是 CPU 频率要足够高,如 2GHz 以上发挥最大作用。其次,是需要足够厚的 Metal Layers 及 采用 65nm 以下工艺。Piledriver 的工作频率达 4GHz,采用 11 层金属 CMOS 及 32nm 工艺,正好能发挥 Resonant Clock Mesh 技术的作用。

与 此同时,Resonant Clock Mesh 技术需要加入 Inductors,这会占用 4-5% 芯片面积,不过实际上 Piledriver 的晶体管及核心面积未因此而增加,主要是由于一般芯片会预留一些空间,可作为设置 Inductors 之用,而 AMD Corporate Fellow Samuel Naffziger 表示采用 Resonant Clock Mesh 技术不会增加额外的芯片面积,因此无须改动制程。Resonant Clock Mesh 技术最终使 Piledriver 架构在不更改工艺的情况下,降低 24% 功耗,让 Piledriver 高阶版本提供 4.0GHz 预设频率、4.2GHz Turbo 频率,十分难得。不过,Piledriver 仅在 CPU Core 部份采用 Resonant Clock Mesh,在 CPU-NB 部份依然采用 Conventional Clock,工作频率维持在 Bulldozer 时的 2.2GHz。

08

Resonant Clock Mesh 宣称比传统时钟功耗更低。

更加合理的市场定位??? 最高以 Core i5 为对手

AMD 发布的 Piledriver 架构的 FX 型号有 FX-8350、FX-8320、FX-6300 及 FX-4300,其中 8、6 及 4 分别代表有 8 个、6 个 及 4 个核心,当中尾三个数字的 3XX 代表 Piledriver 型号,上一代 Bulldozer 则为 1XX。

在销售策略方面,吸取上次 FX-8150 定位过高而出师不利的教训,AMD 这次认真检讨产品的定位,打出一贯善用的田忌赛马原则,即以上等马战中等马、中等马战下等马,极力提升产品的性价比。采用“Maximum Speed、More Cores at every price point”,在每个价格点紧盯 Intel 产品的策略,力争以更高频率、更多核心以及更便宜定价取胜的策略。FX-8350/8320/6300/2300 的对手分别是 i5-3570K/3450/2300 及 i3-2120,分别以 8 核 vs 4 核、6 核 vs 4 核 及 4 核 vs 2 核,几乎拥有对手 100 % 以上的不对称优势。其次在 L3 Cache 上,分别以 8MB vs 6MB、4MB vs 3MB 领先对手。

09

二代 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)定价。最后玩家关心的超频功能,这次推出的 4 个型全属不锁 CPU 倍频的 Black Edition 版本,超频不作限制。而紧盯的 Intel 型号除 i5-3470K 外,其余型号皆属锁频,限制超频性能。

此外,为方便用家升级,二代 FX 处理器继续沿用 AM3+ 平台,用家无须为升级更换主机板,用 AMD 的说法是保障用家在平台上投资。不过 AM3+ 芯片组已是一年多前的产品,并未支持许多新功能如 USB 3.0,虽可通过附加芯片的方式追加,惟缺点是不能刺激厂商推出全新型号的主机板,以新主机板吸引玩家转投 FX 平台。

10

各型号二代 FX 处理器均在效能及定价上紧贴 Intel 处理器。

11

?AMD 表示二代 FX 处理器的优势在于“多核”,软件必须支持多核才能发挥其真正性能。

12

旗舰型号 FX8350 在多项测试不比 Core i7-3770K 逊色。

结论︰AMD 还需努力?

就架构上来看,Piledriver 仅属 Bulldozer 微架构的小幅改动,所以 AMD 仅把它定位在 Core i5/i3 的水平,短时间内暂时放弃高阶市场。对于第二代 FX 处理器,笔者认为它更加平易近人,定价更加大众化,虽然令“计算机发烧友”及一众 AMD 支持者们失望,但不失为一高性能价格比处理器。