欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

程序员文章站 2023-08-30 23:06:59
2019年5月,amd迎来了自己的50岁生日。在x86这个行业,她只比老大哥intel小一岁,后者去年迎来了自己的50周岁纪念日。50年来,这两家企业几乎主宰了全球半导...

2019年5月,amd迎来了自己的50岁生日。在x86这个行业,她只比老大哥intel小一岁,后者去年迎来了自己的50周岁纪念日。50年来,这两家企业几乎主宰了全球半导体市场的风云变化,基本上intel占主导地位,而amd扮演挑战逆袭者的角色。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

amd的最近一次逆袭,还得从5年前更换ceo说起。2014年10月份,即将发布q2季度财报的amd公司宣布ceo罗瑞德退位,这个职务将由时任coo的苏姿丰博士(lisa su)接任。那时候的她,刚刚加入amd公司2年而已。

彼时的amd仍然处于蛰伏阶段。在cpu及gpu领域,amd的两大对手intel、nvidia已是如日中天,而当时的amd并没有能足够与之博弈的处理器和显卡产品——如今给amd带来巨大转机的zen处理器当时还在开发当中。不过,ceo苏姿丰是标准的女强人,amd不服输的血性是刻在骨子里的。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

刚刚接任ceo没多久,苏姿丰就在接受媒体采访时表态——“我们不会活在intel阴影下”,这句话不是苏姿丰担任ceo之后amd才做的,多年来amd实际上一直在这样做。amd希望寻求一条不同于intel的发展之路。

太远的不说,从x86处理器进入64位时代开始,amd首次在64位指令集上做到了胳膊拧过大腿——大家津津乐道的k8大锤处理器最关键的成功不是架构,而是抢先了64位指令集,如今我们在用的x86_64指令集的名字是amd64,intel后来也遵从了这一指令集。

在这之后,amd在x86处理器发展上一直在走自己的路。2011年,amd推出了推土机bulldozer架构,这款处理器的设计思路非常先进,2个整数单元+1个弹性浮点单元的设计迎合了amd收购ati之后意图打造的cpu+gpu协同发展的理念,这种模块化设计是x86发展的一个里程碑。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?
推土机首发桌面8核处理器

再后来,amd推出了我们今天讨论的主角zen核心,这一代的处理器架构设计可谓具有突破性的改进,也同时延续了amd自己的特色。它的问世不但让amd实现了逆袭,也给amd打下了未来十年的基础,目前发展到了zen2,从路线图上看,zen4架构已经在研发了。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

zen架构实现52% ipc性能提升 模块化设计重出江湖

十年磨一剑,终成大器!2017年3月2日,amd终于拿出了zen核心的锐龙处理器,重返高性能处理器市场。zen架构的到来,给了amd扭转局势的机会。在k10、推土机两代架构之后,这是amd再一次冲击x86市场,amd也多次表态要再现辉煌,夺回失地。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

关于第一代zen架构的改进细节,这里就不一一赘述了。两年前发布的产品在网上已经有大量评测和解析了,我们只提amd在重新设计了内核、smt多线程、缓存、infinity fabric总线等单元之后,zen架构实现的目标吧。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

amd之前宣称zen架构实现了40%以上的ipc提升,不过最终发布时,amd表示其实际ipc性能提升了52%,远超预期。相比以往的k10、推土机架构有了质的改变,比对手挤牙膏式的架构升级也是天翻地覆的变化。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

在上述架构改变中,amd重新设计的ccx(cpu complex)架构是最重要的。每个ccx单元有4个cpu核心,每个核心各自有64kb l1 i-cache(指令缓存)、32kb l1 d-cache(数据缓存)、512kb l2缓存,l3缓存高达8mb,但是4个核心共享的。

这样4核cpu组合的ccx算是amd zen架构的一个模块,在第一代中桌面处理器最多8核16线程,里面是2个ccx单元,二者之间使用infinity fabric总线(简称if总线)连接,而if总线又是zen架构的另一个仅次于ccx的创举。

桌面处理器锐龙7 1800x的物理核心如下图所示:

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?
桌面版锐龙7 1800x处理器开盖后的核心

用于服务器版的naples处理器最多32核64线程,也就是8组ccx单元,分配在4组ccd(core chiplet die)单元中。不过这时候amd还没有正式用ccd这个命名,直到现在的zen2架构中才出现这个命名。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?
服务器版epyc 32核(naples)处理器开盖后的核心

桌面版因为最多8核,所以只有1个ccd单元,外面看起来跟原生8核没什么区别,而服务器版是32核,有4组ccd单元,可以更清晰地显示出amd在zen(改进型zen+是一样的架构)的设计思路——那就是模块化。不过,这个模块化跟推土机的模块化不一样,属于创新模块,不是将内核模块,而是将ccd模块化,需要多少核心就配置相应的ccx/ccd核心即可。

