CPU如何空闲(或运行低于100%)?

Dav*_*son 9 hardware cpu operating-system process interrupt

我首先了解了计算机如何在原始单个存储程序机器方面工作.

现在我正在学习多任务操作系统,日程安排,上下文切换等等.我认为除了一件事之外,我对这一切都有相当好的把握.我一直认为CPU是一种不间断充电的东西.它总是知道接下来要去哪里(程序计数器),并且无限制地进入该指令等.

显然情况并非如此,因为我的台式计算机CPU并非始终以100%运行.那么CPU如何自行关闭或自行关闭,以及操作系统在这方面扮演什么角色?我猜测CPU上有一个输入允许它掉电......如果没有什么可以安排,操作系统可以设置它,但下一个逻辑问题是它如何重新启动?我猜两件事中的任何一件:

  • 它永远不会完全关闭,只是以非常低的频率运行,等待调度程序再次忙碌
  • 它完全关闭但被中断唤醒

我搜索了所有关于这方面的信息并且相当空手而归.任何见解都会非常感激.

Ste*_*n C 4

答案是,这取决于硬件、操作系统以及操作系统的配置方式。

它可能涉及您提出的策略中的一个或两个。

基于 x86 架构的机器的另一种可能性是,x86 有一条HLT指令使内核停止,直到它收到外部中断。因此,“空闲”任务可以简单地在紧密循环中执行 HLT。