在Prime95中,尽管所有选项的CPU均为100%,为什么小FFT会产生最多的热量?


9

我刚刚构建了新的Skylake PC,并且我将看到使用Prime95作为压力测试仪的一些超频。

在正常使用情况下,它工作正常,但是在Prime95下,我注意到某些负载下CPU的节流。

如果所有4个核心(8个线程)都阻塞为100%,为什么Prime95中的Small FFT设置会比“ Blend”选项的温度更高?

Answers:


13

向量化的代码(尤其是AVX)自然会增加CPU的热量输出,因为处理器必须在更高的电压下运行才能执行这些指令。与混合模式相比,小型FFT需要更少的内存,因此处理器花费更多的时间处理数据,而等待数据的时间更少。

  • x86-64体系结构提供了广泛的矢量处理功能,尤其是在最新的处理器上。向量处理允许应用程序一次对多个数据项执行数学运算,并且许多新的计算密集型应用程序使用矢量处理来增加处理吞吐量。

  • 矢量化代码,尤其是Prime95使用的AVX指令,要求处理器以比正常更高的电压运行。这导致功耗和热量输出大于正常工作负载下的功耗和热量输出。因此,英特尔警告称,AVX负载过重会导致处理器节流或无法维持完整的Turbo Boost时钟速率(脚注1):

    英特尔®高级矢量扩展(英特尔®AVX)旨在为某些整数和浮点运算实现更高的吞吐量。由于处理器功率特性的变化,利用AVX指令可能会导致a)某些部件的工作频率低于额定频率,并且b)某些采用Intel®Turbo Boost Technology 2.0的部件无法达到任何或最大Turbo频率。

    英特尔在本白皮书中对此进行了更详细的说明。它特别指出:

    英特尔AVX旨在为某些整数和浮点运算实现更高的吞吐量。使用这些指令可能会导致处理器的工作频率低于标记的TDP频率。出现这些频率降低的原因是,大功率Intel AVX指令需要额外的电压和电流。

    • 我对为什么对AVX指令必须使用升压V 核的猜测是,AVX执行单元比处理器的其他部分更复杂,导致相应的流水线阶段需要更长的时间才能完成(有关流水线的更多技术信息,请参阅此答案)和处理器设计的其他方面)。如果特定的流水线级很慢,则整个处理器的最大时钟速率将受到限制,因为流水线中的每个级必须在每个时钟周期内完成。

    • 出于同样的原因,超频时更高的电压会增加最大可达到的频率(晶体管可以在更高的电压下更快地切换),增加电压有助于确保更长的流水线级能够按时完成。

  • 小型FFT模式仅使用可容纳在CPU缓存中的较小数据项,这不同于混合模式可同时处理可能不适用于缓存的较小值和较大值。由于相对于简单地处理数据而言,访问内存的速度较慢,因此处理器将花费更少的时间在Blend模式下实际处理数据,从而减少热量输出。小型FFT不会导致访问尽可能多的存储器,从而导致CPU需要执行更多实际工作,从而增加了功耗和热量输出。


感谢@DragonLord,这使不同的Prime95模式非常清晰。请放大您的答案,以解释为什么两种情况下资源监视器的读数均为100%?例如,如果它在等待数据的时间比在小FFT模式下更多,那么为什么在Blend模式下读取的数据不到100%?
ChrisA 2015年

1
据我了解,CPU忙于等待内存的消息仍然报告给操作系统。
bwDraco
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.