直观

登纳德缩放定律(Dennard Scaling)指的是随着晶体管尺寸的减少,其功率密度保持不变。这个定律的意思是说,如果晶体管尺寸减小了,又因为其功率密度是不变的,那么晶体管的能耗就减少了(能耗是尺寸与功率密度的乘积)。

说得更直白一些,就是只要把晶体管尺寸做小了,那么能耗就会减小。那些节约出来的功耗,可以用于提高频率。

原理

晶体管的功耗大体分为两类:一类是静态功耗,一类是动态功耗。静态功耗的计算比较好理解,就是常规的电压乘以电流。而晶体管在做 1 和 0 的相互转换时会根据转换频率的高低产生不同大小的功耗,我们把这个功耗叫做动态功耗,与电压的平方以及频率成正比。在 Dennard Scaling 提出的时候,芯片的频率还很低,功耗中是静态功耗占主要部分。

而晶体管尺寸的缩小使得其所消耗的电压以及电流会以差不多相同的比例缩小。也就是说,如果晶体管的尺寸减半,该晶体管的静态功耗将会降至四分之一。这就是 Dennard Scaling 的来源,正因为静态功率和面积都与尺寸的平方成正比,所以功率密度(功率与面积的比值)就保持不变了。

那么在节约下来的静态功耗,就可以通过提高频率的方式,来贴补到动态功耗上。这也是早些年芯片厂卷频率的原因,因为 Dennard Scaling 带来的免费功耗午餐,不用白不用。

失效

事情发展到 2005 年前后。在 Moore-s Law 的指导下当晶体管的大小越做越小时,量子隧穿效应(指像电子等微观粒子能够穿入或穿越位势垒的量子行为)开始慢慢介入,使得晶体管漏电现象开始出现。漏电现象的出现打破了原先登纳德所提出的定律,使得晶体管在往更小工艺制作时候的静态功耗不减反增,同时也带来了很大的热能转换,使得芯片的散热成为了急需解决的问题。如果散热做的不好,芯片的寿命将大大减少甚至变得不稳定。在这种情况下,提高芯片的时钟频率不再是免费的午餐。相反,在没有解决晶体管漏电的问题之前,单纯的增加芯片的时钟频率因为随之而来的散热问题而变得不再现实。

正是因为频率不再是有效的优化方向,导致芯片设计师开始聚焦于多核系统,使用多核的方式来提供性能。但是多核依然会导致功率增加(相当于在功率密度不变的钱体现,芯片体积变大了),现有的散热技术并不能保证所有的核同时工作(对于现代的多核系统而言),这些不工作的核,就会被称为“暗硅”。

加上越来越多核数的集成,内部连接所导致的的功耗也正在逐渐超过核内运算所导致的功耗。基于这个结果,MicrosoftIBM 共同预测了多核芯片研发在不久将来的终结。

那么之后的方向可能就是异构计算,或者合理利用热能功耗了。

总的来说,在 Dennard Scaling 没有失效的时候,人们不需要担心芯片的功耗问题,而当 Dennard Scaling 失效后,功耗问题成了芯片设计中的最重要因素。