第1章:热设计功耗(TDP)与真实功耗

做嵌入式开发这么多年,我见过太多工程师被TDP这个参数带偏了。

有一次,一个同事拿着Intel的datasheet来找我,说:「你看,这颗i7的TDP才15W,我做个无风扇设计应该没问题吧?」我一看,他选的是U系列处理器,TDP确实标15W。但问题是,他压根没搞清楚TDP到底代表什么。

结果呢?样机跑起来,CPU温度直接飙到95°C,系统开始降频。整个项目延期了两周。

嗯,今天我们就来彻底讲清楚——TDP到底是什么,它和真实功耗之间到底差了多少。

1.1 TDP不是功耗上限

很多人看到「热设计功耗」这几个字,第一反应就是:这颗芯片最大功耗就是TDP值。错!大错特错。

TDP的全称是Thermal Design Power,中文叫热设计功耗。它指的是:散热系统需要能带走的热量。说白了,就是告诉你——你得准备一个能散掉这么多热量的散热器。

举个例子。Intel Core i7-1165G7,TDP标称28W。但它的实际峰值功耗能跑到多少?我实测过,在PL2(Power Limit 2)状态下,瞬间功耗能冲到64W。你想想看,28W和64W,差了整整一倍多。

核心结论:TDP是散热设计参考值,不是功耗上限值。

1.2 真实功耗的构成

真实功耗,我习惯把它拆成三部分来看:

  • 静态功耗:晶体管漏电流造成的,工艺越先进,漏电越严重。7nm工艺的静态功耗比14nm高不少。
  • 动态功耗:芯片干活时消耗的,和频率、电压、负载率直接相关。公式是P = C × V² × f,这个大家应该都熟。
  • 短时峰值功耗:瞬间爆发,比如程序从休眠状态突然唤醒,所有核心全速运行。这个值往往最吓人。

我在项目中遇到过最极端的情况:一颗TDP 15W的处理器,在启动瞬间电流冲到12A,按1.2V核心电压算,那就是14.4W。但持续不到1毫秒就降下来了。你说散热器按15W设计够不够?够。但电源得按这个峰值来选。

1.3 Intel的功耗管理机制

Intel处理器内部有一套复杂的功耗管理机制。我挑几个关键点说:

参数 含义 典型值(以i7-1165G7为例)
TDP 热设计功耗,散热参考 28W
PL1 持续功耗限制,通常等于TDP 28W
PL2 短时爆发功耗限制,持续约几十秒 64W
Tau PL2的持续时间窗口 28秒

为什么会这样设计?说白了,是为了兼顾性能和散热。你想想看,大部分时间CPU不会满载运行。偶尔需要爆发一下,比如打开一个大型软件,这时候允许它短时间跑在PL2状态,体验会好很多。但散热系统不需要按PL2来设计,因为热量有热容,短时间的热冲击可以被散热器和机身吸收。

我的建议:做散热设计时,按TDP来选散热器。但做电源设计时,一定要考虑PL2的峰值需求。我曾经吃过这个亏,电源选小了,PL2一触发就掉电压,系统直接重启。

1.4 如何获取真实功耗数据

Datasheet上写的TDP只是一个参考值。真实功耗到底多少?我一般用三种方法:

  1. 看Intel的官方工具:Intel Power Gadget,可以实时读取CPU的功耗、频率、温度。这个工具我几乎天天用。
  2. 自己实测:在电源输入端串一个精密采样电阻,用示波器抓电流波形。这个方法最准,但需要硬件支持。
  3. 估算公式:对于没有实测条件的场景,可以用P = TDP × 负载系数来估算。负载系数一般取0.6~1.2,看你的应用场景。

举个例子,我做的一个工业平板项目,CPU是Intel Atom x6211E,TDP标6W。实际跑Linux系统,空闲时功耗只有2.3W,跑满负载时到5.8W。但有一次跑压力测试,瞬间冲到8.2W。嗯,这就是真实功耗和TDP的差距。

避坑指南:千万不要只看TDP就决定散热方案。我曾经有一个项目,按TDP选了散热器,结果在高温环境下(45°C环境温度),CPU温度直接破百。后来才发现,TDP是在25°C环境温度下定义的,高温环境下散热效率下降,实际需要的散热能力要打折扣。

1.5 不同场景下的功耗差异

同一个处理器,在不同场景下功耗天差地别。我列几个典型场景:

  • 待机/休眠:功耗最低,通常只有几百毫瓦到几瓦。Intel的C-states深度睡眠可以做到0.5W以下。
  • 轻度负载:比如浏览网页、看视频,功耗一般在TDP的30%~50%。
  • 中度负载:比如编译代码、图像处理,功耗在TDP的60%~80%。
  • 重度负载:比如视频编码、3D渲染,功耗接近或超过TDP。
  • 峰值爆发:PL2状态,功耗可达TDP的2~3倍。

我个人习惯在做功耗预算时,按TDP的1.5倍来设计电源,按TDP来设计散热。这样既不会浪费成本,又能保证系统稳定。

1.6 小结

最后总结一下今天的内容:

  • TDP是散热设计参考值,不是功耗上限。别被它骗了。
  • 真实功耗包括静态、动态和峰值三部分,峰值往往最容易被忽略。
  • Intel的PL1/PL2机制决定了处理器可以短时间爆发,散热和电源要分开设计。
  • 获取真实功耗的最好方法是实测,其次是看官方工具的数据。

下一章,我们会深入讲Intel处理器的功耗管理技术,包括C-states、P-states这些概念。到时候我会分享一个我在无人机项目里遇到的功耗优化案例,很有意思。

记住一句话:TDP是起点,不是终点。做嵌入式系统设计,永远要对功耗保持敬畏。