刚看到新闻报道,感觉就是不靠谱的营销。业界一致都在优化各个层级的时延。几十年前大家就意识到这个问题,我导师20年前就发表论文,讨论基于计算免费,优化数据移动模型下的软件算法。华为不过是把这些打包,起了个好听的名字营销罢了。
后来找到何庭波的论文,粗读了一下。我对第三章的logic folding比较感兴趣。将芯片从2D转为3D,这个想法早就有了,难点是如何制造出来。
现在chiplet/3d封装,每个小的die还是传统方法,然后层叠起来。这种还是比较粗粒度的,比如把logic做一个die,sram做一个die。做不到同一个logic,比如ALU,这部分的cell放一层,那一部分的cell放另外一层。这是因为,die和die之间的连接问题怎么破。这些通孔一般比较大,位置受限,所以die和die之间的连接数量受限,和同一个die上的连接数不在一个数量级。所以放在两层没问题,怎么连接是瓶颈,搞不好还更慢。
华为论文提到一个gear ratio,不同die之间pitch除以顶层metal的pitch。现在是3,2um vs 72nm,目标是降低到1,那时候连接问题大大缓解,和wire从top metal走一下差不多了(当然具体问题肯定一大堆)。有了这个前提,才可以做更细粒度的切分,从block到logic层级。
华为现在只做到了两层,将来计划多层。但是2到多,复杂度会陡增。我看评论有一种说法是同一个die上,先造一层cell+n层metal,然后再在上面长一层cell+n层metal,依次类推。这个是真正意义上的3d ic了。但是技术挑战更大。华为论文中没有看出有这个意思来。应该还是每个die单独制造,然后堆叠起来。区别是,原来die和die之间是block-level的划分,现在可以做到block内部的更细粒度的划分,这样可以挖掘出更多的潜力来。
但是华为给的例子,大部分还是比较简单的情况,和我想象的真正的logic-folding有一定差距。比如做了network-on-chip的data path,这个本身就很规律,走线比较长。还有SRAM,也是很规律的。还有就是clock buffer,类似情况。真正挑战的比如ALU之类的,没有看到。如果这个可以做到,真的可能是革命性的。现在的GPU和AI芯片,里面是海量的乘加计算器,如果把这个做到了两层,降低了面积,那的确可以大大增加算力。
除了制造瓶颈,还有一个就是EDA瓶颈。我们看华为现在做的比较简单,可能也是复杂的人工搞不定,EDA还不支持。即便是简单的情况,logic分布在上下两个die上,一个显而易见的问题就是,哪些cell放在上层,哪些放在下层。如果放不好,性能更差。P&R算法之前完全没有考虑过这种情况,新的delay模型,新的power模型,新的ppa算法。很多EDA工具要大改。这对S/C等几十年老代码来说,无疑也是巨大的挑战,另一方面是我们国产EDA的机遇。如果EDA不支持,即便是能制造出来,那可以适用的范围还是非常有限的。
总之,tau定律,像是个噱头,业界早有了。但是为实现的具体技术,可能是大有潜力的。