在降低功耗的设计中,主要有以下3种主要设计思路。
到目前为止,升级工艺的效果较为显著。在相同的工作能力下,制程越高,功耗越低。这主要是因为制程越高,用于连接芯片器件的导线就越短,相应在导线上消耗的能量就越少,所以在完成同样的工作时整体消耗的能量就越少,即功耗更低。我们经常能够看到这样的新闻:某款芯片从5 nm升级到3 nm,性能同比提升a%,功耗同比降低b%,等等。这里提到的功耗降低更大程度上归功于更高水平的工艺以及更合理的电路设计。因此,每一代手机用的SoC芯片都迫切地争抢在最先进的工艺上进行生产加工。
物理学上的一个基础知识点是功率与电压和电流的乘积成正比,即 P = U × I 。在芯片上这个原理同样适用,降低芯片电压和运行频率是降低功耗最直观、有效的方法之一。我们所说的AVS\DVFS就是常用的有效机制。更多详细内容可以参考第13章、第15章。
在外使用手机的时候,我们经常会遇到这种情况:当看到电池快要没电而手头又没有充电器或充电宝的时候,我们会关闭尽可能多的应用模块,比如关闭音视频播放、关闭GPS、关闭拍照,甚至直接进入省电模式,只保留基本的通话功能,其根本目的在于减少耗电从而延长系统运行时间。这也是多电源域的概念,方便对不同电源进行开关控制。
电压域控制的概念与电源域控制的概念不同,电压域控制是对同一个模块来讲,如果对性能要求高,则调整为工作在较高的电压下,如果对性能要求低,则调整为工作在较低的电压下,可以参考AVS\DVFS的实现。
芯片设计中也引入了多电源域这种理念:一枚SoC中可能包含很多功能模块,如音视频处理、传感器、GPS定位等,但是我们不可能同时使用所有的功能,各个模块工作时也不可能要求相同的电压,因此为了降低电源消耗,在不使用该功能时将其关闭,即使工作也提供不同的电压,如图1-1所示。这样一来,在系统没有睡眠时芯片的功耗最低仅有一个CPU内核处于开启状态,从而可以大幅度减少其他模块在等待时的电量消耗,进而延长电池的使用时间。
图1-1 多电源域设计