摩尔定律放缓 amd另辟蹊径:zen2走向混合小芯片设计

在14nm zen及改进型的12nm zen+这两个系列的产品中,amd解决了高性能处理器的有无问题,52%的ipc性能提升彻底改变了amd处理器的处境,不过zen第一代的产品依然谈不上完美,amd要在新一代的zen2架构上解决两个问题。

一个问题是继续提升zen的ipc性能,另一方面则是要继续扩展zen处理器的并行性,也就是更多的cpu核心。尽管amd在zen一代上已经实现了桌面8核、服务器32核,核心数上继续领先,但这还没有达到amd的目标,要大幅超出才行。

前一个问题要靠继续挖掘zen架构的潜力,后一个问题就不只是架构设计的问题了。工程实现上难度更大,因为amd在zen2架构上要做64核128线程,并首发7nm工艺,将打造迄今为止最强大的x86处理器。

在友商也只能做到28核的情况下,amd做64核处理器最挑战的地方是什么?答案很简单,那就是成本,因为摩尔定律在最近几年中已经放缓了,amd如果继续按照原有的思路做下去,那64核epyc处理器的成本是难以想象的。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

对于这一点,amd有着清醒的认识,此前amd ceo苏姿丰在2017年的一次会议中就对比过先进工艺对成本的影响。统一以250mm2的核心来算,45nm节点的成本算作1,32、28nm节点开始提升,20nm节点就变成2倍成本了,到了7nm成本跃升为4倍,未来的5nm更夸张,成本将是之前的5倍。

很显然,在zen2架构确定要上7nm的时候,如果按照之前的路线走,后果就只有两种——要么造不出来,要么造出来成本极高,因为按照amd之前估算的那样,如果是原生64核,那么核心面积接近800mm2了, 这几乎是现有193nm arf光刻机的处理极限,制造难度太大了。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

当然,我们现在都知道了zen2架构不会采用这样的原始方式,因为amd在这一代x86处理器上用了升级的chiplets混合小芯片设计,这也是未来处理器的发展方向。它比第一代zen的小芯片更为高明,让zen2有了脱胎换骨的变化,以一种更巧妙的方式实现了首款64核128线程x86处理器。

zen2小芯片架构分析:cpu核心面积大降 io搭配更灵活

什么是chiplets小芯片设计?业界并没有统一的定义,简单来说这是一种新兴的芯片设计思路,将大芯片化为多个小芯片,每个芯片的功能则比较单一,而且可以搭配不同的工艺,以实现提高性能、增加良率、降低成本的目的。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

在7nm zen2处理器上,amd实现混合小芯片设计的方式就是将cpu与io单元分离,分别称为ccd(core chiplet die)、iod(io die),在一代zen架构中每个ccd单元都是一样的,每颗ccd都包含io部分,1-4组ccd单元实现了8-32核的并行;而在zen 2架构中,io核心被分离了出来,1个io核心连接所有cpu核心。

而且这个io核心不需要使用7nm工艺,而是14nm(epyc霄龙)或者12nm(ryzen锐龙)工艺,核心面积分别是416mm2、125mm2,里面根据需要集成了不同数量的ddr主控、pcie主控、if总线等io单元。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

zen2架构的cpu剥离了io单元,变成了纯粹的cpu微内核,再加上7nm工艺相比14nm工艺带来了一倍左右的晶体管密度提升,所以在核心面积上7nm zen2大幅缩小,单个小芯片面积只有74mm2,整合的l3缓存高达16mb,而zen一代上一个芯片的面积是213mm2,其中核心部分只占120mm2,其余的都是io单元的面积,由此可见zen2架构采用小芯片设计带来的优势极其明显。

那么amd采用小芯片设计到底有多大的收益呢?我们可以确定的是这种设计的良率会很高。到底有多高?amd官方没有公布过具体数据,不过第三方分析称8核zen2的良率达到了93.5%,在台积电7nm 12英寸晶圆上可以生产出749个8核处理器,生产32核心也有187个,成本优势明显。

当然,这样的算法只是用于评估zen2采用小芯片设计带来的成本优势,真实成本要比纯代工成本高很多,还得算上研发、封装测试成本。但怎么来算,这种设计都赋予amd在成本控制上极高的灵活性,远非原生大核心可比的。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

最后还有一个问题值得关注,那就是延迟,虽然cpu、io核心分离解决了超多核心的并行问题,但是io、cpu分离开来也会导致延迟增加,这跟原生多核相比是个劣势。不过amd在zen2架构也针对此做了改进,包括if2总线及缓存上的改进。

