And*_*rey 36 cpu temperature stress-test
我一直在使用 CPUz 和 OCCT 之间进行测试。我注意到,如果我将 CPUz 设置为多线程对 CPU 施加压力,它永远不会超过 70c。另一方面,在 CPU 上运行 OCCT 以加载它会立即超过 75c,然后有时甚至在 85c 时停止测试。
这里发生了什么?我一直明白,虽然视频卡有很多内核需要单独施加压力,但 CPU 很简单。基本的 for 循环可以在 CPU 上施加 100% 的负载。在多个线程上运行的一堆 for 循环可以加载每个核心。OCCT 怎么让我的 CPU 升温这么多。是什么让它做到了 CPUz 不能做到的?
一些背景信息:CPU 是 Intel Core i7-4790k。Turbo boost 已启用,但我认为在任一进程运行时它只会以 5% 的速度挂起
Mok*_*bai 46
CPU 使用率是衡量 CPU 有多少可用资源的指标,但是可以处理的指令类型很多,并且它们都有不同的处理和内存要求。
内存密集型任务可能会导致 CPU 在从内存中获取数据时停顿,从而在 CPU 仍在“使用”的情况下降低有效指令吞吐量。
此外,CPU 的许多不同部分可能会以不同的方式饱和。
来自 Wikichips Sandy Bridge uArch:
您可以看到我们有一个初始指令解码器前端,对于复杂多样的指令流,它可能难以保持管道的其余部分充满。
如果您只有整数加法,那么您将能够使用 3 个核心执行单元,因为 CPU 有 3 个 INT ALU 单元。如果您只有浮点乘法,那么您只能使用单个 FPU MUL(乘法)单元。
CPU 也作为管道运行,当一个单元在执行单元中使用时,您可以在下一个周期安排一个操作. 这意味着多样化的指令流可以更好地利用资源,因为可以在同一个 EU 中调度未使用的单元,但可以使用不同的指令类型。不同的指令也将有不同的执行时间,并有更大或更小的一组相关电路来执行。一个简单的加法可能需要一两个时钟周期,而浮点指令可能需要更长的时间并涉及更多的电路。花费更长的时间可能意味着它使用更多的功率,更大的电路区域也是如此。或者,指令花费的时间更长可能意味着前端调度电路在等待可用的执行单元时暂停并短暂地使用较少的功率,而如果包含 CPU 的其他部分,则较小的更快的指令使用更多的整体电路。
因此,为了充分利用 CPU,您需要多样化的指令流,并且由于执行单元的排列和数量及其能力不同,可以锻炼一个 CPU 的内容可能无法完全锻炼另一个 CPU。
执行单元可以通过现代电源门控方法实现“低功耗”,因此不会对设备的热量输出做出贡献,或者贡献更少。
缓存也会增加功耗。使用高速缓存意味着可以获取指令和数据,因此,它的执行速度比内存中数据集对于高速缓存来说太大的例程要快。
因此,不同的程序或指令流可能会导致不同的峰值功率使用以及不同的温度。
跨代处理器的架构差异,甚至在同一代处理器中,缓存大小、处理器选项和不同的指令可用性可能会产生影响。
har*_*ymc 12
我知道您想知道为什么运行多线程紧缩测试不会像单线程测试那样加热 CPU。
简单的解释是 Turbo boost 是罪魁祸首,因为当 CPU 在多个内核上同样努力地工作时它被禁用。它仅在一个内核被大量使用(并且只有一个内核)时启用。
当 Turbo boost 处于活动状态时,它会将更多功率分流到增强的内核,从而降低其他内核的功率,从而减慢它们的速度。
升压的核心然后以更高的速度运行,并且比非升压的核心发热更多。这是由传感器捕获的,然后传感器会将一个核心的温度报告为整个 CPU 的温度。
CPU“负载”(或使用情况)是一个活动监视器,用于指示“有用”活动与“空闲”时间花费的 CPU 时间的百分比。操作系统确定什么是“有用”活动,什么是“空闲”时间。
在 CPU 负载为 0% 时,操作系统不会在该时间间隔内调度任何用户进程。
在 50% 的 CPU 负载下,操作系统为用户进程安排了大约一半的时间间隔,而该时间间隔的另一半花在空闲循环中。即使只有一个用户进程,它也可能无法消耗 100% 的 CPU 负载,因为该进程不是 CPU 密集型的,并且必须在例如等待 I/O 操作完成时重新调度。
在 100% CPU 负载下,操作系统已将所有时间间隔安排给用户进程。
请注意,CPU 实际上一直很忙(上电时),即一直在执行指令。如果没有(用户)进程准备好执行,则操作系统调度程序必须执行其空闲循环。
CPU 温度是 CPU 电路消耗电能的结果。随着更多晶体管开关发生,需要和消耗更多功率,并且 CPU 温度升高。
此功耗不是由 CPU“负载”指示的,它只是一个基于时间的活动监视器。
进程可以通过简单地在内存中复制或移动数据(例如加载和存储指令)来保持 CPU“忙碌”(时间方面)(这不是空闲以上的显着额外功率负载)。
而另一个计算密集型进程可以执行计算(例如乘法和除法指令),这些计算利用 CPU 中的许多其他电路,例如 ALU(算术/逻辑单元)和 FPU(浮点单元)。
IOW 是过程执行的指令组合(即指令的类型)决定了消耗的电功率和随后的温度水平。
操作系统无法测量此功耗,只能使用 CPU 负载和温度传感器报告基于时间的活动测量。
归档时间: |
|
查看次数: |
7465 次 |
最近记录: |