与空闲状态相比,为什么在执行较重的计算时CPU会变得更热?

问题描述 投票:0回答:1

如果我必须对操作系统进行逆向工程,我天真地猜测它会有一个通常看起来像这样的循环(使用单核,单线程CPU:]

while(not shut_down):
    doSomeEnvironmentManagment()
    letProcessesAccessTheCPU()
    checkIfShutDown()
    ...

意味着,我的CPU 总是在计算机打开时会执行某些操作。它要么运行进程的代码,要么运行它的代码。即使处于“空闲”状态,电力也始终流经CPU,以执行程序或检查其下一步工作。关键是,CPU总是进行计算(例如:更新指令指针等)

现在,尽管有这样的假设,但我的CPU在空闲时将保持稳定的较低温度,而在程序更频繁地使用它时将具有较高的温度。

所以我的问题是-为什么会发生这种情况?根据不同的原因,我的CPU中总是有电运行,所以为什么闲置时它不会变热?

assembly operating-system cpu hardware temperature
1个回答
0
投票

我认为您误解了电流如何流过CPU。简单来说您的CPU闲置时消耗的功率不如用户负载时消耗的功率大。为了节省电量,您的CPU消耗的电压要少得多,并且它以较低的频率运行以节省电量。 CPU不仅会根据工作负载运行速度较慢以节省功率,而且还会以最大频率运行,而消耗最大功率会导致CPU真正过热,这从长远来看不利于CPU的健康。简而言之,CPU的运行速度可以满足其在减轻工作量以节省功率并防止CPU损坏方面的需求。现在,大多数现代CPU都具有某种Turbo Boost技术,可以使它们在运行不需要使用繁重的多线程的任务时以更高的频率运行。如果您想进一步研究该主题,请下载诸如HwInfo之类的有益健康的硬件监视软件,并运行诸如压力测试基准之类的不同任务,以查看CPU使用率,温度和功耗之间的关系。希望这对您有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.