电子说
本文主要是关于TDP的相关介绍,并着重对TDP及CPU之间的关系进行了详尽的阐述。
TDP的英文全称是“Thermal Design Power”,中文直译是“散热设计功耗”。主要是提供给计算机系统厂商,散热片/风扇厂商,以及机箱厂商等等进行系统设计时使用的。一般TDP主要应用于CPU,CPU TDP值对应系列CPU的最终版本在满负荷(CPU 利用率为100%的理论上)可能会达到的最高散热热量,散热器必须保证在处理器TDP最大的时候,处理器的温度仍然在设计范围之内。
TDP是CPU电流热效应以及CPU工作时产生的其他热量,TDP功耗通常作为电脑(台式)主板设计、笔记本电脑散热系统设计、大型电脑散热设计等散热/降耗设计的重要参考指标,TDP越大,表明CPU在工作时会产生的热量越大,对于散热系统来说,就需要将TDP作为散热能力设计的最低指标/基本指标。就是,起码要能将TDP数值表示的热量散出。例如,一个笔记型电脑的CPU散热系统可能被设计为20W TDP,这代表了它可以消散20W的热量(可能是通过主动式散热手段如使用风扇,或是被动式散热手段如热管散热),从而保证CPU自身温度不超出晶片的最大结温。TDP一旦确定,就确保了电脑在不超出热维护的情况下有能力运行程序,而不需要安装一个“强悍”,同时多花费添置没有什么额外效果的散热系统。一般TDP远大于芯片能够散发的最大能量,CPU的TDP并不是CPU的真正功耗,CPU运行时消耗的能量基本都转化成了热能(电磁辐射等形式的能量很少),由于厂商必定留有余裕,因此,TDP值一定比CPU满负荷运行时的发热量大一点。功耗(功率)是CPU的重要物理参数,根据电路的基本原理,功率(P)=电流(I)×电压(U)。所以,CPU的功耗(功率)等于流经处理器核心的电流值与该处理器上的核心电压值的乘积。而TDP是指CPU电流热效应以及其他形式产生的热能,他们均以热的形式释放。TDP通常不是芯片能够散发的最大能量(有些意外情况如能源病毒,对CPU进行超频以达到损坏硬件的目的),CPU的TDP并不是CPU的真正功耗,因此,TDP值不能完全反映CPU的实际发热量(CPU的TDP显然小于CPU功耗),但TDP却是芯片在运行真实应用程序时所能散发的最大能量。CPU的功耗很大程度上是对主板提出的要求,要求主板能够提供相应的电压和电流;而TDP是对散热系统提出要求,要求散热系统能够把CPU发出的热量散掉,也就是说,TDP是要求CPU的散热系统必须能够驱散的最大总热量。
其实,处理器参数中标注的TDP功耗并不是CPU的真正功耗。功耗(功率)是CPU的重要物理参数,根据电路的基本原理,功率(P)=电流(A)×电压(V)。所以,CPU的功耗(功率)等于流经处理器核心的电流值与该处理器上的核心电压值的乘积。
而TDP是指CPU电流热效应以及其他形式产生的热能,他们均以热的形式释放。因此,实际上CPU参数中标注的TDP值要小于CPU实际功耗。比如,i5 8500标注的TDP为65W,但并不代表这款处理器的最大功耗是65W,实际上会更高,这也是为什么我们在选电源额定功率的时候,总要比粗略计算出来的主机功率要大的原因。
通俗的说,TDP功耗是CPU最大的发热量值,不是CPU的实际功耗,它可以大致反映出CPU的发热情况。CPU的功耗很大程度上是对主板提出的要求,要求主板能够提供相应的电压和电流;而TDP是对散热系统提出要求,要求散热系统能够把CPU发出的热量散掉,也就是说TDP功耗是要求CPU的散热系统必须能够驱散的最大总热量。
事实上,制约CPU发展的一个重要问题就是散热问题,温度可以说是CPU的杀手。发热量低的CPU设计有望达到更高的工作频率,并且在整套计算机系统的设计、电池使用时间乃至环保方面都是大有裨益。目前的台式机CPU,TDP功耗基本都在100W以下,比较理想的数值是低于50W,只不过大多数CPU还达不到这个水平,不过今后的10nm制程CPU,有望可以实现。
很早以前,厂商会对每一款CPU的TDP都会进行单一标注,也就是说不同型号之间,这个数值几乎都是不一样的,并且都遵循一个很基本的原则,主频越高,TDP越大(功耗越高)。
而近15年来,英特尔和AMD都是“偷懒”采用统一TDP设定制度,而不再单独为每一个型号制定独特的数值,那么究竟该如何理解TDP的作用呢?
比如,Intel八代酷睿i3-8100/i5-8400/i5-8500/i7-8700的TDP都是65W,他们的实际功耗真的都是65W左右?显然不可能。
现阶段最通俗的解释就是:同一系列处理器,TDP设定越大,性能表现越强。TDP是一个可以官方制定的参数,并不是指实际功耗,而至于怎么设定的,英特尔以及OEM制造商会根据他们对处理器的期望表现进行调校。
TDP也可以看做是功耗墙,当主板检测到当前处理器功耗达到设定值时,就会进行降频等行为以保障系统整体的稳定性。
英特尔对TDP设定的三大标准:
① 往低设定:降功耗、降发热、降性能
第一类TDP设定规则最常见于笔记本。笔记本处理器的TDP设定一般都很低,比如四核心的i5-8250U仅为15W。TDP往低设定的优缺点很明显,缺点先说,那就是容易导致降频,致使性能表现不佳。优点就是可以很好地控制功耗和发热。
一个很显著的案例:TDP设定在25W的i5-8250U的性能要明显好于设定为15W的状况。在15W的情况下,8250U非常容易发生因为触碰功耗墙而降频的问题,当我们把功耗墙界限放宽到25W时,CPU表现就好多了。
② 常规设定:控能耗、控发热、稳性能
普通家用台式机处理器的TDP设定基本就遵循着一点,但是家用台式机的TDP目前来看,已经几乎不存在实际意义,因为现在的台式机主板都是破解TDP的!也就是说,台式机主板为了发挥出CPU的最大性能,默认就解锁了功耗墙。
有些人以为I5-8500(3.00~4.10GHz)的TDP是65W,所以它的实际功耗在65W左右,不过用软件检测一下就可以知道,满载全核心稳定3.90GHz的i5-8500,实际功耗大约是80W(这是核芯显卡+CPU的总功耗)。如果台式机主板不破解TDP的话,那么i5-8500肯定没法稳定全核心3.90GHz,估计3.3~3.5就差不多了。
像i5 8600K和i7 8700K这种本身就是解锁TDP和倍频的CPU,也就是支持超频的处理器,95W放在这里完全就是看着好看的,根本不能代表什么,实际功耗要明显大于这个数值。
③ 往高设定:保性能、保稳定
很多至强E5的TDP设定在130W甚至150W或更高,这是因为服务器、工作站处理器经常需要高负载运行(而不代表它们本身功耗发热很大,多核低频的功耗发热一般都不如少核高频来的猛烈),所以TDP定的高一些就不容易出现性能下降。在日常使用中,这些处理器的实际使用功耗甚至都要低于TDP设定为95W的普通高主频桌面级处理器。这也就是说,在不破解TDP的主板上,将处理器TDP设定在95W肯定会比65W在高负载运行下表现来得稳定,因为95W的功耗墙变高了,CPU性能发挥的空间就变大了。
有人问,为什么i7-7700有核芯显卡,主频比E3系列高一样,TDP设定在65W,而同一架构 E3-1230V6不仅没有核芯显卡,而且主频更低,TDP却要设定在72W?这就是因为至强E3系列主要是为工作站、服务器所设计,高负载的数据运算、高强度长时间的渲染工作都会对处理器的稳定性产生极大的依赖,理论上来说,TDP设定为72W的E3-1230V6在高负载过程中的表现会比I7-7700更加稳定。而我们日常家用环境下,不带核芯显卡的E3实际功耗会比i7略低(不过因为家用主板破解TDP,所以这一理论也就失效了)。
到了2018年的今天,依然有很多人对TDP功耗有误解,不只是把TDP功耗当作处理器标称功耗,还有个关键的问题——处理器的实际功耗要比TDP功耗低还是高?能够回答对这个问题的人还真不多。
对于TDP功耗,到了2018年的今天,依然有很多人对TDP功耗有误解,不只是把TDP功耗当作处理器标称功耗,还有个关键的问题——处理器的实际功耗要比TDP功耗低还是高?能够回答对这个问题的人还真不多。
对于TDP功耗,常看超能网文章的读者很多都知道TDP功耗不等于处理器功耗,对于有些不太明白TDP意义的读者,我们热心的读者都开始给他们科普TDP的含义了,比如下面这位同学:
拔刀斋同学说的不错,TDP不是最大功耗,它是热设计功耗,250W TDP的处理器峰值功耗肯定远超TDP功耗,他评论的这篇文章中说的就是32核Threadripper 2990WX处理器超频之后峰值功耗超过1000W,这个数值要比TDP功耗高太多了。
今天这篇超能课堂中我们再深入谈谈TDP功耗与处理器功耗的问题,看完这篇文章之后大家对TDP功耗就不会再有什么误解了。
处理器的TDP功耗是什么?它怎么来的?
先来说第一个问题,TDP功耗是什么——TDP是Thermal Design Power热设计功耗,还有一个说法是Thermal Design Point,后者几乎没什么存在感,所以TDP绝大多数还是跟功耗联系在一起,但这个功耗指标主要是给散热器用的,以Core i7-8700K处理器为例,它的TDP是95W,指的就是散热器需要提供不低于95W的散热能力。
TDP作为热设计功耗,是有明确的测试条件的,以英特尔为例,TDP是在基础配置下、最大Tcase温度(Tcase温度是处理器IHS允许的最高温度,比核心温度要低一些)、VDD电压下测量的,在八代酷睿处理器中具体的TDP测试条件如下:
还是以Core i7-8700K处理器为例,它的TDP测试条件是3.6到3.7GHz频率、核显1.15到1.2GHz,但是这里的TDP功耗没有说Tcase温度,这个指标对TDP影响很大,而且Tcase的温度并不固定,继续翻英特尔的官方文档,八代酷睿处理器在LPM低功耗模式下的TTV TDP(Thermal Test Vehicle TDP)功耗如下:
这里的TTV Tcase温度最高就是65°C,也就是说低功耗模式下的Core i7-8700K是在不超过65°C情况下用基础频率实现95W TDP的。
还有一点要特别说明,TDP功耗测试不仅是跑基础频率,还不会涉及处理器的 AVX 浮点测试,而浮点单元现在是CPU功耗的大头,跑不同的应用功耗差距极大就是这个因素导致的。
综合来看,我们对TDP可以有如下认知:
·TDP是热设计功耗,不等于处理器功耗,是处理器损耗的热功耗,英特尔特别强调它不是处理器的最大功耗
·TDP功耗是算出来的,不同的处理器有不同的算法,跑的主要是基础配置下非AVX应用。
·Tcase温度对TDP影响很大,因为TDP本来就是跟散热相关的。
·TDP测试的持续时间很短,跟平时跑压力测试并不一样。
·TDP功耗的高低不能判断处理器好坏,有时候更好的TDP意味着更高的性能。
TDP功耗能不能代表处理器功耗?真实功耗比它低还是高?
虽然我们多次强调TDP功耗不代表处理器实际功耗,但很多人还是用它来指代处理器的功耗,这种说法其实也不能完全说错,导致这个问题的根源在于现在并没有公认的指标来衡量处理器功耗,而TDP功耗某种程度上也确实代表了处理器的功耗极限,因为TDP差不多就是处理器在最坏情况下的功耗,日常使用中对处理器的负载还真不一定比TDP测试中的负载高,所以多数情况下处理器的实际功耗比TDP功耗要低一些。
上海交通大学的一篇论文里把TDP功耗说的很全面了
当然,这个情况成立的前提是用户不涉及TDP测试没考虑到的情况,而现代的高性能处理器非常复杂,支持的浮点指令集不同,处理器也不是简单的CPU了,还有GPU核心,而且有Turbo Boost后加速频率也不同,比如Core i7-8700K加速频率可达4.7GHz,Core i7-8086K加速频率可达5GHz,而TDP测试中则是使用基础频率,这中间可就差了至少1GHz,这对处理器的发热、真实功耗影响就大多了。
英特尔的Core i7-2600K是4核8线程,频率3.4到3.8GHz,TDP功耗也是95W,而Core i7-8700K是6核12线程,频率3.6到4.7GHz,TDP功耗还是95W,但是大家都知道这两款处理器不论功耗还是发热都有很大不同,95W散热器理论上不仅能压得住Core i7-2600K,也能压制住Core i7-8700K,但大家都知道Core i7-8700K的真正发热要高得多。
处理器的功耗都用在哪里了?
大家关注处理器TDP功耗,实际上还是关注处理器的实际功耗,谁都希望处理器功耗越低越好,英特尔、AMD也是这样想的,因为功耗几乎成了限制处理器进一步发展的关键,尤其是在半导体制程工艺逐渐逼近终点的情况下,如何降低功耗是考验未来高性能计算发展的关键问题之一。
那么现代的处理器都是哪些单元消耗功耗的呢?前几年英特尔在一篇讲述高性能计算的演讲中提到了处理器功耗的分布问题,这要分为两部分来看:
核心层面的处理器功耗分布
如果不涉及浮点运算,那么处理器中Cache缓存部分消耗了45%的功耗,OOO乱序执行/预测单元消耗21%的功耗,检测网站是否被劫持,再次就是TLB单元了。但是运算要是涉及到了FP浮点单元,情况就不一样了,FP浮点单元的功耗能占到75%,剩下的部分才是缓存、OOO以及TLB等等。
芯片层面的功耗分布
如果是看整个芯片的功耗分布,那么FP浮点单元依然是大头,占比达到了45%,Uncore非核心部分的功耗占比达到了40%,整数单元、OOO、预读、TLB之类的单元就更微不足道了。
在当前的处理器中,计算性能最主要的来源都是FP浮点单元,英特尔这多年来推出的AVX/AVX2/AVX-512都是加强了浮点指令集,性能越来越强大,但是如上所示,FP浮点单元已经成为处理器功耗中的大头,而TDP功耗测试中英特尔明确了测试都是非AVX负载的,也就是浮点单元参与不多,不然功耗就真的完全不一样了。
Xeon Scalable系列的非AVX加速频率
Xeon Scalable系列的AVX-512加速频率
以支持AVX-512的Skylake-SP架构为例,28核Xeon Platium 8180在非AVX下基础频率2.5GHz,单核加速频率3.8GHz,全核加速频率也有3.2GHz,但是跑AVX-512指令集基础频率1.7GHz,单核加速频率降至3.5GHz,多核直接降到了2.3GHz,这就是同样205W TDP下的区别,涉及AVX指令与否对频率的影响非常大。
处理器功耗影响因素:频率、电压
处理器也是CMOS电路,在这方面有个通用的公式来计算处理器功耗,简单来CMOS电路的功耗可以分为动态功耗及静态功耗,历史故事有哪些,静态功耗(Static Power)主要是漏电流引起的,这部分功耗是无用功耗,会变成废热,但现有技术又无法杜绝漏电流,而且它所占的功耗比例有越来越高的趋势。
至于动态功耗(Dynamic Power),在不同的技术文档中它也是由不同功耗组成的,其中有充电/放电导致的开关功耗,可以用1/2*CV2F这个公式来计算,该公式也有不同的变种描述,决定转换功耗高低的主要是运行电压和频率,这也是减少电路功耗的重点。
对某个具体的处理器来说,它的实际功耗高低主要就是动态功耗了,这方面的例子我们还是以Core i7-8700K的功耗为例,Overclock.ru网站之前在Core i7-8700K首发评测中做了详细的测试:
Core i7-8700K对比其他处理器的功耗
在这个测试中,他们对比了不同频率、电压下的处理器功耗,可以看出来同样的电压,频率提升之后功耗也在增加,而同样的频率下,提升电压之后功耗会大幅增加,4.0GHz从1.1V提高到1.3V,功耗从180W增加到了251W,毕竟动态功耗跟电压平方成正比。
总结:
处理器的TDP功耗本质上是给散热器厂商参考的,但它也确实顶着“Power”功耗这个名字,也是货真价实的功耗,是处理器在某些限定条件下的功耗,因此用它来衡量处理器的功耗还是有些参考意义的。
如果不超频不跑FP高负载,处理器的真实功耗多数情况下还是不会高于TDP功耗的,但TDP功耗在复杂情况下就不能跟处理器真实功耗挂钩了,这个要涉及到处理器的制程工艺、频率、电压甚至运行的测试,真实功耗远超TDP功耗的情况并不少见。
对普通消费者来说,使用TDP功耗对比处理器功耗也是不得已为之,因为现在业界就缺少一个通用的指标来衡量处理器功耗,显卡那边近年来开始使用TBP典型主板功耗及GCP显卡功耗这两个指标,但CPU上AMD、英特尔还没有共识,这个问题暂时无解。
关于TDP的相关介绍就到这了,如有不足之处欢迎指正。
全部0条评论
快来发表一下你的评论吧 !