初中物理告诉我们功率等于电压与电流的乘积。
如果把功率比作一个水管,那么电流就相当于水流过的速度,而电压就相当于水管的截面积。
如果水管很窄,那么就不太容易有大量水流经过;同样如果水流很慢,那么水量也会收到影响。
CPU的电源管理就是就是动态控制这个水流的速度,和水管的粗细(高科技吧),在不影响你洗手效果的情况下,保证水量最小。
CPU的功率主要可以分为两部分,一部分是逻辑功率,也就是指令执行的功率,另一部分是IO功率,也就是连接CPU内部和外部的IO部分消耗的功率。
逻辑功率又可以分为两部分,动态功率和漏功率。动态功率可以理解为晶体管翻转所需要的功率,而漏功率则可以理解为保证晶体管状态的漏功率。其中动态功率与频率的关系如下:上面公式中的AR表示了应用指数,代表了不同的应用负载或者指令集所用到的晶体管数量的不同。
动态功率占据CPU功率的主要部分,特别是CPU处于高利用率的情况之下。
通过功率的公式可以看到,功率是电压,频率和温度的函数。
提高性能的重要手段就是提高CPU主频,然而提高主频需要提高电压。
这一点是由于晶体管的特性决定,一般来说电压和频率的关系如下图,即电压为频率的二次方关系,也就是频率越高,所需电压越大,而频率较低时,晶体管反转只需要较小的电压。
晶体管的规模自然会带来功率的相应增加。
在一定芯片规模的情况下,CPU的性能微观化到晶体管级别,可以理解为门级电路开的开关速度,与我们常说的CPU主频相关。
而CPU的动态功率与主频正相关,因此关系就变成了,更高的主频,带来更大的功率,而更大的功率需要更强的散热,和更大的机架及数据中心功率。
芯片级别——TDP:
CPU的主板设计当中,一个很重要的指标提供给硬件工程师和散热工程师,就是TDP。TDP不仅决定了主板的电源设计,PSU选型,也决定了机箱的散热设计和仿真的边界条件。
那么什么叫做TDP?
TDP,即thermal design power,这个数值表示了CPU可以长期运行的功率,一般为SSE指令应用中的最大负载情况下的功率。平台设计必须要保证该功率下的散热,以避免出现过热降频等问题。
可以看到TDP是CPU长期运行功率的一个天花板,因此在散热条件允许的情况下,CPU是完全有能力运行在更高的频率之上的。这就是Intel CPU turbo特性的存在条件:既然长期功率的限制条件在于散热,那么由于热产生是一个长期累积的过程,短时间内CPU就被允许工作在更高的频率下,这就叫做turbo boost,CPU的“涡轮增压”。
这里要多说一点关于TDP定义的部分:
TDP的目的就是告诉平台设计者业务可能长期运行的应用负载的最恶劣情况。然而实际应用中不同的客户所关心的应用负载不尽相同,而不同的应用负载在相同的工作频率下所消耗的功耗相差很大。这就使得TDP在这个层面上的意义和定义对于不同客户是有差异的。
高阅读量文章