AMD能否建立不毁防线
扫描二维码
随时随地手机看文章
最近拜AMD“准时”推出Zen 微架构的Ryzen 桌上型处理器,与重返服务器战场的EPYC 产品线所赐,自从因AMD Bulldozer 微架构被Intel Sandy Bridge 打爆、至今一路死气沉沉的x86 处理器市场,终于再度人声鼎沸,热闹滚滚。
但AMD 在x86 处理器的前景真的有值得乐观的理由吗?这就得好好回顾一下过去10 年发生的点点滴滴了。要了解这历史全貌,不需高深的电脑结构知识,更不需要携带水球、大锁和链条进入立法院,只要带着常识正常运转的大脑。
自K8 重大胜利后就青黄不接的AMD x86 微架构
20 多年来,从“产品单价极高,小厂只要有一点点占有率,即可把自己养得很滋润”,演变到今日实质只容得下两间x86 处理器供应商,对AMD 以及历史上诸多消失于市场洪流的x86 处理器厂商来说,要在Intel 的阴影下求生存,追求足以支撑营运的出货量及利润,需要达成的战略目标,依序如下:
·进入品牌电脑大厂的个人电脑供应链。
·进入品牌电脑大厂的商用个人电脑及工作站供应链。
·进入品牌电脑大厂的笔记型电脑供应链。
·进入品牌电脑大厂的商用笔记型电脑供应链。
·进入服务器市场。
·进入云端资料中心业者的机房。
其余应用,如手机、平板、游戏机、机上盒、嵌入式系统等,都是比较次要的事。
简而言之,长期重点还是在服务器与云端资料中心。
AMD 近代超纯量x86 处理器的发展(所以就不包含486 体系的Am5x86),大致可简述如下,技术细节就不谈了。
K5:大师手笔,却听说让Compaq 痴痴等不到
由“x86 指令集毫无道理可寻”留名于世的K5 总工程师Mike Johnson(他同时也是AMD 的Am29000 RISC 处理器总工程师,K5 有部分执行单元是直接“拷贝”自Am29000),其领军操刀的产品一再延宕,江湖传言搞到原本不打算采用Intel Pentium 硬要痴等K5 的Compaq(后来被HP 并购,成为HP x86 服务器与个人电脑的基石)也hold 不住,最后没有得到品牌电脑大厂的青睐,只能打零售街头游击战,仅在Windows 95 引爆个人电脑市场急速成长的美好年代,留下“价格实惠”与“较好超频”的残忆。
K6:购并而来,但打不过枝繁叶茂的Intel P6 家族
AMD K6 并非自家设计,而是透过购并NexGen 而来,为了相容于Intel Pentium 家族脚位,而移除L2 快取记忆体专用汇流排(类似Pentium Pro)的产物。
总之,产品推出时程还是太晚,还是以卵击石地一头撞上Intel P6 微架构的桌上型处理器家族,一直玩想掩盖时脉较低弱点的PR(Performance Rating,意指整数逻辑运算效能相当于同时期Intel 处理器的时脉)话术,套句当年PC Magazine Inside Track 专栏的毒舌评论:PR 只是让自己的产品看起来比较差,而不是比较好。既然竞争力比较差,售价当然不得不“经济实惠”,有没有那么好超频就见仁见智了。
有如二战后期德国和日本的主力战机家族,K6 家族的诸多衍生产品也是一路挨打,不敌Intel 的Pentium III,更遑论遥不可及的x86 服务器市场了,那时正是Intel 创建Xeon 品牌,开始跟着Windows NT 与Linux 体系服务器作业系统,四处攻城掠地、扫荡日暮西山的搭载RISC 处理器Unix 服务器家族的关键时刻,但AMD 却看得到吃不到。
K7:曙光乍现,x86 世界的Alpha 21264
真正让AMD 看到逆转战局曙光的,是曾担任DEC Alpha 21064 / 21264 架构师的Dirk Meyer 领导的K7──“x86 世界的Alpha 21264,还沿用相同的EV6 汇流排”──AMD 历史上首次在微架构复杂性与帐面上的制程技术超越同期Intel 产品,也是AMD 首款原生支援双处理器的微架构(搭配AMD 760MP 芯片组),更让AMD 创下单季营收10 亿美元的纪录。
比较不会有人注意的是,AMD 一反过去在K6 过度投资分支预测,即使指令管线变深,AMD 还是不太愿意在K7 的动态分支预测(以及后继的K8)上投资太多心力,扯远了。
不过,K7 后期也是被Intel NetBurst 微架构的Pentium 4 穷追猛打,因种种技术限制和商业因素,AMD 也未能实现成功进入服务器市场的悲愿。
直到AMD 的雷神之锤K8──也许可视为x86 世界的Alpha 21364(等同于整合记忆体控制器与新型汇流排的Alpha 21264)──直接往Intel 头顶狠狠尻下去为止。
K8:空前大胜,神也写不出来的剧本
综观整个电脑工业历史,论处理器市场的竞争,除了IBM 赌上身家“人类历史上除了太空梭以外投资最大的产品开发案”S/360,与相容IBM 全体RISC 指令集、历史上首款原生双核心处理器Power4,还真的找不到如此成功、刚好兼顾天时地利人和的巨大战略胜利(如果有请告诉我),让AMD 过了好几年爽日子,爽到一直生不出K8 的正统后继者,也就是真正的“K10”原始开发案,兼具深管线、高时脉、同时多执行绪与愿意在动态分支预测大力投资的先进微架构,也就是我们现在看到的Zen,又扯远了。
天时:Intel当时内部正陷于“64位元指令集”内乱,如果真的推出64位元的x86指令集Yamhill,那正统的IA-64(Itanium)该怎么办?这让AMD有了靠64位元x64指令集的回溯相容性,可为了当时容量水涨船高的记忆体容量,提供高性能平面定址的优势,横扫千军万马直取上将首级、夺取服务器市占率。
至于攸关营运成本的电力效率,AMD K8 的Opteron 表现更远胜Intel NetBurst 的Xeon,在高密度服务器如刀锋与砖块看似即将流行的21 世纪前几年,更突显AMD 这方面的优势。
但AMD x86-64 在扩张指令格式上并非良好的设计(如果跟后来Intel AVX 相比,或者有充分理由相信AVX 的VEX 本来就源自Yamhill 原案),这在后面让整个x86 处理器产业都付出了代价。
地利:K8并非砍掉重练的全新微架构,而是以为K7的基础的衍生设计,主要新增64位元指令集(当然,指令管线、执行单元和记忆体管理单元也需要相对应的调整)、让K8可以原生支援8处理器环境的HyperTransport汇流排与整合性记忆体控制器,而对多处理器/多核心平台事关重大的快取记忆体一致性协定,也早在K7时期就导入可大幅减轻频宽负载的MOESI,意谓AMD可以更快完成产品的设计与验证,尽快让Opterton进入市场跟Xeon一决雌雄。
人和:当时微软姿态摆得很明,相较于万丈高楼平地起还要先打地基的IA-64,64位元x86指令集比较便于他们建立软体生态圈,也不愿意同时支援两套不同的64位元x86指令集,这也是逼迫Intel不得不在Prescott加入x86-64(还不是原本Intel自己的Yamhill)最后一根稻草。
阳光般的贵人
但AMD 过去没真正经营过服务器市场,因产品需更可靠,软硬体环境更加复杂,服务器的产品验证远比个人电脑严谨,那AMD 如何弥补缺乏经验的弱点?
无独有偶,因Ultra SPARC 逐渐失去竞争力,被迫进入x86 服务器市场且在市场开发阶段不断挣扎的Sun,也许因Opteron 系统架构近似于后来取消的几个UltraSPARC 处理器专案,优先选择AMD 为x86 服务器处理器供应商,Sun 也是最早推出Opteron 服务器的一线大厂。Sun 身为客户的反馈,补强了AMD 过去一直缺乏经验的服务器环境验证,这影响远远超出很多人的想像。
Sun 的选择,同时增强了其他服务器市场竞争对手与企业客户对AMD 服务器产品线的信心,AMD 开始懂得如何做好过去一直被系统客户骂翻的产品品质和严苛验证,而且随着越来越多客户选择Opteron,进入良性循环,直到开始有越来越多企业用户相信“Opteron 优于Xeon”,包括台湾以前某个“有名大站”等。
除了从天上掉下来砸到AMD 的幸运,已经没有其他可以解释的理由了。
AMD 从此不再是企业市场的陌生人
也许一般个人电脑玩家无法体会这种感觉,但当看到最普及的商用Unix 作业系统Solaris,跑在搭载AMD Opteron、由Sun 天字第一号员工亲自设计如同艺术品的Galaxy 系列x86 服务器上,这对当时无法把AMD 跟企业应用联想在一起的企业客户是何等巨大的震撼。
别说支援原生双处理器了,你看过8 颗Opteron 处理器的服务器吗?而且上面挂的品牌还是Sun HP 这些大厂(HP 虽贵为Intel 在Itanium 最重要甚至可说是实际上唯一的伙伴,但后来HP 卖Opteron 服务器却是卖最凶的,Intel 应该不少人内心五味杂陈)。
这也是Hector Ruiz 担任AMD 执行长的最大贡献,让AMD 成功进入企业市场,不只服务器,后来商用电脑与笔电也雨露均沾,AMD 慢慢占有一席之地,在职场随处可见AMD Inside 的系统。即使近年AMD 比较弱势,多数人也不会觉得公司配发给你的生产力工具里面装着来自AMD 的心脏,是很奇怪的事情。
AMD Opteron 的成功,也许可以直接从产品牌价略见一斑:2003 年的Opteron 846 / 848,曾高达3,199 美元,直到最近的EPYC 7500,才再度看到这种等级的价格标签,整整相隔了近14年。
得来不易的优势最终仍惨遭Intel 钟摆巨轮辗碎
但AMD 的攻势也就到了尽头,接着就是Intel 在2006 年重整旗鼓开始帝国大反击,也是关心过去10 年处理器市场的读者所熟悉的“钟摆(Tick-Tock)战略”,小步快跑,急起直追,展现了惊人的执行力,以服务器市场为主,Intel 追击的轨迹可简述为:
2006年:由以色列海法主导、原本和NetBurst高低档搭配的Pentium M体系Merom微架构,完全取代NetBurst,一统服务器、桌机、笔电。这时Intel靠着Woodcrest夺回单一核心的效能优势,也再度确定Intel高效能x86微架构的发展基础,回到起源于1995年Pentium Pro的P6,直到非循序指令执行引擎替换成NetBurst系的Sandy Bridge,才替问世于1995年的P6划下辉煌的句点。
没有原生4 核没关系,采用多芯片封装一次包两颗凑4 核也可以。当时应该也少人预期到,隔没几年,就换AMD 被迫如法炮制昔日嘲讽的“双馅水饺”,在Socket G34 塞两颗核心二打一,勉强对抗占有优势的Intel。
2009年:由Hillsboro主导、在Pentium 4初期曾目标“时脉上看10GHz”的Nehalem,重回以P6体系为基础后,原生4核加上了同时多执行绪、QPI汇流排、整合式记忆体控制器与相对应的MESIF快取记忆体一致性协定,基本上已经可以视为“Intel世界的K8”,但青出于蓝胜于蓝,AMD K8的多处理器系统架构优势,此时已荡然无存(除了Intel多出很烫手有点难散热的IOH),支撑AMD不坠的,只有K8重大战略胜利的剩余动量与现有客户的信心度。
对Intel,开始移植源自Itanium 的系统可靠性技术至8 处理器Nehalem-EX 最重大的意义是:确立Itanium 边缘化的命运。2006 年启动钟摆战略时,将64 位元x86 指令集从心不甘情不愿的IA-32e 和EM64T 正名为Intel 64,就初露端倪。这重大的战略决定,也和当时Intel 部分高层离职潮有直接或间接关系,包括因P6 奇迹而拥有完美“服务器夏天”感到骄傲的某任Cadence 执行长,与18 岁就进Intel 上班,后来确定抢不到执行长而跳槽VMware 时还放话“Itanium 业务其实有赚钱”的那位。
当然,AMD 也没有闲着坐等Intel 咬上来,但以K8 为基础的原生4 核K10(Barcelona,Shanghai)与原生6 核K10(Istanbul),相较于Intel 的钟摆频率,进步幅度都太小了,而Barcelona 的TLB 臭虫事件,更伤害了企业对Opteron 的信心,以Nehalem 微架构与Tylersburg 平台为死亡交叉点,即使AMD 再如何对外宣称“执行力到位”,如2006 年底在德州展示原生4 核,2009 年准时推出Istanbul 等,颓势已无法挽回。
2011~2012年:AMD一拖再拖、由IBM Power4总架构师Chuck Moore操刀的Bulldozer,与Intel同样一再延宕的Sandy Bridge在服务器市场顶上决战,从内到外每个环节几乎都输人的AMD,就如同在卫城作战失败后的德军,从此一蹶不振,连续4个世代丛集多执行绪微架构都被Intel“后P6时代”钟摆压垮,低耗电微架构Jaguar与ARM Cortex-A57的Opteron,对大局完全无足轻重,直到2017年Zen微架构的EPYC问世前,没有一丝一毫翻身的可能性。
对了,为何AMD 没有K9?因为K9 的英文发音是“犬类”,AMD 不想当败家之犬,只可惜本名K8L 的K10 也没有成功阻止AMD 退潮。
走音出锤的推土机工地秀
Intel 有钟摆,AMD 当然也有,只是跟Intel 相比,AMD 连续4 个世代的丛集多执行绪微架构,完全是小巫见大巫,而AMD 为了异质多核心大计预先铺设的暗桩,也被Intel的钟摆巨轮辗成碎片。
2011年:推土机(Bulldozer),32nm制程,出师不利的先锋,因为推土机设定集里面的预定对手不是Sandy Bridge,而是前一代Westmere甚至是更早的Nehalem。“刚刚好”经领导K7救世主的Dirk Meyer就在2011年初从执行长大位下台一鞠躬,代表AMD经营阶层对采取双轨路线(推土机搭配山猫)投下的不信任票。
2012年:打桩机(Piledriver),32nm制程(SOI晶圆),微幅改进微架构,主要着眼在分支预测和指令排程,但聊胜于无。这时候,已经传闻AMD准备全面弃守现有产品时程表,全力投入全新x86微架构与开辟ARM服务器战线。
2014年:压路机(Steamroller),28nm制程,AMD终于真正对症下药,疏通指令管线前端的塞车问题,改进指令快取的命中率(2路64kB升级为3路96kB),新增微指令回圈缓冲区,也让丛集多执行绪的两个整数逻辑运算核心拥有专属的指令解码器,但为时已晚,AMD连早已不再闪亮的金鸡母Opteron产品线都放弃导入“新”核心了,仅APU产品线有幸一亲芳泽。
2015年:Excavator(挖土机),28nm制程(当然有所改进),在设计工具端,因引进源自于GPU产品线的高密度函式库,所以有更小的芯片面积和更好的电力效率,至于支援AVX2指令集与DDR4记忆体就不值得特别着墨了。
AMD原始如意算盘:用比较简单的微架构跟你拼核心数和电力效率(类似RV770 GPU的概念),日后将双核心共用的浮点运算单元换装成GPU更有巨大的应用弹性,大概万万没想到Intel真的就脱下裤子跟你拼了。推土机家族留下的遗产,只有在Zen微架构开花结果的先进动态分支预测技术。
同场加映Intel 的钟摆,AMD 战线不全面崩盘还真的没有天理:
2011年(Tock):Sandy Bridge,32nm制程,AVX指令集,微指令快取堪称Intel从NetBurst那激进至极的Trace Cache一路摸石过河的最佳集大成,换装NetBurst系非循序指令执行引擎,也结束了光荣的P6时代。这时候,AMD用两倍的核心数勉力抗衡,还稍有喘息空间。
2012年(Tick):Ivy Bridge,22nm制程(Intel不动声色导入3D电晶体),如过去的Tick,充满了一堆看起来好像很没什么但又好像很厉害的“微幅改进”,但原生15核心版本,几乎就是钉在AMD Opteron棺材上的第一根钉子,让AMD已经没有靠双馅水饺以量取胜的希望。
2013年(Tock):Haswell,22nm制程3D电晶体,AVX2指令集,Intel主力x86微架构发展史上最大的执行单元横向扩张,最大核心数扩张到18核,AMD连核心数量优势都没了,棺材再打上一根钉子。值得注意的是,从Haswell开始,Intel开始虚拟化功能,加入更精细的快取存取QoS机能。
2014年(Tick):Broadwell,14nm制程3D电晶体,还是依循优良传统,充满一堆看起来好像很没什么但又好像很厉害的“微幅改进”,最大22核心和有点走火入魔的快取存取QoS机能,让已经被埋在土里的Opteron就算躺着中枪也不会喊痛了。不过Broadwell世代的整合内显处理器却隐藏了Intel未来在服务器与高效能运算市场可能随时上场的超级武器:可能用来当L4快取的高容量嵌入式DRAM,这在过去是IBM和日本厂商的强项,未来却可能变成Intel的王牌。
2015年(Tock):Skylake,14nm制程3D电晶体,钟摆巨轮终于停下,Intel恐怕也被太过频繁的制程升级搞到人仰马翻了,产品持续推陈出新对业务系统造成的销售压力大概也不足为外人道也,开始转型成牙膏商,一次Tock挤一次不够,你可以挤三次。Intel开始好整以暇,慢条斯理的将过去不同插槽的多种服务器平台,与FPGA、HPC专用高速介面Omni-Path等特殊应用,毕其功于一役整合在Skylake-SP“Purley”上(只差没赶上3DX Point NVDIMM的Apache Pass),也让服务器用处理器有差异化(AVX-512指令集,Mesh汇流排)──然后就被AMD EPYC一口咬上。
洋洋洒洒一大篇,重点只有一句话:AMD的研发资源远远不及Intel,没有任何犯错的空间,Intel以“擅于站在巨人肩膀上”的以色列海法与“持续追求激进创新”的奥勒冈Hillsboro两大轴心担纲创新的“Tock”,搭配数个负责改良“Tick”或专注于特殊应用的辅助研发中心(像总部Santa Clara、加州Folsom、德州Austin、印度Bangalore等),才足以支撑x86单一微架构开发案,因指令集先天毫无道理可寻的高度复杂性与其带来的验证复杂度,动辄3到5年,却如此密集的产品更新频率。
反过来说,钟摆战略强迫每个研发中心“有效分工”,也彻底解放了Intel 的处理器研发潜能,至于有没有趁机解决内部政治问题的家务事,就不是外人可以置喙的了。
AMD 抢滩的希望在云端资料中心,而非传统套装服务器
我们再回头看看AMD 重回服务器战场的Naples 处理器与EPYC 平台。处理器毕竟是要做出来卖钱的商品,不是只要每年能在ISSCC IEDM HotChips CoolChips 讲得很爽的题材,产品特色透露出来的商业策略,往往比技术更值得路人关心。
Google 与云端服务的崛起,大举重塑了传统服务器市场的生态:云端服务业者为了降低营运成本,资料中心的硬体大多自行设计量身订做,再发包给系统代工业者,等于跳过传统服务器大厂与白牌服务器这关,采购处理器直接与供应商议价,藉由一次性的巨量需求,大幅压低采购单价到外人难以像像的程度。
为何在AMD 在服务器市场开始衰倾之际,越来越多人“清谈”ARM 服务器?并不是真的相信很快就会诞生各方面足以匹敌x86 的ARM 服务器处理器与软体生态圈,而是为了增加“牵制”Intel 的议价筹码,因为云端资料中心市场已经被吃掉超过95%份额的Intel 变相垄断了,而剩下的“余额”经东扣西扣后,即使产品合用,也根本养不活多少间ARM 处理器供应商。
同理可证,IBM 诱拐分摊专属服务器研发费用“分母”的第3 次Power Everywhere,包含从Google 一路到众多毫无软体基础的系统代工厂愿意一同“共襄盛举”?其理至明。并不是说IBM Power 东西不好(没人怀疑蓝色巨人数十年来亲手打造的服务器处理器不是极品),但斧凿斑斑的策略交锋,实在无法让人视而不见。
所以AMD 一开始替EPYC 设定开辟第二战场的抢滩登陆点,就是云端资料中心,而非传统套装服务器市场,才更有机会冲高出货量和市场占有率,这从诸多产品规格特性,如8 通道Unbuffered DIMM,弹性化的PCIe 组态,无须外挂系统芯片组就有一定水准的I/O 界面可用,加装安全加密机制等,与核心设计上的取舍,像精简SIMD 指令集运算单元,就可以看得一清二楚,一切为降低成本而生,你要32 核心我就包4 颗8 核的水饺给你,甚至连芯片品质需不需要像以前那么可靠,都可能存在商量余地,至于能不能正面在所有应用场合战胜Skylake-SP,其实不见得那么重要。
讲的更白一点,EPYC 表面上是一台2 路服务器,但AMD 实际上卖的,却是一台便宜的高密度8 路系统。笔者只能说Intel 花一堆工夫做那20 几页简报数落AMD EPYC 的不是,完全在打空气,但即使Intel 心里明白,不会更不能说出来。
“从AMD EPYC 检视云端资料中心的需求”其实是一个非常有趣的主题,AMD 在制定产品规格时,也必定“参考”诸多潜在客户的反馈,假以时日,随着越来越多资料中心导入EPYC,我们也可以看到越来越清晰的全貌,如果他们肯讲。
优势仍在Intel 这边,AMD 机会何在?
即使Zen 微架构处理器开始让Intel“有感”,Intel 依旧牢牢掌握市占率、制程技术、研发资源与行销网路的优势,更不可能停止推陈出新,AMD 也很可能再度上演Zen 微架构后继无人、被Intel 重启钟摆巨轮辗碎的戏码,那AMD 还有任何机会,建立起一条不毁的防线吗?唯有几种可能性:
半导体业界不约而同一起撞上制程之墙,“抵消”Intel 最具威胁力的优势。
AMD 持续专注于针对特定市场“客制化”降低客户的持有成本,但这有其极限,毕竟AMD 还有桌机与笔电市场要顾,不可能做得太极端。
其实处理器业界在IBM Power7 之后,核心微架构的效能发展就开始趋缓了(苹果购并的PA Semi 是另一种截然不同的故事),因为投资在记忆体子系统和资料平行化处理,远比增加指令派发宽度来得有效益多了,所以Intel“挤牙膏”其实还算情有可原。既然如此,AMD 重蹈推土机覆辙的机率就小多了,当然前提也要AMD 能维持核心数量的优势与一定程度的多核心“水饺”效能延展性。
Intel 自己犯错,不小心选择激进路线打造惊世骇俗的x86 微架构,却又走上“超大+超重+超热=超生”的NetBurst 老路。
在软体定义储存杀声震天的当下、服务器逐渐“吸回”外接储存设备的大势中,AMD 能不能掌握独特的优势?
AMD 购并ATI 后,迟迟没有真正打好GPU 这张牌,看在人工智慧与深度学习等新兴应用开始炙手可热的份上,这次打铁趁热会有机会吗?
也许更多的疑惑,早已满满溢出各位的大脑:
ARM 服务器到底还有没有搞头?AMD 的K12 跑哪去了?还有人在关心Cortex-A57 的Opteron 吗?
还在巨资供养老妖怪魔神Z 和古老商用RISC 之首Power 的IBM,以及共同支撑SPARC 家族的Oracle 与Fujitsu,近况究竟如何?
云端资料中心中不同的服务也有不同的性能需求,那AMD EPYC 究竟适合哪几块?