电科“答”人
Q|A
“答”人 | 王艳
中国电科58所
工程师,长期从事智算处理器芯片前端设计与验证技术
Q:
CPU为什不把面积做大一些,用面积、数量换性能?

A:
这个想法听起来很直观,但实际操作起来,真的不划算,几乎是条越走越亏的路。简单说,确实可以用面积换取性能,但CPU的面积不是想做多大就做多大,是有严格上限的,它背后受到性能规律、物理发热、制造成本和市场需求等多方面限制,我们来展开说说。
QUESTION ONE
面积翻倍,性能可不会翻倍
1.光速是有上限的
在芯片内部,电信号的光传输速度可不是无限大的。芯片面积越大,一个信号从这头传到那头的时间就越长。现代CPU的主频动辄3GHz、5GHz,意味着每秒钟要完成几十亿次运算。在一个时钟周期里,电信号能跑多远呢?粗略算一下:光速大约每秒30万公里,3GHz的一个周期只有三亿分之一秒,电信号在这段时间里只能前进大约10 厘米。而CPU内部的信号不是走直线的,要经过各种电路、缓存、运算单元。
如果把芯片做的特别大,比如从一端到另一端距离增加,那么信号从CPU的一个角落传到另一个角落,可能需要好几个时钟周期才能到达。这就会引入延迟问题——运算单元准备好了,数据还在路上,那只能干等着了。这就变成,面积变大带来的通信成本,远高于数量堆积的那点优势。
2.数据搬运比计算本身更难
芯片越大,还有一个隐形的问题,数据怎么高效地运来运去。现代CPU的运算单元其实算得很快,真正拖后腿的往往是从内存里把数据取过来。于是CPU里做了大量的缓存(Cache)离运算单元越近越快,越远越慢。芯片面积变大后,各个核心之间、核心和缓存之间的距离都被拉长了。访问远处缓存的延迟会显著增加,核心之间共享数据也变得更慢。工程师花了大量精力设计复杂的互联总线、缓存一致性协议,这些东西本身又要吃掉不少晶体管和功耗。
简单说就是,芯片小的时候,大家住一个小区,串门两分钟就到;芯片做大了,大家分散在各个城市,得坐高铁才能见面,沟通成本指数级上升。
QUESTION TWO
功耗与发热也是个大问题
如果说性能瓶颈还可以靠架构设计慢慢优化,那发热就是一道更硬的物理墙。
1.功耗密度已经接近极限
晶体管工作需要通电,通电就会发热。如果CPU面积翻倍,晶体管数量也会翻倍,总功耗就会暴涨。你可以把 CPU 想象成一块电热板。现在高端桌面CPU的功耗已经能达到200-300瓦,而它的核心面积也就两百多平方毫米。如果每平方厘米的功率有上百瓦,这个密度比电磁炉的加热面板还要高。温度一高,芯片就会自动降频保护自己,结果就是你花了大价钱堆了更多晶体管,结果因为太热跑不动,全都降频运行,性能没涨多少,电费和噪音先涨上去了。
2.散热成本跟着飙升
芯片发热多了,散热方案也得跟着升级,散热器的体积、价格、噪音都在涨。服务器领域更是夸张,机房的空调、供电、机柜密度,全都跟CPU功耗挂钩。如果CPU面积再翻几倍,功耗再翻几倍,普通机箱可能根本压不住,用户买到的就不是一颗CPU,而是一台附带 CPU的暖气机。

图:大型散热器(来自unsplash图库网)
QUESTION THREE
芯片面积和成本可不是线性关系
芯片的成本随面积增长是指数级的,可不是线性的,这几乎是最现实最残酷的一个因素。
1.晶圆是圆的,芯片是方的
制造CPU用的是圆形的硅晶圆,现在主流是12英寸(300mm直径)。一片晶圆上能切出多少颗芯片,取决于每颗芯片的面积。