作为zen2处理器cpu、io及cpu核心之间的总线,if2代采用了总线频率、内存频率分离式设计,保证可以达到更高频率和尽可能低的延迟,总线速率从前代的10.7gt/s提升到了18gt/s,数据传输更快。

而且每个ccd单元有各自的infinity fabric phy物理层,通过它和i/o die芯片内的数据总线(data fabric)进行高速互连通信——注意,两颗cpu芯片之间没有直接通信,都要经过i/o die,这样可以保证不同核心、缓存之间的延迟是一致的。

此外,缓存方面也做了改进,一方面zen2架构的l3缓存翻倍,每个ccx单元配备的l3缓存从8mb翻倍到了16mb,8核处理器是32mb l3缓存,64核的epyc处理器最多拥有256mb l3缓存,远高于前代及对手产品。

另一方面,zen2的内存频率也大幅提升,前代epyc支持的内存频率不过2666mhz(桌面ryzen为2933mhz),这一代官方数据是服务器和桌面都可以支持3200mhz,但这个数据可能比较保守,据称桌面端可以一键超频到4200mhz,高者可达ddr4-5133mhz。

还有一点需要强调的是,zen2率先支持了pcie 4.0标准,在io的带宽上也有了长足的提升和保障。

64核epyc处理器性能碾压式胜利 打破140多项世界纪录

得益于zen2架构的性能改进及64核128线程的超多核心,第二代霄龙epyc 处理器一经问世就打破了多项性能世界纪录,官方最新统计显示有140多项记录被64核128线程的epyc刷新。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

amd打破性能记录的领域设计hpc、浮点运算、整数运算、java、db/erp、能耗、大数据、云计算及渲染等,几乎囊括了每一个需要高性能计算的市场。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

64核epyc处理器的性能不只是amd官方自吹自擂,许多第三方评测网站也证明了amd所言不虚——insidehpc、serverthehome、thenextplatform等专业网站也做了大量epyc处理器性能测试,结果也显示64核128线程的epyc处理器在性能上有非常明显的优势,大幅领先对手的28核56线程至强。

amd不只是在性能上有优势,同时价格上也要比对手便宜——64核128线程的epyc 7742处理器只要6950美元,而对手的28核至强8280处理器售价超过1万美元,顶配版要1.3万美元,是amd 64核的2倍左右。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

上面价格对比不仅显示了amd epyc霄龙处理器的高性价比,实际上也反映了与友商的成本差距——amd采用的小芯片设计大幅降低了成本,而友商原生28核的设计使得制造难度极高,成本很难降低。

amd对核心永远不满足 引爆x86核战

2019年是amd成立50周年,x86处理问世41年。在过去几十年的历史中,x86处理器的舞台上主要留下了amd及intel两家公司,期间虽然大部分时间都是intel在主导x86发展,但amd也屡次实现了技术创新上的反超,像64位,成就amd曾经辉煌的超传输总线技术等等,如今,在多核x86上,amd再次占了上风。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

为了尽可能提升多核性能,amd在第一代zen处理器上首次使用了chiplets技术。而在最新的zen2处理器上,amd又首创了hybrid multi-die架构的混合小芯片chiplets设计,计算die和io die采用不同的制程,赋予x86多核处理器极高的灵活性,使得amd解决了7nm等先进工艺制造成本高、难度高、良率低的问题,可以更灵活地扩展cpu核心。这种堆积木的混合式组合使得桌面处理器达成达成了16核,服务器处理器轻松达到64核128线程。

最后的结果也证明,amd这次赌对了。它不仅在桌面处理器上创造了世界首款12核、16核游戏处理器锐龙9系列,在服务器市场上更是凭借64核128线程大杀四方,性能及售价双重优势明显。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?

amd引爆了x86处理器的“核战”,而且是主动出击,这也给对手intel出了一个难题。后者目前最强的至强处理器也只有28核56线程,核心数方面与epyc二代差距甚大,在性能上已经无法与之竞争,而且成本上更无还手之力——amd epyc 64核在核心数翻倍的情况下售价只有一半左右,这样的吸引力对云计算、数据中心等客户是无法抵抗的。

更可怕的是,似乎amd未来也不会停止这样的核战。amd cto mark papermaster在接受采访时表示,市场对处理器核心数没有天花板限制,软件正在快速针对多核cpu进行优化,可以充分发挥多核多线程的优势。amd在核心数方面不会停止进步。

根据amd官方发布的路线图,现在7nm zen2架构之后的两代处理器已经确定,zen3已经完成研发,zen3之后,zen4架构也在按计划研发设计中。虽然具体规格现在还没有确切消息,不过可以确定的是——amd在x86处理器上已经重回领导者地位了。