在20世纪90年代和21世纪初,每次买新电脑,各项数字都会明显变大。处理速度从几百兆赫兹,短短几年就跃升到几吉赫兹,但电脑并没有因此变得更烫,耗电量也没有成倍增加。然而从21世纪00年代中期开始,速度数字几乎停滞不前,厂商转而开始炫耀芯片有几个核心。这一变化背后的规律,正是“登纳德缩放定律(Dennard Scaling)”。
简单来说,登纳德缩放定律是指“在缩小晶体管的同时按相同比例降低电压,芯片同等面积所消耗的功率就能保持不变”的半导体微缩规律。如果说讲晶体管数量翻倍的摩尔定律回答的是“有多少”,那么登纳德缩放定律解释的是:为什么数量增加了,芯片却不会烧毁,还能变得更快。
本文将依次介绍登纳德缩放定律的提出背景、微缩带来“免费”性能的原理、这一定律失效的原因,以及此后计算机提升性能的方式。
越小越快的时代及其终结
源自IBM研究院的1974年论文

这一定律以美国IBM研究院的电气工程师罗伯特·登纳德(Robert H. Dennard)命名。他还因发明用一个晶体管和一个电容器存储1比特的DRAM单元而闻名。如今电脑和智能手机的主存储器大多以这种结构为基础。
- 出发点(Original Paper):1974年,登纳德与同事在一本半导体电路学术期刊上发表论文,探讨如何设计尺寸极小的MOSFET晶体管。
- 核心条件(Constant Field Scaling):他们提出按相同比例缩小尺寸和电压,使晶体管内部的电场强度保持不变。
- 名称由来(Dennard Scaling):这一微缩规则后来以论文第一作者的名字命名,称为登纳德缩放定律,也称MOSFET缩放定律。
如果说摩尔定律是对市场和生产趋势的预测性观察,那么登纳德缩放定律更接近一套依据物理定律、计算缩小后会发生哪些变化的设计准则。
越缩小,越能“白得”性能

登纳德缩放定律的计算比想象的简单。假设每一代都把晶体管的长度和宽度缩小到原来的约0.7倍。
(1)面积减半
长和宽各变为0.7倍,面积就约为0.5倍。也就是说,同样大小的芯片可以放进两倍的晶体管。
(2)开关更快
尺寸变小后,晶体管开关一次所需的时间也缩短到约0.7倍。因此同样的设计可以把运行速度提高约1.4倍。
(3)功率密度不变
晶体管消耗的功率大致与电容 × 电压的平方 × 运行速度成正比。电容和电压都降到0.7倍,因此即使提高速度,单个晶体管的功率也只有原来的一半左右。面积也减半了,所以同等面积消耗的功率保持不变。
结果,芯片制造商每把工艺缩小一代,就能获得两倍的晶体管和更快的速度,而功耗和发热几乎不变。软件开发者也无需做任何改动,就能在新电脑上享受更快的程序。
21世纪00年代中期撞上的功耗墙

大约从21世纪00年代中期起,这一规律不再成立。尺寸仍可继续缩小,但电压却很难随之降低。
关断时也会泄漏的电流
晶体管变得极小之后,即使处于关断状态也会有少量电流渗漏,这种漏电流(Leakage Current)越来越大。若进一步降低晶体管导通的阈值电压,漏电就会急剧增加,因此电源电压也很难降到一定水平以下。电压降不下来,做得越小,同等面积产生的热量反而越多。
速度竞赛停止的那一刻
散热能力达到极限后,业界将其称为“功耗墙(Power Wall)”。英特尔在2004年取消了追求更高速度的下一代处理器计划,此后台式机处理器的基础速度大致停留在4吉赫兹左右。
后登纳德时代如何提升性能

无法随意提高速度之后,计算机业界改变了提升性能的方式本身。
(1)放入多个核心
在一块芯片上放置多个被称为核心的处理单元、分担工作的多核处理器变得普及。不过,如果工作无法细分,增加核心的效果有限,因此程序也必须并行编写,性能才能提升。
(2)使用适合任务的专用电路
像图形处理器(GPU)和人工智能计算芯片这样,只高效完成特定任务的专用电路越来越多。因为要用同样的功率完成更多计算,牺牲一点通用性更为有利。
(3)不全部开启,只开需要的部分
2011年,研究人员指出,受功耗限制,芯片上的所有晶体管无法同时全速运行,必须让一部分保持关闭,并把这些闲置区域称为暗硅(Dark Silicon)。因此,如今的芯片会关闭不用部分的电源,只在需要时短暂提高速度,以此节省功耗。
登纳德缩放定律同时揭示了“只要做得更小一切就会变好”的时代为何成为可能,又为何走向终结。如今智能手机和数据中心把能效视为最重要的指标,也正是这一定律留下的课题。
在“免费”性能终结之处思考如何分配功率,这正是后登纳德时代计算的第一步。
