功耗基础:动态功耗与静态功耗、电压与频率的关系
各位同学,今天我们来聊聊功耗。做边缘AI芯片,功耗就是命门。你算法再牛,推理再快,一上电就发烫,电池撑不过半小时,那这芯片就是废的。我这些年经手的项目,有一半的返工都跟功耗估算不准有关。所以这一节,咱们把功耗的底裤扒干净。
功耗的两大阵营:动态 vs 静态
芯片功耗说白了就两笔账:干活时消耗的,和闲着时漏掉的。
1. 动态功耗:干活时的开销
动态功耗,就是晶体管翻转时消耗的能量。每次从0变1,或者从1变0,都要给电容充放电。这个能量是不可避免的。
公式很简单:P_dynamic = C × V² × f
这里C是负载电容,V是电压,f是频率。注意V是平方关系——电压一高,功耗飞涨。我在一个AI加速器项目里,为了压那0.1V的电压,整个团队调了两个月时钟树,就是因为电压每降一点,功耗下降是二次方的收益。
2. 静态功耗:躺平也在漏
静态功耗,也叫漏电功耗。晶体管关断时,理论上不该有电流。但现实是,亚阈值漏电、栅极漏电、衬底漏电……各种漏。尤其是先进工艺(7nm以下),漏电占比越来越高。
我做过一个对比:28nm工艺下,静态功耗只占10%左右;到了7nm,静态功耗能飙到40%以上。你想想看,芯片啥都不干,光插着电,一小半的电就漏掉了。
静态功耗公式:P_static = I_leak × V
I_leak是漏电流,跟温度强相关。温度每升高10°C,漏电差不多翻一倍。这就是为什么芯片一热,功耗就失控——正反馈,很要命。
电压与频率的“夫妻关系”
电压和频率,就像一对夫妻——互相依赖,但也会吵架。
频率越高,需要的电压就越高。因为晶体管翻转需要时间,电压低了,充放电速度跟不上,时序就崩了。这个关系叫频率-电压缩放。
我习惯用一个经验值:每提升100MHz,电压大约需要增加30-50mV。当然具体看工艺,但大致是这个量级。
| 频率 (MHz) | 典型电压 (V) | 动态功耗 (归一化) |
|---|---|---|
| 200 | 0.7 | 1.0 |
| 400 | 0.8 | 2.1 |
| 600 | 0.9 | 3.7 |
| 800 | 1.0 | 5.7 |
看到没?频率翻4倍,功耗涨了近6倍。这就是为什么动态调频调压(DVFS)这么重要——你不需要一直跑800MHz,大部分时间400MHz就够了,功耗直接砍半。
热设计功耗(TDP):散热器的“工作量”
TDP,全称Thermal Design Power。很多人以为TDP就是芯片实际功耗,其实不是。TDP是散热系统需要能带走的热量上限。
说白了,你设计散热器时,得按TDP来。如果芯片实际功耗是5W,但峰值能到8W,那TDP就得标8W。否则散热跟不上,芯片降频,性能崩了。
我见过最坑的一次:某款AI芯片标称TDP 3W,实际跑YOLOv5时峰值功耗冲到4.5W。客户拿回去一跑,3分钟就过热保护。最后我们紧急出了固件,限制频率才稳住。嗯,从那以后,我定TDP都留20%余量。
TDP = (动态功耗峰值 + 静态功耗峰值) × 1.2
这个1.2是安全系数。别省,省了后面哭。
知识体系总览
下面这张图,把功耗的三大块串起来了。你对照着看,思路会更清晰。
实战中的功耗平衡策略
搞清楚了功耗的来龙去脉,咱们说说怎么在边缘AI芯片里做平衡。我总结了三条铁律:
- 能降频就别升压——频率线性影响功耗,电压是平方影响。优先降频。
- 能关断就别待机——静态功耗在先进工艺下很可怕。不用时直接电源门控,彻底断电。
- 温度是隐形杀手——温度一高,漏电飙升,功耗失控。散热设计别省钱。
好了,这一节就到这里。下一节咱们聊具体的功耗优化技术——时钟门控、电源门控、多电压域。都是实战干货。