CPU空闲时消耗的电量是否更少?

Mat*_*ark 11 cpu

CPU空闲时消耗的电量是否更少?

现在,我知道我的 CPU 能够进行速度步进,并且可以在 800MHz 和 4.0GHz 之间进行。

知道,在800MHz的运行时,CPU将拉更少的电力,然后在全速运行时;

我的问题是,如果我要禁用速度步进,并让我的时钟一直以 4.0GHz 运行;

当 CPU 周期在应用程序中与空闲周期中花费时,功耗是否存在差异?

编辑

在我的系统 - runnig CPU-Z 上,我可以看到当以静态4.0GHz运行时,我的 CPU 的核心电压为 0.512V,如果我禁用速度步进,我从未看到降低;

我没有方便的仪表来实际测试这个,这就是我提出问题的原因。

这是一个可能更好的最终改写

以静态 4.0GHz 运行并以 100% 用户使用率运行的 CPU 会比空闲周期花费在系统空闲过程中的 CPU 消耗更多功率吗?

如果这对 SE 来说太技术性,请迁移到电气工程 SE

Hen*_*nes 13

CPU空闲时消耗的电量是否更少?

任何现代 CPU:是的。而那个时代的 980KHz 或类似的旧 6502 可能不会。它总是在相同的电压下或多或少地吸取相同的电流,如果无事可做,它就会进入忙等待。基本上它总是很忙,即使只是这样做: 1. “我有工作吗?” 2. '不,那么让我们回到第 1 点。`

但是,您提到的速度(800MHz 和 4.0GHz)指向现代设置,术语 SpeedStep 也是如此,我主要记得早期笔记本电脑中的英特尔 CPU。

在 CPU 上工作通常遵循以下模式:

  • 读取内核上的指令计数器,增加一。
  • 从那个地方读取指令。
  • 该指令被解码(如果需要)并采取行动。
  • 通常,回到起点。

这意味着 CPU 一直忙于做事。他们正在做的事情意味着晶体管的状态发生变化,这会消耗功率。更高的速度意味着更多的变化,因此使用更多的功率。

现在,如果我们可以在 无事可做时使用HLT 指令停止整个 CPU ,那么它不会消耗(或显着减少)功率。这意味着让更快的 CPU 在更短的时间内完成相同的操作并不会带来任何好处。

例如

  • 慢速 CPU 需要 20 秒才能完成一项工作,始终消耗 35 瓦。
  • 快速 CPU 在 10 秒内完成相同的工作,但在此期间需要 70 瓦。

在这两种情况下,使用的功率(仅限 CPU 智能)将是相同的。


但是有一个问题,更快的 CPU 通常需要更高的电压才能更快地改变它的状态。这意味着它可能会消耗相同的电流,但使用的功率会增加。

因此,当 CPU 频率(电压)有很长一段时间没有生产任务时,缩减 CPU 频率(电压)是有意义的。


回答这部分:

如果我禁用speedstepping,让我的时钟一直运行在4.0GHz;当 CPU 周期花费在应用程序和空闲周期中时,功耗是否存在差异?

是的,会的。如果时钟速度始终为 4.0GHz,则电压应始终足以以该速度运行。不降低电压,不省电。


至于SpeedStep:

首先,我听说这是在奔腾移动时代(P-2、P3、奔腾移动 CPU 的……)。那个时代的 Windows/Intel 平台附带了一种叫做 SpeedStep 的东西,允许操作系统降低速度或你的 CPU 并降低提供给我们 CPU 的电压。

现在更多的这种功能是在硬件中或在 ACPI 的帮助下,CPU 不仅速度降低,而且可以置于几种低功耗状态(C 状态)之一。其中一些只是停止指令的执行,一些关闭芯片的一部分。这部分要复杂得多,因为关闭整个内核、在此之前刷新其缓存以及关闭其内存接口也需要时间(和电源)。将其重新上线也是如此。现代调度程序在多个内核、内核速度、热量预算和电源状态方面进行了复杂的舞蹈。他们不这样做是因为制作更复杂的芯片很有趣。他们这样做是因为他们可以暂时提高速度(涡轮增压)并节省动力。

禁用所有这些并始终以相同的速度运行会抵消这些优势。只有在您要将芯片推到极限时(例如,超频时)才明智地这样做,因为它会导致更少的功率波动。

  • @MattClark Speedstepping 是另一回事。任何远程现代操作系统都会在除了等待下一个中断之外无所事事时调用暂停指令,并且 CPU 在此空闲等待中断模式下消耗的功率要少得多。电压没有变化,但电流消耗大大降低。 (7认同)