工程师们不努力的话,芯片的功耗早就赶上太阳表面了
编者按:本文来自微信公众号“魔铁的世界”(ID:jiangpeiyu0916),作者 魔铁,36氪经授权发布。
1967年11月9日,土星5号运载火箭(Saturn V)成功进行首飞,它是人类历史上使用过的自重最大的运载火箭,总推力达3408吨,可以将1艘标准排水量的051型导弹驱逐舰送入太空。
实际上,衡量土星5号有多生猛,除了推力这个指标外,还可以看发动机喷口的功耗密度。一般来说,火箭发动机喷口的功耗密度接近每平方厘米1000瓦。至于万人敬仰的太阳,其表面的功耗密度超过了1000瓦/平方厘米。
在人类科技世界中,还有一样小小的东西,在功耗密度上可以和上面的庞然大物掰掰手腕,它就是芯片。
英特尔第一款商用CPU 4004,是古董级产品,晶体管数量只有2250个,2000年出品的奔腾4处理器,工作频率增加到2.8万倍,晶体管数量增加到2.4万倍。如果晶体管大小不变,工作电压不变,4004版的奔腾4处理器的功耗将增加到天文数字般的6.72亿倍,功耗密度超过20000瓦/平方厘米,是太阳表面的近20倍。
(intel 4004)
这是理论测算的结果,现实中不可能发生,但芯片的功耗密度之大,上升之快绝非危言耸听,而是迫切的现实问题。
在2001年的国际固态电子电路会议上,专家们指出,处理器的功耗正以指数级的速度增长,如果这个趋势得不到遏制,到2005年时高速微处理器的功耗密度将赶上核反应堆,2010年与火箭发动机喷口不相上下,到2015年甚至可以与太阳表面的功耗密度并驾齐驱。
看起来核物理学家多年求而不得的人造太阳,有可能在芯片大厂手里实现了,这样想的话显然有违科学家的初衷,因为科学们其实是想向芯片行业提个醒,再不想办法解决芯片的功耗问题,南墙在等着你们的脑袋撞上来!
这堵“南墙”在芯片设计领域有个专有名称叫“功耗墙(Power Wall)”,是每一家芯片设计公司和芯片制造厂的必修课:要设计出高性能的芯片,就必须先解决飙涨的功耗问题。
现有的芯片大都是由CMOS(互补金属氧化物)逻辑电路构成,其功耗可以用一个公式粗略表达:
P∝CNV²f
公式中,C为负载电容,N为CPU中的晶体管数量,V为电源电压,f为工作频率。
不要被公式吓到,它概括后就是一句话:降低晶体管尺寸(负载电容减小)、减少晶体管数量、降低电压和工作频率,只要满足其中任何一项,CPU的功耗就会降低。
由于晶体管数量直接关系到CPU的性能和功能(苹果A12 X和A12芯片,麒麟990 5G和麒麟990E的内部架构完全相同,性能差距主要体现在晶体管数量多少),摩尔定律说白了就是堆晶体管的数量,因此每一代芯片的晶体管数量只增不减,这也意味着降功耗就别打晶体管数量的主意了(产品档次区分除外)。
芯片工作频率也和性能相关,DIY时代,电脑超频发烧友最喜欢压榨CPU潜能,压榨的其实就是工作频率,所以也很少有芯片设计商和它过不去。
现在掰着手指头都能算清,工程师们要降低芯片的功耗,有两条路可走。第一条路是减小晶体管尺寸,这是ASML和台积电们的职责,制造分辨率更高的光刻机,把工艺制程从微米级一点点演进到纳米级,就是为了把晶体管做得小一点,降低负载电容,从而降低功耗。
通过海量烧钱,工程师已经把晶体管的尺寸做得极其微小,目前量产的A14芯片和麒麟9000芯片,晶体管的栅长为5nm,仅为已知最小的动物病毒猪圆环病毒直径的1/3左右,而在1995年,晶体管的栅长还只能做到350nm。也就是说,今天的芯片仅仅因为尺寸缩小,导致功耗仅有25年前的1/20左右。
第二条路是让芯片这匹“马儿”吃得少一点,即降低芯片的电源电压。这条路由于没有昂贵的光刻机和海量烧钱的生产线做广告博取眼球,很少有人知道。
降低电压有个最大的好处就是主要烧智力,而且相比做小晶体管尺寸的节能效果,更为生猛。根据上面的公式可以知道,电源电压和芯片能耗呈平方关系,也就是说电压每降低到原来的1/2,能量消耗就减少到原来的1/4,这种指数级的关系,搞好了是相当惊人的。
2011年9月16日,芯片大户英特尔公布了一款邮票大小的CPU,开发代号Claremont,它的特别之处就是“吃”的特别少,低负载时耗电量仅为10毫瓦,要知道现在手机SoC芯片中一颗CPU大核满载时,功耗就有1瓦,是Claremont的100倍。英特尔没有说明Claremont的电压是多少,但应该比手机CPU内核低得多,估计在1/10左右。
正因为Claremont胃口超小,一块小小的太阳能电池就可以喂饱,十分好养,如果用到手机或笔记本电脑上,三天一充根本不算事。
不过英特尔也说了,Claremont这款处理器可能无法实现商用,但这项研究将被整合到今后的处理器和其他电路中。
为何英特尔不能量产Claremont处理器?一个重要的原因是,通过降低CPU电压来减少功耗的难度不小。
芯片中的CMOS晶体管在进行开关动作时,有一个“阈值电压”,简单说就是划分“开(对应1的状态)”与“关(对应0的状态)”界限的特定值,上面讲的降低CPU电压来节省能耗的方法,其实就是让电源电压降低到逼近“阈值电压”。打个形象的比方,“阈值电压”相当于马儿的“饱腹感”,马儿只有吃饱了,才会跑得欢,为了省饲料,过去吃十分饱,现在降到八分饱、七分饱,甚至六分饱,不断逼近“饱腹感”这条线。
不过,这个类比并不精确,因为CMOS晶体管的功耗由动态功耗和静态功耗组成,动态功耗是晶体管进行开关动作时产生的功耗,占整个功耗的80%,静态功耗是晶体管处于截止状态时,因为漏电产生的功耗,占整个功耗的20%。
静态功耗有个特点,一般随电源电压升高而降低,这就带来新的麻烦。工程师想办法降低电源电压,芯片的动态功耗降低了,但静态功耗又像跷跷板一样逐渐升高,当电源电压低于阈值电压时,动态功耗缓慢下降,静态功耗却呈指数级上升,使芯片的降耗变成赔本的买卖。
更为重要的是,随着电源电压的降低,晶体管的切换速度会越来越慢,当电源电压低于阈值电压时,晶体管的开关状态越来越不稳定,开始混乱,芯片性能暴降,最差能降低到原来的1/500。
想让马儿跑,又要让马儿少吃草,最后是马儿不愿意跑,所谓“世间不如意者,十之八九”。
怎么办?工程师把电源电压尽力降到阈值电压附近,使动态功耗的下降超过静态功耗的上升,同时晶体管的开关速度下降在可承受范围,简单说只要降低的功耗幅度大大超过性能降低的幅度,这笔买卖就划算了。
目光锐利的网友会问,电源电压降到阈值电压的那一刻,不就是芯片工程师黔驴技穷的时候吗?确实如此,到时随着晶体管数量的上升,芯片的能耗又将飙涨,去追赶火箭发动机喷口,赶超太阳表面。
不过工程师的办法还是有的,那就是采用新材料或新的晶体管结构。2007年,晶体管源极绝缘层的二氧化硅被high-k金属匣极替代,这种新材料的使用,使漏电量减少5倍,功耗也大幅降低。
目前,被认为最有可能打破现有功耗墙的赛道是碳基芯片,这条赛道上的选手有欧、美、中等国家和地区,只是现在还未到决出胜负的时候,不过胜负一旦决出,降维打击就会发生。
总之,当你刷手机时,你刷的其实是一个神奇的存在,因为没有芯片工程师不懈努力的话,你刷的将不是手机,而是“火箭发动机喷口”。