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

  作者:宪瑞

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

  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?_第1张图片

  刚刚接任 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?_第2张图片
推土机首发桌面 8 核处理器

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

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

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

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

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

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

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

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

  在上述架构改变中,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?_第6张图片
桌面版锐龙 7 1800X 处理器开盖后的核心

  用于服务器版的 Naples 处理器最多 32 核 64 线程,也就是 8 组 CCX 单元,分配在 4 组 CCD(Core Chiplet Die)单元中。不过这时候 AMD 还没有正式用 CCD 这个命名,直到现在的 Zen2 架构中才出现这个命名。

AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?_第7张图片
服务器版 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?_第8张图片

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

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

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

  Zen2 小芯片架构分析:CPU 核心面积大降 IO 搭配更灵活

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

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

  在 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?_第10张图片

  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?_第11张图片

  最后还有一个问题值得关注,那就是延迟,虽然 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 打破性能记录的领域设计 HPC、浮点运算、整数运算、Java、DB/ERP、能耗、大数据、云计算及渲染等,几乎囊括了每一个需要高性能计算的市场。

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

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

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

  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?_第15张图片

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

  AMD 对核心永远不满足引爆 X86 核战

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

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

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

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

你可能感兴趣的:(AMD走出自己的路 小芯片设计如何打造业界最强64核EPYC?)