细品AMD的3D缓存技术

今年pc行业的内卷还在持续,尤其amd和intel的技术与产品竞争仍处于胶着状态。amd这边的zen 4架构表现虽然未如预期,但这家公司的新年产品仍有不少亮点。
月初的ces上,amd面向个人电脑发布的新款ryzen 7000系列cpu中,继续包含了采用3d v-cache的型号,且相比去年多有强化。我们此前特别撰文谈过3d v-cache技术——简而言之,这是一种增加处理器l3 cache的方案:将l3 cache单独作为一片die(extended l3 die,以下简称l3d),以先进封装的方式叠到原本的处理器die上方,大幅增加cpu的cache容量。
其实在去年的ieee isscc上,amd有进一步详述3d v-cache技术。这次我们也借着amd的新品发布,来再度谈谈这项给cpu堆cache的技术。
这次堆了更多的l3 cache
处理器采用更大的、在垂直方向叠起来的l3 cache,在pc市场上,是amd于游戏用户的杀手锏——隔壁intel没有用这项技术。所以3d v-cache现阶段还真是amd在市场上差异化竞争的组成部分。不过我们此前也特别撰文提到过,面向个人电脑市场的cpu,堆l3 cache的价值并没有那么大:主要价值都在游戏上,对其他pc应用(比如生产力产经)甚至有负加成。
amd本身也将这个系列的型号主要定位于游戏用户,但这次发布的新品部分弥补了上代产品的不少短板。
ces上amd发布了3款采用3d v-cache的处理器:ryzen 9 7950x3d、7900x3d和ryzen 7 7800x3d。初代采用3d v-cache的处理器就只有一款;这次amd显然是在初代试水之后,更看好这项技术了。
其中最高配的ryzen 9 7950x3d为16核心。由于3d堆叠能让l3 cache增多64mb,所以7950x3d的l3 cache总容量为128mb。值得一提的是,7950x3d核心睿频达到了5.7ghz,与原本没有堆3d v-cache的7950x一样;只不过基频相比7950x降低了300mhz。
这一点之所以重要是因为,上代的5800x3d睿频只有4.5ghz——这就让5800x3d,在除游戏之外的其他绝大部分负载中,性能弱于原版5800x。堆叠cache,还是要让核心部分付出代价的。这次睿频没降,也就不至于让更依赖核心峰值性能的负载受到太多不良影响——虽然基频还是略有下降的。
与此同时7950x3d标定的tdp为120w,ppt(package power tracking)162w。这两个标称值还低于原版7950x的170w/230w,可能是因为基频下降、全核睿频相对不带l3d的7950x更低、以及新增cache die容许略高的运行温度。有一点格外值得一提,7950x3d这个处理器16个核心,按照zen 4架构是分成了两个ccd(core complex die)的——也就是两片die,每片die有8个核心。
只有一片die是叠了l3d的:lisa su最早在发布会上展示的3d v-cache处理器也是只在一片die上叠cache(上图中左上的那片die),另一片仍然是普通的ccd die(右上那片die;下面较大的那片是i/o die)。没有叠cache的ccd die上的核心才能用上最高频率,而叠了3d v-cache这边的核心做不到全速运转(或这片die的全核睿频更受限制)。所以3d v-cache依然对堆叠的那片l3d的处理器核心性能产生了少许影响。
基于这一点,amd目前正在跟微软合作进行windows优化,amd芯片组驱动能够识别不同的游戏,选择更倾向于堆叠了l3d的ccd,还是更倾向于没有叠cache的ccd。
另外两个型号7900x3d和7800x3d,分别是12核心+128mb l3 cache,以及8核心+96mb l3 cache。在7800这个型号上,amd今年只推了带l3d的7800x3d,而没有出不带l3d的版本,所以没法做规格上的直接比较了。
再有就是上代5800x3d是无法对核心做超频的,这代的三颗处理器开始支持自动超频pbo,以及使用curve optimizer;只不过仍然无法直接进行超频操作。
amd宣称,ryzen 9 7950x3d相比于intel酷睿i9-13900k,在游戏中的表现领先13-24%;部分生产力应用领先4-52%。不过从amd此前给出第一方数据的可信度来说,这个数据还是仅供参考。而从此前5800x3d的游戏表现来看,这代处理器的1080p分辨率游戏表现应该的确会相当不错——非常值得期待。
3d v-cache技术更大的服务场景应该是面向服务器的epyc处理器。去年amd把3d v-cache应用到了挺多epyc处理器上,从16-64核处理器都有。8个ccd的epyc处理器,如果每个都叠上l3d,则处理器总共能堆出768mb的l3 cache——这个数字以前还真是不可想象。
3d缓存是早有“预谋”的
amd暂时还没有公布这几颗芯片的售价。从去年的情况来看,3d v-cache版本会比原版贵一些——最终售价对于用户来说,基本就是在更多的核心数和更大的cache容量之间做抉择,看你更愿意为sram买单,还是为逻辑电路买单了——这还真得看用户购买cpu的真实用途在哪儿了,因为增大l3 cache容量呈现出了显著的边际递减效应:增加cache命中率带来的那点红利,很多时候无法抵消延迟增加造成的不良影响。
从去年ieee的技术汇报来看,半导体制造工艺虽然还在进步,但器件微缩主要体现在逻辑电路方向上,sram bitcell尺寸的缩减速度急剧放缓,尤其从台积电n5到n3工艺,sram单元面积微缩幅度是5%。而且很快要大规模量产的n3e工艺,sram单元面积还要增大。这其实是技术发展过程中的桎梏。
3d v-cache是符合这样的时代发展主旋律的,也就是把sram往垂直方向去堆。而且这也增加了产品sku的灵活性,毕竟很多应用场景其实并不需要那么大的cache。amd表示,在没有增加横向datapath距离的情况下就增加cache容量,保持动态低功耗和低延迟的同时,也缩减了封装尺寸——节约的尺寸可以用来做其他事,比如说增加更多的核心。
3d v-cache处理器总体包含三个组成部分,ccd(上图最下层)、l3d(上层中间部分)和结构支持die(两侧的die)。对amd zen架构处理器有了解的同学应该很清楚ccd是什么——现在的架构中,大体上8个核心构成一个ccd(如下图),当然ccd内部本身也是有l3 cache的。比如说原版ryzen 9 7950x,两片ccd总共配有64mb l3 cache。
不过amd在isscc上说,往ccd上面堆l3d并不是临时起意。对于3d v-cache的支持,无论是架构上还是物理电路上,都是从此前zen 3处理器设计之初就做好了准备的。也就是说从最初设计ccd、还没有向市场推出3d v-cache版本的处理器之时,ccd上面就预留了必要的逻辑电路以及tsv(硅通孔)信号pad。这就极大地节省了nre成本、减少了掩膜组数量,简化了整体的chiplet设计。
换句话说,zen 3架构的ccd原生就支持l3d扩展,包括tsv柱。amd表示这种预留会对面积造成大约4%的影响——也就是需要额外4%的面积。
往上叠加的l3d这片die,制造工艺和ccd是一样的。wikichip在分析文章中提到,l3d内部有13层铜层,和1层铝层。l3d的确就是纯粹的cache die。在zen 3架构那一代(即ryzen 5000系列,台积电n7工艺),l3d总共64mb sram,面积41mm²。
来源:wikichip
l3d叠在上层,刚好覆盖差不多一半的ccd;l3d仅位于ccd部分的l2/l3 cache区域上方——因为cache区域的功率密度相对更低,则 3d堆叠产生的散热影响会相对更小一些。ccd上面的l3 cache设计为16-way set associative;总共8个切片,每片4mb。l3d也是这种设定。
所以l3d也是8个切片,每片包含8mb数据,和816kb的tags/lru。上一代的5800x3d因此就有了总共96mb l3 cache。amd提供的数据是,新增堆叠的l3 cache,只会有增多4个周期的延迟。
除了ccd和叠在上面的l3d之外,还有做结构支持的die——在l3d旁边,也就是相对的位于下层ccd的处理器核心区域上方。这是一种物理结构上的辅助设计,主要是在键合(bonding)过程中;与此同时也作为cpu die的散热通道:结构支持die需要在z轴达成高度的匹配,毕竟最终封装的散热顶盖也需要与die做到充分接触。
还有机会再往上叠
amd说l3d的设计是往高密度、低功耗的方向走的。实际在zen 2走向zen 3架构的时候,amd就为处理器选择了高密度sram bitcell(而非高电流单元)。如此一来,每个核心分配到的l3 cache切片容量就更大,同时保持die面积可控。
l3d则用了高密度的8t sram bitcell,有功耗方面的红利。其他缩减功耗的特性还包括用更高vt的器件、floating bitline,以及一些电源门控技术。
zen 2到zen 3架构变化过程中,每个ccx(core complex)的核心数翻番到8个,则核间通讯架构就需要重做。zen 2时代,ccx内部的核心数还没有这么多,所以采用crossbar型核间通讯。到了zen 3,wikichip在剖析文章里提到,由于核心数增多,所以核间通讯改用ring bus双向环形总线。zen 3每个ccd的l3 cache是32mb(不加l3d的情况下),分成8个切片(每核心4mb),也就是8 stops。
在新增l3d以后,每核心可分配到的l3 cache增大至12mb,仍然是双向环形总线(64mb l3d,每个切片8mb——加上原本ccd上每个切片4mb,也就是每个stop 12mb)。
有关供电的详情,由于篇幅原因不做赘述。有兴趣的读者可以去看一看wikichip的分析。简单来说,ccd有三种主要供电轨,rvdd——用于l3 cache logic;vdd是为核心供电的;vddm针对l2和l3数据bitcell做门控供电。
这里再谈一下hybrid bonding混合键合。3d v-cache的3d堆叠采用的是hybrid bonding方案,此前初代产品在做宣传的时候,很多同学就应该已经知道了。这在高性能处理器上应该是hybrid bonding的首个应用。这种混合键合能够把两片wafer或者两片die键合到一起,而且是直接的铜到铜——电介质到电介质的互联,而不用microbump。
来源:globalfoundries
具体到台积电的技术,用的soic工艺的f2b(face-to-back)键合。封装时,ccd本身面朝下,以c4介面面向substrate;ccd的背面通过薄化(thinned down)露出tsv;然后l3d die同样面朝下,混合键合到ccd上;最后把结构支持die键合上去。就微观层面来看,l3d的m13金属层通过bpv(bond pad via)连接到bpm(bond pad metal)上。
amd说,3d v-cache应用的soic封装能够做到最小9μm的tsv间距。这种较小的间距,本来也就是hybrid bonding的优势所在,此前电子工程专辑谈先进封装工艺的文章详细阐述过。不过techinsights的逆向工程显示,zen 3架构的这代产品tsv间距是17μm。理论上最新发布且采用了新制造工艺的ryzen 7000系列3d v-cache新品应该进一步让这个间距下降了。
hybrid bonding本身包括低电阻之类的优势就不多谈了,毕竟也还算知名;显著更小的互联间距才是其相比其他方案的真正优势。
最后值得一说的是,台积电的f2b soic这套方案是完全可重复操作的。也就是说l3d本身的背面可以再做一次这样的键合。那么理论上就能再往上堆l3d了。而且wikichip认为,操作上所需的改动并不大——只不过需要供电方面的一些调整,供电到叠层上方,以及一些die-to-die信号的额外逻辑电路。
还是那句话,虽说就个人电脑来说,再增大l3 cache对于绝大部分非游戏类应用而言并没有太大价值,甚至产生副作用;但当应用方向明确为存储敏感型的,那么大cache就会非常有价值。
想必新发布的三款采用了3d v-cache的处理器,能够在新一年的游戏应用上大杀四方了。等产品发布时,可以看看它们与酷睿i9-13900k的对比结果,毕竟这代酷睿处理器也大幅增加了cache容量,而且核心数和频率都提高了。而且在游戏设定更高分辨率时,3d v-cache的优势可能逐渐消失。当然对epyc客户而言,关注点可能又不同了。


比亚迪发布国内首款车规级共晶LED
2023年射频前端市场预测
微软发布全新卸载工具,Windows和macOS平台已发布
MLC-LLM的编译部署流程
零线故障现象你关注了吗?
细品AMD的3D缓存技术
Linux电源管理实例分析
国泰证券:风起粤港澳大湾区
ARM Cortex-A78、Cortex-X1、Mali-G78三种技术对比
使用LPC1700的IEC 60601
就在本周六!RT-Thread线下入门培训深圳站!
什么是IOT?
负氧离子传感器的分类介绍
高通与苹果的关系是敌还是友
法拉第未来与美国混合动力公司合作开发新能源产品
停车场里的人工智能 五大服务迎来新变局
小米POCO M3海外发布:支持18W有线快充
夏普扩大提前退休制度至普通员工 最多发放12个月薪资补贴
基于可见近红外技术的棉花、地膜快速识别研究介绍
小米12和小米12pro有什么区别_小米12和小米12pro区别