就在昨天AMD第二代线程撕裂者旗舰Threadripper 2990WX外观正式解禁,AMD官网也揭露了其部分性能,得益于其拥有高达32个核心64个线程,Threadripper 2990WX轻松拿下了消费级市场CPU之王的头衔,此前坐在王座上的i9-7980XE被轻松秒杀,可谓一时之间风光无限。
但俗话说的好,现在有多风光,以前就有多折堕(落魄的意思),AMD也不例外。就在2年以前,AMD还是一个被Intel无视的对手,产品性能与Intel有巨大的鸿沟,股价最低时仅为2美元出头,濒临破产。AMD会这么落魄,其中一个很主要的原因是因为当年推出的Bulldozer,推土机处理器微架构。
就在前两天,国外媒体ExtremeTech就总结了至今为止最糟糕的10款CPU,其中推土机(Bulldozer)进入了前三甲的位置,由此可见推土机的失败,是一个比较公认的事实。
今天,在Threadripper 2990WX意气风发的日子,PConline晓边就带领大家回顾一下当初AMD这个失败的架构,看看它从诞生到落幕,作为一个失败者的故事。
推土机的诞生:背负复仇的使命
AMD是一家富有冒险精神的公司,虽然他的营收规模仅为Intel的1/10,但其敢于在在HT总线、DDR内存、多核处理器等技术做创新,本世纪初凭借K8架构,其处理器在ipc和效能上大幅领先奔腾4,在这段时间里Intel被AMD“教做人”。但Intel毕竟还是CPU界的大哥,丰厚的财力规模、海量的人才储备、巨大的业界影响力和与OEM核心伙伴坚固的关系都成为Intel翻盘的资本。
终于,在2006年,Core系列处理器一鸣惊人,首批推出的Core 2 Extreme 6800和Core 2 Duo E6300都显示出了无与伦比的效能。不仅超越上代产品40%之多,在功耗发热上的表现也让人瞠目结舌,Intel的产品完成看一次华丽的逆袭。如果说Core首批推出的处理器型号是为Intel吹响了反击的号角,那么以Nehalem为架构的Core i系列处理器,则彻底奠定的Intel后来13年称霸CPU市场的基础。
2008年11月,Intel发布了Core i7 965E/920处理器,原生四核心,内部整合内存控制器、使用了打破内存带宽传输瓶颈的QPI总线架构和HT超线程技术,凭借异想天开的Turbo睿频加速技术将处理器的能耗比提高到了极致,酷睿处理器的发布是一个划时代的改变,它令人信服的KO了AMD当时的K10架构处理器,逼迫对方只能依靠性价比或者“开核”等骚操作才能在市场占据为数不多的份额。
尝到成功的甜头,AMD自然不会这么轻易接受失败,为了改变市场局面,AMD倾尽全力的投入到下一代革命性架构的研发当中,并在2011年推出了第一代推土机处理器,但当时谁也没料到,推土机架构处理器的推出,是AMD在CPU市场彻底溃败的开始。
2推土机的架构:模块化推土机架构:尴尬的“革新者“CPU的微架构与制作工艺直接决定了CPU的效能,优化微架构与更新制作工艺成为CPU厂商提升CPU效能的最重要途径,推土机架构便是当年AMD呕心沥血做出的CPU微架构。
早期AMD在宣传推土机架构时提出了不少的创新点,概括起来有1、全新模块化设计,更高效、核心扩展更容易。2、32nm SOI制作工艺,功耗控制更为出色。3、全新多线程架构,多线程运算性能更强。4、指令4发射(K10只有3发射)与AVX指令,整数/浮点运算更强,单核心性能提升。5、第二代Turbo Core技术,更好适应各种应用环境。
其中推土机架构的核心基础和灵魂,就是模块化设计。大家都知道传统意义下CPU拥有更多的物理核心,性能会更强,但是成本也会更高,也因此Intel在酷睿处理器上应用了SMT技术,也就是超线程。SMT可以让一个CPU核心的多个线程共享资源并同步执行,硬件上几乎不需要增加成本,不过效能肯定没有更多的物理核心来的强。
AMD“推土机”微架构
AMD为了平衡成本和多线程效能的问题,独特的推出CMT技术。AMD在“推土机”上把两个核心及相关单元封装成一个模块,两个核心共用一个浮点运算单元,但每一个核心都有完整的整数运算单元,FX-8150由四模块组成八核心,浮点单元实际上只有四个,以往CPU是每个核心一个浮点单元的。这样四核心由双模块组成,六核心由三模块组成,如此类推。采用模块化设计的好处是可以减少冗余电路,堆砌CPU核心更容易,这在当时真的是一个天马行空的创意。
AMD把这个称为CMT物理多核,也因此,与其说推土机的8核CPU叫8核处理器,笔者晓边更愿意称它做4模块8线程处理器,因为它每一个”核心“其实都是不完整的残疾核心,并没有单独的浮点运算模块,但这样做的好处就是,CPU以相对较小的成本,获得了8个完整的整数运算单元,高端处理器才拥有的8个线程。
AMD在推土机这样设计,其实原因有三个:其一是是他认为目前CPU中超过80%的运算都是整数运算,增加一个整数单元的好处是显而易见的,用增加5%的核心面积的微小代价即可换来80%的整数性能提升,而浮点运算在未来则可以交给GPU负责,这样更加高效。其二是在未来,通用运算会持续向多线程发展,对线程的要求是无限的。其三是未来大幅提升CPU频率是可以实现的,这可以弥补处理器单线程羸弱的问题。
AMD的赌徒企业风格在推土机的研发设计中体现的淋漓尽致,他在未来处理器发展方向上打了三个赌,可惜的是在当时没有一个赌对了。
8核推土机架构
搭载四个模块八个线程的高级桌面处理器有大量的整数线程富余,但大多数用户的工作量仍然没法被平均分配到八个线程上去(简单的说就是大多数程序多线程优化不好)。单线程的运行依旧占据了用户绝大多数使用的使用场景。
另一方面,浮点单元的共享意味着充满浮点算术的应用程序就没有足够的运行资源。虽然基于GPU的计算在一些特定工作中非常重要——比如科学超级计算——但主流应用程序还是更依赖CPU来做浮点运算。
推土机的架构带来了处理器单核性能的倒退,甚至比不上自家上代六核旗舰Phenom II X6 1090T,更不要说去和Intel当时的SNB处理器比划了。而在AMD的设想中单核性能的倒退能通过大幅提升处理器频率改善,但是使用更落后的32nm制程的推土机处理器一味提升频率,结果就是在功耗发热方面成为大火炉(这种情况在打桩机时显现的极致)。
这样的设计造成的另一个结果就是,最吃浮点运算性能和单核性能的大多数游戏表现中,推土机甚至不如”肥龙2“,只能在SNB处理器后面吃尘,这在DIY市场是致命的,毕竟大多数DIY玩家都是为了游戏才去玩DIY硬件。消费市场不买账,口碑逐渐崩坏,推土机架构的结局似乎已经可以预见。
3推土机的发展:农用机器系列处理器打桩机:不屈的挑战者但终成笑柄
AMD当时CPU的发展 路线图
AMD在推出推土机架构处理器后,市场反馈并不太好,但这毕竟只是第一代,也可能是市场和软件环境还没适应这个处理器中的新物种。于是AMD在第二年便推出推土机小修小改的版本,Piledriver打桩机架构处理器。与推土机相比,同为是模块化设计的“打桩机”核心改动主要体现在:1、新增FMA3、AVX1.1和F16C等新指令集;2、强化电源管理,降低产品功耗;3、一级、二级缓存优化;4、核心频率提高,TDP保持不变。
其中最主要便是这功耗的优化,这让处理器在相同电压下对比上一代有了10%左右的超频空间。虽然当时以FX8350为代表的打桩机处理器使用的仅是格罗方德落后的32nm工艺打造,但得益于其设计较长的流水线,打桩机可以轻松超频到4.5GHz以上,以至于当时坊间的A饭都戏谑的称”性能不够,超频来凑“,”超一下,又不是不能用“。
为了把打桩机的性能发挥到极致,AMD当时甚至还推出了TDP高达220W,动态频率可达5.0GHz的核弹FX9590,但其可怕的功耗和散热供电要求,以及5.0GHz的单核性能仅相当于3.8GHz左右时的i7-4770K单核性能,都成为这款处理器走向主流市场,和让消费者选择它的掣肘。
FX9590仅仅是AMD发出不屈的怒吼,高频的打桩机只能给AMD带来大火炉的称号,但仍然改变不了推土机家族失败的命运,最后落得个”i3默秒全“的耻辱性头衔。
打桩机的失败让AMD清醒的认识了自己,至此AMD放弃了CPU高端市场,转而投身到另一个大坑异构运算的研发中(详情可以点击这里跳转相关文章)。此后AMD推出的Steamroller压路机、Excavator挖掘机都仅应用在APU和低端处理器型号身上,重点都是降低CPU的功耗,提高处理器的能耗比。虽然这些低端APU产品在市场获得不少消费者青睐,但消费者选择它的原因大都是因为其高性能的核显,甚至民间不少网友笑称买APU是买GPU送CPU,买Intel的CPU则是买CPU送GPU。
AMD的CPU也在市场彻底失去了口碑,不管从市场还是性能表现等各个角度来讲,推土机架构都是十分失败的,甚至可以说被钉在了CPU历史的耻辱柱上,以至于直到今天AMD也不敢启用曾经象征AMD最高性能处理器的FX后缀,毕竟FX很容易让人联想到推土机系列处理器。
4推土机的影响:失败是成功之母模块化设计:前人栽树后人乘凉流传比较广的话语总是比较有道理,比如说失败乃是成功之母,又比如说看数码硬件资讯就来PConline。自推土机失败以来AMD卧薪尝胆,终于在2017年迸发出了令人惊讶的力量,在所有人事先不看好的情况下实现了逆袭,发布了媲美酷睿i系列处理器的锐龙系列处理器,彼时,AMD自上一个巅峰已经过去了13年之久。
锐龙系列处理器,能一鸣惊人的原因,很大部分得益于的架构设计上还巧妙地采用了名为CCX(CPU Complex)的模块化设计方案。模块化这个字眼是不是很熟悉?你没有看错,模块化的设计理念虽然是推土机失败的根本原因,但模块化这个词并不是洪水猛兽,ZEN架构则是模块化设计理念下更成熟的产物。
虽然同样采用模块化的设计理念,但是ZEN架构吸取了推土机的教训,每一个核心都是完整的核心,并且大幅加强了浮点运算性能,在整数管线上,Zen有4个算术逻辑单元(ALU)和两个地址产生单元(AGU)。浮点管线上,共享浮点单元的概念被废弃了:现在每个核都有一对独立的128位乘法叠加运算单元(FMA)。
浮点单元内有分开的加法和乘法管线,用于在不进行乘法累积运算时应对更多样的混合指令。但256位AVX指令集还是得分开在两个FMA单元上执行,并动用所有的浮点单元。最终结果就是Ryzen系列处理器对比推土机系列处理器在ipc方面有着超过40%的巨幅提升。
ZEN架构中一个CCX模块中有4个核心,每个核心拥有自己独立的L1和L2缓存,一个CCX模块共享8MB L3缓存。每个核心都可以选择性地开启或者关闭SMT功能,也可以选择性地关闭部分核心。相比于Intel的环形布线,ZEN架构的带来的好处是显而易见的。在AMD最新的处理器布局上,每一代从最高的服务器EPYC到最低端的入门级Ryzen 3系列处理器,他们都只需要设计一个Die(内核),然后不断堆栈即可,这对比Intel方面会省下不少的设计和流片成本,所以我们也能看到市场上同核心的Ryzen处理器售价会相比酷睿要低不少。除此以外,模块化的设计也让CPU核心的增加像堆栈积木那么简单,线程撕裂者Threadripper 2990WX的诞生也是水到渠成的事情。
改善了推土机单线程羸弱,依赖高频的缺点,并秉承着模块化的设计理念,相信未来通用运算依然对多线程的有着极大的需求,时隔6年后,AMD再一次依靠ZEN架构奏响进军高端CPU市场的号角。
而在AMD依靠Threadripper 2990WX夺得消费级CPU市场王座的背后,是史上最失败的处理器甘当垫脚石的结果。
总结
英雄总会迟暮,更何况推土机更像是一个传统意义上的“狗熊”,但不管怎么说,当推土机这些老前辈看到Threadripper 2990WX如此强大时,相信也会不留遗憾的离去,消失在历史的洪流当中。而晓边我,也只能以此文,纪念这款被I粉嘲笑,被A饭仇恨的处理器,为大家带来它的故事。
……