空闲 CPU 和 CPU 省电模式定义

空闲 CPU 和 CPU 省电模式定义

我有一个关于 CPU 的演示文稿,其中有一些内容我想澄清,这些内容在许多研究论文中都有定义,但我并不完全确定。

  • CPU 怎么会空闲呢?我的意思是,只要你运行操作系统,难道不意味着总有一些指令被发送去执行吗?或者 CPU 空闲周期是怎么发生的?任务调度程序难道不应该总是为 CPU 安排一项工作,比如低优先级的工作,或者在无事可做时运行的程序吗?

  • 从物理上来说,让 CPU 进入省电模式意味着什么?它只是降低运行频率吗?

  • CPU 周期如何在多核架构上工作?所有核心是否有一个全局时钟,每个核心中是否有一个全局同步的内部时钟?在多核 CPU 的情况下,我假设我们可以让周期真正独立运行,并在需要时相互传递消息?

答案1

CPU 确实有不同的指令和电源模式用于电源管理:C 状态和 P 状态(以及许多其他状态),以及像 HLT 这样的指令。

http://ilinuxkernel.com/?p=1990

P-States: 性能状态

T-States:节流状态

S-States:睡眠状态

G-States:全球国家

C-States:CPU状态

HLT 将使 CPU 进入完全不起作用的模式,直到下一个中​​断(例如计时器)到来。如果是 CPU 间中断,则另一个 CPU 会尝试唤醒它。

然后是P状态和C状态:

在此处输入图片描述

电源管理的规则是启动 CPU(cpu0)永不关闭,只有其他非启动核心才会关闭:

在此处输入图片描述

相关内容