最近,业界首个以算网融合为核心的多元算力研究报告《算力经济时代·2023新型算力中心调研报告》出版,我们将对报告内容开启连载模式。
结合算力经济时代的算力基础设施发展,第三章主要探讨了以下话题:
☞ 报告连载 | 算存互连:Chiplet 与 CXL
☞ 报告连载 | 向上堆叠,翻越内存墙
☞ 报告连载 | HBM 崛起:从 GPU 到 CPU
☞ 报告连载 | 向下发展:基础层加持
☞ 报告连载 | 标准化:Chiplet 与 UCIe
☞ 报告连载 | UCIe 与异构算力
☞ 报告连载 | Chiplet 的中国力量
积极引入新制程生产CCD的AMD对SRAM成本的感受显然比较深刻,在基 于台积电5nm制程的Zen 4架构CCD中,L2、L3 Cache占用的面积已经达到整体的约一半比例。
△ Zen4 CCD的布局,请感受一下L3 Cache的面积
AMD当前架构面临内存性能落后的问题,其原因包括核心数量较多导致的平均每核心的内存带宽偏小、核心与内存的“距离”较远 导致延迟偏大、跨 CCD的带宽过小等。这就促使AMD需要用较大规模的L3 Cache来弥补访问内存的劣势。而从Zen 2到Zen 4架构,AMD每个CCD 的L3 Cache都为 32MB,并没有“与时俱进”。为了解决SRAM规模拖后腿的问题,AMD决定将SRAM扩容的机会独立于CPU之外。
AMD在代号Milan-X的EPYC 7003X系列处理器上应用了第一代3D V-Cache技术。这些处理器采用Zen 3架构核心,每片Cache(L3 Cache Die,简称 L3D)为64MB容量,面积约41mm²,采用7nm工艺制造——回顾 ISSCC2020 的论文,7nm恰恰是SRAM的微缩之路遇挫的拐点。
缓存芯片通过混合键合、TSV(Through SiliconVias,硅通孔)工艺与 CCD(背面)垂直连接,该单元包含4个组成部分:最下层的CCD、上层中间部分L3D,以及上层两侧的支撑结构——采用硅材质,将整组结构在垂直方向找平,并将下方CCX(Core Complex,核心复合体)部分的热量传导到顶盖。
AMD在Zen3架构核心设计之初就备了这一手,预留了必要的逻辑电路以及 TSV 电路,相关部分大约使CCD增加了4%的面积。L3D 堆叠的位置正好位于CCD的L2/L3 Cache区域上方,这一方面匹配了双向环形总线的 CCD内的Cache 居中、CPU核心分居两侧的布局,另一方面是考虑到(L3) Cache的功率密度相对低于CPU核心,有利于控制整个Cache区域的发热量。
△ 3D V-Cache结构示意图
Zen3的L3Cache为8个切片(Slice),每片4MB;L3D也设计为8个切片,每片8MB。两组 Cache 的每个切片之间是1024个TSV连接,总共8192个连接。AMD 宣称这外加的L3 Cache只增加4个周期的时延。
随着Zen4架构处理器进入市场,第二代3D V-Cache也粉墨登场,其带宽从上一代的2TB/s提升到2.5TB/s,容量依旧为64MB,制程依旧为7nm,但面积缩减为36mm2 。缩减的面积主要是来自TSV部分,AMD宣称基于上一代积累的经验和改进,在TSV最小间距没有缩小的情况下,相关区域的面积缩小了50%。代号 Genoa-X 的EPYC系列产品预计在2023年中发布。
SRAM容量增加可以大幅提高Cache命中率,减少内存延迟对性能的拖累。AMD 3D V-Cache 以比较合理的成本,实现了Cache 容量的巨大提升(在CCD 内 L3 Cache 基础上增加2倍),对性能的改进也确实是相当明显。代价方面,3D V-Cache限制了处理器整体功耗和核心频率的提升, 在丰富了产品矩阵的同时,用户需要根据自己的实际应用特点进行抉择。
那么,堆叠 SRAM 会是Chiplet大潮中的主流吗?
△ 应用3D V-Cache的AMD EPYC 7003X处理器
说到这里,其实是为了提出一个外部SRAM必须考虑的问题:更好的外形兼容性。堆叠于处理器顶部是兼容性最差的形态,堆叠于侧面的性能会有所限制,堆叠于底部则需要3D封装的进一步普及。对于第三种情况,使用硅基础层的门槛还是比较高的,可以看作是Chiplet的一个重大阶段。以目前AMD通过IC载板布线水平封装CCD和IOD的模式,将SRAM置于CCD 底部是不可行的。至于未来 Zen 5、Zen 6 的组织架构何时出现重大变更还暂时未知。
对于数据中心,核数是硬指标。表面上,目前3D V-Cache很适合与规模较小的CCD匹配,毕竟一片L3D只有几十平方毫米的大小。但其他高性能处理器的内核尺寸比CCD 大得多,在垂直方向堆叠 SRAM 似乎不太匹配。但实际上,这个是处理器内部总线的特征决定的问题:垂直堆叠 SRAM,不论其角色是L2还是L3 Cache,都更适合Cache集中布置的环形总线架构。
对于面积更大的处理器,怎么突破SRAM的成本约束呢?
不但要找SRAM的(廉价)替代品,还要解决“放在哪儿”的问题。
回首eDRAM时光
缓存容量的问题,本质上是弥补内存的性能落差。SRAM快但是贵, DRAM便宜但是慢。如果 SRAM 已经很难更快(频率、容量被限制),且越来越贵,那么,为什么不把增加的成本用在DRAM上呢?能不能找到更贵但更快的DRAM?答案是肯定的。因此,最务实的思路就是提升内存性能,以及拉近内存与核心的距离。
提升DRAM性能的一种比较著名的尝试是eDRAM(embeddedDRAM, 嵌入式 DRAM)。由于每单元 SRAM 需要由4或6个晶体管构成,其面积必然偏大,密度不如DRAM,成本也比eDRAM更高一些。
IBM是eDRAM的积极应用者,宣称eDRAM的每Mb面积约为SRAM的三 分之一,并从2004年的PowerPC 440就开始内嵌eDRAM作为L3 Cache 使 用。之后的Power7到Power9,eDRAM都被用作L3 Cache使用,于是“只有”12/24 核的Power9处理器,L3 Cache容量已经高达120MB。
这种爱好蔓延到了IBM Z15这样的主机处理器。2019年发布的Z System 大型机使用的中央处理器(Central Processor,CP Chip)有12个核心,面积696mm2,其L2、L3 Cache均由eDRAM构成,其中L2 Cache为(4+4)×12=96MB,L3 Cache 为 256MB。然后,Z15还可以通过系统控制器(System Controller,SC Chip)提供960MB L4 Cache,SC的面积也是696mm2。上一代的Z14也是类似的架构,L3和L4 Cache分别为 128MB和672MB。两代芯片均采用14nm SOI制程。
格芯和IBM宣称基于14nm制程的eDRAM每单元面积为0.0174平方微米,比5nm的SRAM还要小。当然,任何技术优势在竞争压力面前都会被压榨到极限,eDRAM的单位成本虽低,也架不住堆量。因此,IBM用 eDRAM作为Cache的实际代价其实也是很大的:大家可以从图片中看到L3、L4 eDRAM在Z15的CP和SC中占用的面积。
x86服务器CPU对eDRAM则没有什么兴趣。
在处理器内部,其面积占用依旧不可忽视,且其本质是DRAM,目前仍未看到DRAM能够推进到10nm以下制程。IBM的Power10基于三星的7nm 制程,便不再提及eDRAM的问题。
在处理器外部,eDRAM并非业界广泛认可的标准化产品,市场规模小,成本偏高,性能和容量也相对有限。
后起之秀HBM(High BandwidthMemory,高带宽内存)则很好的解决了上述问题:
首先,不去CPU所在的die里抢地盘;
其次,纵向堆叠封装,可通过提升存储密度实现扩容;
最后,在前两条的基础上,较好的实现了标准化。
HBM的好处都是通过与CPU核心解耦实现的,代价是生态位更靠近内存而不是Cache,以时延换容量,很科学。