最近在工作中,有时会遇到解释CPU Turbo频率,以及温度和功耗控制的问题。我发现有的同行朋友在这块的认识存在一些误区,倒不是说技术原理上有多难,可能是因为对Intel这几年CPU的性能/热设计了解的还不够吧。
正好我在散热领域还有些粗浅的经验,测试工作中也有一定的积累。所以就整理了2个图表,顺便讲解一下分享出来,也欢迎读者朋友们点评指正。
短时Turbo散热设计策略
首先我评估了4个技术指标维度:
- Turbo(超过TDP)时间;
- 峰值功耗/ 性能;
- 温度控制;
- 风扇静音
下表中,我拟定了A/B/C三款对比机型,可能是来源于真实的某个或某一类产品,但又不希望对号入座。同时我还假设大家配置相同的CPU(如:Core i7-10700或11700)以及散热器硬件。
注:图表中的评分1-3,数字越大代表在该项目上表现越好。
首先,A机型属于典型商用机的静音散热策略,同时遵循Intel PL1、PL2功耗设计。比如65W TDP(热设计功耗,通常等于PL1)的i7-11700,短时Turbo自动超频的功耗可达200W以上,接近PL2规范。
关于Power Limit1和2的定义可参考下表:
在短时Turbo阶段,A机型的CPU散热器风扇转速不会立即提到很高。如果是持续的全核压测,会达到或接近100℃,触发CPU自身的Throttling频率节流机制。在这里我想解释3点:
Tips 1、100℃这个规格来自哪里?
上图引用自:https://ark.intel.com/content/www/us/en/ark/products/212279/intel-core-i711700-processor-16m-cache-up-to-4-90-ghz.html
在去年写的《Xeon Scalable CPU跑到90℃了:为什么风扇转速还不提高?》中,我介绍过T junction这个温度值。指的是来自CPU内部传感器的核心温度读数,比金属顶盖的表面温度要高。
Tips 2、达到或者接近100℃、触发Throttling需要担心吗?
我们用一些软件看到的也是这个温度,还有些朋友觉得8-90℃已经很高了,其实早在十几年前的笔记本CPU就支持100℃最高温度。只是当年功耗/频率控制技术还没有今天这么成熟,所以大家习惯认为Throttling就是降频保护。当然今天Throttling仍然是为了避免过热的保护机制,只不过已经成为常规散热控制动作中的一部分了。
上图点开后可放大,引用自:https://www.intel.com/content/www/us/en/support/articles/000005597/processors.html
Tips 3、全核Turbo频率跑到多少合理?
如下表,Corei7-11700的基础频率为2.5GHz,最大Turbo Boost 3.0频率为4.9GHz(这个是指单核)。Intel官方似乎没有像Xeon服务器CPU那样,公布一个明确的全核Turbo频率。当然从实测情况来看,如果散热上能一直控制住温度,在PL2功耗时限(Intel默认28/56秒)内可以跑到较高的全核频率。
扩展阅读:《推荐一款Linux下监控CPU温度、频率、功耗的工具:s-tui》
而一旦运行到65W的PL1平稳状态,全核频率就不可能再那么高了,一般来说i7-10700不低于2.5GHz就是正常的。如果您在压测时跑AVX-512浮点计算,或者同时跑集成显卡的测试,有些情况下低于基础频率一点也是正常的。这种“功耗墙”的情况,在15W TDP的笔记本CPU上出现的更多。
相比之下,125WTDP的i7-11700K基础频率3.6GHz就高出不少。如果是长时间全核满载计算或者渲染类的应用,常规情况下(没有人工超频)肯定是11700K比11700要好很多。
让我们回来看A机型的后续动作:当Throttling发生之后,CPU风扇会晚一点做适当加速。随着CPU逐渐降到65W PL1功耗,风扇转速又会降低到比较静音,因为只需要维持合理温度即可——如果此时我们看到CPU内核80℃左右也属于正常。
简单总结,在短时Turbo阶段,A机型的特点就是静音设计好、峰值功耗/性能基本满额设计,而Turbo(特别是功耗偏高的Turbo)时间相对不长,温度控制合格(在该项目上1分定义为合格)。
这里我还想加一个Tips4:CPU风扇能否做到瞬间(如秒级)响应CPU的温度变化?
表面上看这样做能有效抑制高温,不过从噪声控制的效果来看,短时Turbo长度和是否维持在较高的功耗对商用PC、工作站来说不是太重要。首先单线程应用一个CPU核心Turbo到最高时,功耗一般还在TDP范围内;如果每次出现几秒的全核满载,CPU风扇就“呼”地一下高速运转,通常也没这个必要。
而服务器等数据中心设备则考虑不同,Xeon Scalable中高端型号本身TDP就比桌面CPU功耗高,在较高密度的1U/2U机箱内,风道前后还有其它配件。这种情况下,为了满足跑到TDP而温度又不超标的基础条件,风冷散热就不太可能像桌面PC那样静音了。(本文暂不讨论液冷)
扩展阅读:《PowerEdge15G服务器的风冷散热“新花样”》
《冷板式液冷标准化:PowerEdge 15G服务器散热杂谈》
接下来我们看看B机型,它在Turbo(超过TDP)时间、峰值功耗/ 性能、温度控制,以及风扇静音上面都是2分,看上去比较均衡,其实这里面有点门道(或者说取舍)。
首先,B机型对CPU的PL2做了一些限制,比如65W TDP的i7-11700在初始全核满载时只跑到120-150W(可以在主板的EC里设定),这样温度上升地慢一点。等到CPU风扇转速起来之后,如果允许的噪音水平稍高一点,在短时Turbo期间有可能不会触发CPU自身的Throttling频率控制。
这种设定的结果是,峰值性能B没有A高,但B维持全核高主频的时间会比A长一些。从表面上看B的CPU温度控制更低,但实际上A的设计也不存在散热问题。B机型的风扇噪声可能要比A大一些。
而C机型则完全是性能优先的设计,为了兼顾Turbo(超过TDP)时间和峰值功耗/ 性能,在使用同等(性能/成本)CPU散热器的情况下,只能让风扇转速长时间偏高运行。这样的代价就是静音效果相对较差,而且在短时Turbo的高功耗下容易触发Throttling,特别是环境温度较高的时候。但本文中讨论的Throttling只是让CPU降到当前散热条件下合理的频率/功耗水平,并不会导致性能异常,毕竟PL1才是常态。因此我们认为C机型的温度控制也是合格的。
稳态PL1散热设计策略
在讨论下一部分内容时,我重新对比了A’、B’、C’三款机型,因为它们的行为表现与上文中的A、B、C机型并无绝对绑定关系。
注:图表中的评分1-3,数字越大代表在该项目上表现越好。
还是先看A’机型,当i7-11700 CPU的功耗跑到Intel官方稳态PL1——即65W TDP时,此时风扇静音表现优秀,并且温度控制适中。关于“成本/ 故障率”这个因素,稍后我们在讨论C’机型时一起谈。
B’机型也是跑到稳态65W,区别在于风扇转速保持的相对高一些,与A’机型比较静音效果稍差,这样CPU温度会较低(比如60-70℃)。
至于C’机型,从某种意义上来说调高了CPU的PL1功耗限制,比如让65W TDP的i7-11700长期运行在80-95W,相当于人为“超频“了。为了保持温度仍在合理范围,同等级别的CPU风扇只能工作在更高转速下,因此静音表现相对最差。
还剩下一个“成本/ 故障率”的对比维度。这个成本可能涉及主板供电(散热)设计,或者后期服务的相关支出。让CPU长期运行在高于PL1(即TDP)功耗的水平,Intel没有保证故障率不会上升。当然,如果按照三年质保的商用PC来看,CPU本身的设计寿命通常不短于5-10年(说人话就是很少坏)。C’机型的故障率具体会有多大提高?我也没有准确的数字。
用户人工干预设置选项
前面讨论的都是主机BIOS/EC里的默认设定,下面再介绍2种手动降温、超频的方法:
1、BIOS里调高风扇转速:确实能降温,甚至使CPU短时Turbo的主频/性能跑得更高,不过代价就是噪音。没有特定原因,不建议修改这个。
2、操作系统下,还有几种可以调节PL1、PL2功耗点,以及PL2时长的软件。人们可以用来给有些机型超频(不保证支持所有主机),甚至调节CPU的电压。但这类操作有可能会影响系统稳定性,操作不当甚至造成硬件损坏,所以我就不推荐软件名称了。相信有些发烧友朋友在这方面已经很熟悉了:)
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)
尊重知识,转载时请保留全文。感谢您的阅读和支持!
,