报告连载 | Chiplet 与芯片布局

最近,业界首个以算网融合为核心的多元算力研究报告《算力经济时代·2023新型算力中心调研报告》出版,我们将对报告内容开启连载模式。

结合算力经济时代的算力基础设施发展,第二章主要探讨了以下话题:

☞ 多元算力:CPU + GPU

☞ 摩尔谢幕,Chiplet 当道

☞ Chiplet 与芯片布局

☞ Arm 新升:NVIDIA Grace 与 AmpereOne

☞网格架构的两类 Chiplet

在CPU的Chiplet实现上,AMD和英特尔和大家都有“点”不一样。

从代号罗马(Rome) 的第二代EPYC开始,AMD将DDR内存控制器、Infinity Fabric和PCIe控制器等I/O器件从CCD中“抽取”出 来,集中到一个单独的die里,居中充当交换机的角色,即 IOD(I/ O Die) ,这部分从制程提高到7nm中获益很小,仍然采用成熟的14nm制程;CCD内部的 8个核心加(L3) 缓存所占面积由56%提高到86%,可以从7nm制程中获得较大的收益。

IOD和CCD分开制造,按需组合,“解耦”带来的优点有很多:

☞ 独立优化:可以按照 I/O、运算、存储(SRAM)的不同要求分别选择成本适宜的制程,譬如代号Genoa(热那亚)的第四代EPYC处理器就分别“进化”为5nm制程的CCD搭配6nm制程的IOD;

☞ 高度灵活:1个IOD可以搭配数量不等的CCD,以提供不同的CPU核心数,譬如代号Rome(罗马) 的第二代EPYC处理器,最多支持8个CCD,但也可以把数量减少到 6、4、2 个,总之能轻松自如的提供8 ~ 64个核心。

如果将这个CCD看作8核的CPU,IOD看作原来服务器中的北桥或 MCH(Memory Controller Hub),第二代EPYC就相当于一套微缩到封装里的八路服务器,用这种方法构建64核,难度比在单个die上提供 64 核要低多了,还有良率和灵活性上的优势。

扩大规模也更为容易:在IOD 的支持下,通过增加CCD的数量,可以“简单粗暴”地获得更多的 CPU 核心,譬如第四代EPYC处理器就凭借12个 CCD将核心数量扩展到96个。

△ AMD 第四代EPYC处理器,12颗CCD环绕1颗IOD

第二至四代EPYC以IOD为中心连接多个较小规模的CCD,是比较典型的星形拓扑结构。这种架构的优势在于 IOD 及其成本,增加 PCIe、内存控制器的数量比较容易;劣势是任意核心与其他资源的距离太远,带宽和时延会受限。在AMD享有明显的制程优势(并体现在核数优势) 的时候,EPYC家族处理器即使单核性能略逊,多核性能依旧能相对优异。但随着英特尔的制造工艺改进,或者其他架 构竞争者(如 Arm)的大核性能提升,AMD 的核数优势有被削弱的趋势,目前的多核性能优势恐难以保持。

△ 代号 Genoa 的 AMD 第四代 EPYC 处理器

在过去几年中,AMD借助较小的CCD以较低成本实现了横向扩展(总核数提升),未来的可持续性尚待观察。目前其他几家的多核 CPU 在布局上普遍采取网格化的思路,实现核心、缓存、外部 I/O(包括 内存、PCIe 等) 的快速互联,减小任意核心与其他核心或 I/O 资源的访问距离,从而更有效地控制时延(latency)。

网格架构:Arm 与 Intel

作为 x86阵营的带头大哥,英特尔从开启至强可扩展处理器系列至今,四代产品都基于网格(2D Mesh)架构。

致力于颠覆 x86 在服务器CPU市场霸主地位的Arm阵营,所采用的Corelink 互连方案 CMN(Coherent Mesh Network,一致性网格网络),显然也是一种网格架构。

(2D) Mesh是水平(X)和垂直(Y)方向的连线组成的二维交换矩阵,其中的一个个交叉点(Crosspoint,XP) 用以连接CPU/ Cache、DDR/PCIe 控制器等设备。出于布线方便等考虑,内存控制器、PCIe控制器、UPI/CCIX 等负责对外I/O 的设备都布置在最外面一圈,其他交叉点留给 CPU和缓存(Cache) 等“核心资产”。

显然,网格的规模越大,交叉点就越多,可以布置的CPU、缓 存 、I/O 资源也就随之增加。譬如:

● 至强可扩展处理器从第一代的6×6矩阵发展到第三代的7×8矩 阵,核心数从 28 个扩展至40个,DDR 内存控制器和PCIe控制 器的数量也有所增长;

● Arm Neoverse 平台从CMN-600的 8×8 矩阵升级到CMN-700的 12×12 矩阵,支持的每die核心数从64个增长到256个,系统级缓存(System Level Cache,SLC) 容量也从128MB提高到512MB。

随着矩阵规模的扩大,居中的核心访问 I/O资源的路径也会有所延长,但通过增加I/O资源数量并优化其分布及访问策略等手段,可以较好的抑制时延增长。

同样是网格架构,Arm和英特尔在细节上还是有些值得注意的不同,主要体现在节点(交叉点)上。

CMN-700每个交叉点上的设备从 CMN-600的2 个增加到3~5个,以 英 伟达(NVIDIA) 基于Arm Neoverse V2的Grace CPU为例,每个节点通常会有2个CPU核心及对应的 2 片(slice)L3缓存,在矩阵边上的节点还很可能会连接内存控制器、PCIe/NVLink 等I/O设备。

△ NVIDIA Grace 的SCF网格

注意:通过 Coherent NVLink,NVIDIA Grace 可支持多达四路 CPU 的一致性

英特尔至强可扩展处理器的每个(非 I/O)节点上只有1个 CPU 核心及其对应的L3 Cache,考虑到每个CPU核心支持超线程(Hyper-Threading,HT),可以当作2个逻辑核心使用,在每个节点上论逻辑核心数量的话,和Arm 倒是一样的。(未完待续)

上一篇
下一篇