#华为韬定律是什么#
我写一下传统堆叠和"韬"的区别,大家能看懂的就看,看不懂可以直接开骂,对线吧,不用走程序。[doge][doge][doge]
先给结论
传统堆叠不是为了“证明一定性能更好”,而是为了在某些瓶颈上更划算地提升系统性能。而韬/LogicFolding如果按华为的说法,解决的不是“模块之间离太远”的问题,而是芯片内部逻辑路径太长的问题。
我按“为什么要堆叠 ,传统堆叠提升了什么 ,它的极限 ,韬想解决什么”来讲。
传统堆叠到底是在干嘛?
你可以先把一颗芯片理解成几个大模块:
CPU/GPU/NPU 计算单元,SRAM/L3 Cache,I/O,Memory interface,模拟/射频/电源管理
这些模块原本都在一块平面die上,或者分散在不同package里。
那咱们为什么要费劲吧啦的把两块 die 连起来?
因为有些模块之间的数据交换非常频繁,距离一远,代价就很高:
线更长延迟更高,功耗更高带宽做不上去,面积更大
所以把它们叠起来,本质上是为了:
让本来通信非常频繁的两个模块靠得更近。
那这时候喷子门就会问了。“连起来也不能证明性能更好啊”——对,是这样的,谁也不能自动证明说连起来性能就好,事实上就是不能,堆叠和性能提升不是正比
只有当系统瓶颈正好卡在“模块间通信”上,堆叠才有意义。
典型例子1:HBM
GPU训练大模型时,瓶颈常常不是算力不够,而是:
数据喂不进去,显存带宽不够,就是内存墙呗,对吧,我老给你门讲,
所以:
GPU logic die
HBM memory stack
这些玩意,贴得非常近,带宽可以做很高,性能才真的上去。
这里提升的不是“GPU核心 magically 更强”,而是数据供上了,我说白了,原因在这属于是。
典型例子2:刚才一个哥们儿BB的AMD 3D V-Cache
打游戏很多时候吃:
大缓存,低延迟访存。所以AMD把L3 cache堆到CPU die上面:
就能让那个你缓存容量暴增,很多数据不用去更慢的内存找(这个其实 celebras也是这么干的,之前还骂过很多同学sram和hbm都分不清)
游戏性能上升,这里也不是“CPU算术单元更先进了”,而是访存瓶颈缓解了。
所以传统堆叠提升的是:不是“逻辑本身更强”
而是以下这些之一:
更高带宽。更低模块间延迟。更小封装面积。更低I/O功耗,更灵活的工艺拆分
比如逻辑die用先进工艺,I/O die用成熟工艺
所以又回过头来咱们说,传统堆叠为什么不等于“芯片本体变强”?
因为它通常只是把不同功能模块靠近:
CPU还是那个CPU,Cache还是那个Cache,HBM还是那个HBM
也就是说:
它优化的是模块之间的连接,不是模块内部的电路实现。
一个CPU核心内部的关键路径,比如:
译码啊,你要调度,调度完了得执行吧,还有回写。这些逻辑门怎么排布,往往还是平面的。
所以传统堆叠的天花板是:
模块间通信更好了,但逻辑内部时序瓶颈未必变,那如果你平静就不是通信问题,那我说白了,你就白说了,没特么什么用。
那韬/LogicFolding想解决什么?
按华为公开说法,它想解决的是:
芯片内部关键逻辑路径太长,信号在平面上跑得太远。也就是说,华为盯的不是“CPU和缓存离太远”,而是“CPU核心内部某条关键逻辑链路太长”。
华子认为:如果平面上从A到B太远,那就别只在二维里跑:
把一部分逻辑放上层,另一部分逻辑放下层,然后用垂直互连直接连接
这样信号就不用在平面里绕远路。
你可以理解成:
传统堆叠把两栋楼靠近
LogicFolding
把同一栋楼里原本在走廊两头的两个房间改成上下楼关系。这样中间路径更短。
为什么这比传统堆叠激进?
因为它改动的不只是“模块摆放”,而是“逻辑实现方式”。
传统堆叠大概是:
CPU die
Cache die
两块独立模块做连接。
而LogicFolding是:
一个逻辑块的一半在上层,一半在下层,共同组成一个完整功能。所以它追求的收益不是单纯带宽了,对吧,这块能看懂吧,而是:
缩短关键路径,提高逻辑密度,改善部分时序(这也是有些人误以为tdm得原因)
在同工艺下榨出更多性能/能效
那话说回来了,这么牛逼,但为什么大家不都这么干?
因为它也不是白来的。
它的问题恰恰就是和传统堆叠一样的问题,甚至更甚:
1-热更难
2- 良率更难
3- 测试更难
4- EDA更难(我理解这个应该搞完了,搞不完没玩了,自己重写了)
5- 电源/时钟完整性更难
所以:传统堆叠是“拿工程复杂度换局部系统收益”; LogicFolding是“拿更大的工程复杂度换更深层次的逻辑收益”。
这也是为什么我一直说:
它不是啥神奇黑科技,但我也从来没说不靠谱(就是没那么神,又改变人类又这那那这的)它更像是一条高代价、高侵入性的3D集成路线。这种定义我觉得是合理的
写完了,大家可以开骂了
发布于 日本
