4. 功耗管理技术概览:DVFS、时钟门控、电源门控、近阈值计算
功耗管理,说白了就是跟芯片的「热」和「电」较劲。我做了这么多年芯片,见过太多因为功耗没控好而翻车的案例。有的芯片跑起来烫得能煎鸡蛋,有的电池撑不过半天。今天咱们就把这四板斧——DVFS、时钟门控、电源门控、近阈值计算——掰开揉碎了讲清楚。
4.1 DVFS:动态电压频率调整
DVFS 的全称是 Dynamic Voltage and Frequency Scaling。名字挺长,道理其实很简单:活儿多的时候跑快点,活儿少的时候跑慢点。
你想想看,芯片的功耗跟电压的平方成正比,跟频率也成正比。所以降低电压和频率,省电效果立竿见影。我有个项目是做智能音箱的唤醒芯片,平时待机功耗要求低于 1mW。我们怎么做?平时让芯片跑在 0.6V、10MHz,一旦检测到语音活动,瞬间拉升到 1.0V、200MHz。这一招,直接让待机功耗降了 90%。
其中 C 是负载电容,V 是电压,f 是频率。电压的影响是平方级的,所以降电压永远是第一选择。
但这里有个坑——频率不能随便降。频率降了,任务完不成,实时性就崩了。所以 DVFS 的关键在于:预测负载。我习惯的做法是,用过去 10ms 的 CPU 利用率来预测下一个 10ms 的负载。如果预测错了怎么办?那就得留点余量,别卡得太死。
4.2 时钟门控:最省钱的省电技术
时钟门控,英文叫 Clock Gating。这玩意儿成本极低,效果却出奇的好。它的原理就一句话:不用的时候,把时钟关掉。
为什么时钟这么耗电?因为时钟信号每时每刻都在翻转,即使寄存器里的数据没变,时钟也会驱动内部的晶体管充放电。你想想看,一个芯片里可能有几百万个寄存器,每个时钟周期都在白白耗电,这得浪费多少能量?
我做过一个视频编解码芯片,里面有个模块叫「运动估计」,平时大部分时间都在闲着。我们给这个模块加了个时钟门控,检测到没有新的帧进来时,直接把时钟掐掉。结果呢?整个芯片的功耗降了 35%。而且这改动只花了 3 天时间,性价比极高。
嗯,这里要注意:时钟门控不是万能的。它只能省掉动态功耗,对静态功耗(漏电流)没任何作用。而且如果门控粒度太细,反而会增加面积和布线复杂度。我个人建议,以模块为单位做门控,别搞到寄存器级别,那样得不偿失。
4.3 电源门控:断水断电式省电
如果说时钟门控是「关灯」,那电源门控就是「拉电闸」。它的做法更狠——直接把不用的模块的电源切断。
为什么要这么极端?因为漏电流。随着工艺越来越先进,晶体管的沟道越来越短,漏电流越来越大。即使时钟停了,电流照样在漏。我见过 7nm 的芯片,静态功耗能占到总功耗的 40%。这时候,时钟门控已经没用了,必须上电源门控。
电源门控的核心元件是 电源开关,通常用高阈值的 PMOS 管来做。关断时,开关断开,模块彻底断电;开启时,开关导通,模块重新上电。
我有个血的教训:曾经在一个 AI 加速器上,我把每个卷积核都做了独立的电源门控,想着精细控制能省更多电。结果呢?频繁的开关导致唤醒时间占了总运行时间的 30%,功耗反而更高了。后来我改成按层做门控,每层计算完再断电,效果才出来。
4.4 近阈值计算:极限省电的黑科技
近阈值计算,英文叫 Near-Threshold Computing,简称 NTC。这玩意儿是功耗管理的终极武器,但也是双刃剑。
传统芯片的供电电压在 0.8V~1.2V 左右,而晶体管的阈值电压大概在 0.3V~0.5V。近阈值计算把电压降到 0.5V~0.6V,刚好在阈值附近。这时候,功耗能降一个数量级,但代价是性能也降一个数量级。
为什么会这样?因为电压降低后,晶体管的驱动电流变小,门延迟急剧增加。我实测过,电压从 1.0V 降到 0.5V,频率从 1GHz 掉到 50MHz,整整掉了 20 倍。所以,近阈值计算只适合那些对性能要求不高,但对功耗极度敏感的场景。
我参与过一个智能手环的项目,主芯片用的是 28nm 工艺。我们尝试把核心电压降到 0.55V,频率降到 20MHz,专门跑心率监测算法。结果呢?功耗从 5mW 降到了 0.3mW,电池续航从 3 天延长到了 30 天。当然,心率监测的刷新率也从每秒 100 次降到了每秒 5 次,但够用了。
4.5 四种技术的对比与选择
说了这么多,到底该用哪种?我整理了个表格,方便你对比:
| 技术 | 省电效果 | 实现成本 | 性能影响 | 适用场景 |
|---|---|---|---|---|
| DVFS | 中(30%~50%) | 中(需要稳压器) | 小(可动态调整) | CPU、GPU、AI加速器 |
| 时钟门控 | 小(10%~30%) | 低(只需门控单元) | 无 | 所有数字模块 |
| 电源门控 | 大(50%~90%) | 高(需要电源开关、隔离单元) | 大(唤醒时间长) | 长期闲置模块 |
| 近阈值计算 | 极大(90%+) | 高(需要工艺支持) | 极大(频率降10~20倍) | 超低功耗传感器 |
我个人习惯的做法是:先上时钟门控,再上 DVFS,最后考虑电源门控。近阈值计算嘛,除非你做的真的是那种纽扣电池撑一年的设备,否则别轻易碰。
4.6 知识体系总览
下面这张图,把四种技术的关系和适用场景画清楚了:
好了,这四种技术就讲完了。记住一句话:没有最好的技术,只有最合适的组合。下次做芯片功耗设计时,先想想你的场景是什么,再决定用哪把刀。
公众号:蓝海资料掘金营,微信deep3321