据我所知,运行中的 CPU 实际上永远不会无所事事。即使没有正在运行的活动“作业”,也总会有一个“空闲进程”在运行,以保持 CPU 的“运转”。
所以,我的问题是:为什么这个空闲进程不会像其他进程一样产生太多热量?为什么所有 CPU/GPU 并非始终处于其最高运行温度(一旦启动)?
答案1
答案2
当前的 CPU/GPU 仍然基于互补金属氧化物半导体CMOS电路中很大一部分功耗是由数字信号值改变引起的(“动态”功耗)。
“空闲进程”尝试尽可能减少信号变化,即通过连续执行相同的指令 - 通常称为无操作(NOP)。因此,CPU/GPU 消耗更少的电量。
此外,如果仅执行 NOP 指令,CPU/GPU 会检测到它实际上“很少”执行操作。因此,CPU 时钟受到限制,对于 CPU/GPU 的部分,甚至可以关闭时钟信号(“时钟门控”)和/或降低这些部分的电源电压,甚至可以将其降至 0。
后一种措施还降低了 CMOS 电路的“静态”功耗(“泄漏”),该功耗会随着 CMOS 特征尺寸的减小和标称电源电压水平的降低而增加。