图:晶圆
假设一颗芯片面积是100平方毫米,一片晶圆大概能切出好几百颗;如果面积翻一倍变成200平方毫米,数量可不是减半那么简单。因为晶圆是圆的,边缘浪费的部分会更多,实际产出下降得更快。
芯片是在晶圆上切出来的,而晶圆难免会有灰尘、杂质等缺陷。假设一片晶圆上随机分布着几个“坏点”,那芯片面积越大,切到坏点的概率就越高。
假如一片晶圆上有五个缺陷点,如果要切割成硬币大小的芯片,绝大部分芯片都可以避开缺陷点;但是如果切成两颗芯片,很大概率两颗都命中缺陷点,成为废片。所以随着芯片面积变大,良品率会断崖式下跌。即便侥幸做出来,因为面积很大,所以一片晶圆切出的芯片颗数会很少,最终单颗芯片的成本可能会更高,大致和面积的平方成正比,面积翻一倍,成本可能翻三四倍甚至更多。这不是“用面积换性能”,是纯烧钱。
2.封装和周边成本一起涨
芯片变大了,封装也要跟着做大,基板、引脚、散热顶盖全要升级,主板上的CPU插槽也要更大,PCB布线更复杂,供电相数更多。这些成本最终都会转嫁到消费者头上。
所以,服务器级别的大芯片(比如英特尔至强、AMD EPYC)一颗动辄几千上万美元,不是因为它性能是桌面CPU的十倍,很大程度上是因为面积大、良率低,制造成本本身就高。
QUESTION FOUR
不是所有人都需要“最强最大”
市场需求是分层的,这决定了 CPU 不可能一味追求大面积。
1.对移动端来说,面积和功耗是生命线
手机、平板、笔记本这些移动设备,对芯片面积和功耗的敏感程度远高于性能。手机里空间寸土寸金,芯片大一点,电池就要小一点,续航就短一截。而且手机没有风扇,全靠被动散热,功耗稍微高一点就会发烫降频。所以手机芯片都在拼命追求小和强,用更先进的工艺压缩面积,而不是反过来做大。
2.对桌面端来说,性价比才是王道
普通家用、办公、游戏,其实用不到那么多核心。对大多数人来说,8核、16核的CPU 已经绰绰有余。厂商如果做一颗超级大芯片,价格翻几倍,性能只提升百分之几十,绝大多数消费者不会买单。
3.对服务器和数据中心来说,要大,但也有极限
服务器领域确实需要更多核心、更大的芯片,因为云计算、数据库、科学计算这些场景天然吃并行性能。AMD的EPYC、英特尔的至强,还有亚马逊、谷歌自研的数据中心芯片,面积都比桌面CPU大得多。
但即便如此,它们也不是无限做大。现在的做法更多是多芯片封装,就是把好几颗小芯片封装在一起,从外面看像一颗大芯片,里面其实是几个小芯片通过高速总线互联。这样做的好处是小芯片良率高、成本低,坏一颗换一颗就行,不用整颗报废。这从侧面也印证了,单颗芯片做太大不划算,不如用多颗小的拼起来。
其实,我们已经很努力在“用面积换性能”了!
我们每天都在思考怎么“用面积换性能”。比如越来越大的三级缓存,就是拿面积换更低的访存延迟。再比如堆多核,一个芯片里塞进多个相同核心,这也是用面积换并行性能。还有工程师们偷偷加宽流水线、增大缓冲区、用更巨大的分支预测器——这些统统都是拿面积换一点点性能提升。
奈何,还是有很多问题卡在那里,每多堆一点点面积,都要经过反复地权衡。现在的CPU尺寸,其实只有拇指甲盖大小,这已经是精心计算后,站在性价比与性能交叉点上的最优解。
所以,
不是不想用面积换性能,而是我们只能在目前技术框架下疯狂试探。等新的封装技术、光学互联甚至量子计算取得突破那天,CPU的面积也会突破枷锁。在那之前,巴掌大的CPU,只能停留在理论中。
电科“答”人栏目
长期面向全系统科研工作者征稿
期待您对每一个理性提问客观、认真作答
与大家一起深度探讨、交流新知
传递一代代电科人自立自强的报国初心