C-States模式
为了在CPU空闲的时候降低功耗,CPU可以被命令进入low-power模式。每个CPU都有几种power模式,这些模式被统称为C-states或者C-modes。
lower-power模式最早在486DX4处理器上被引入,到现在,更多power mode被引入和增强,来进一步降低CPU的功耗。
这些模式最基本的思想是通过CPU内部的idle unit切断CPU的clock信号和供电。越多的CPU单元被停止(通过切断时钟),降低电压或者完全关闭,降低的功耗就越多,但同时也需要更多的时间来唤醒CPU, 重新回到满操作模式。
C-States从C0开始,C0是CPU的正常工作模式,CPU处于100%运行状态。C后的数越高,CPU睡眠得越深,CPU的功耗被降低得越多,同时需要更多的时间回到C0模式。
每一个模式都有一个对应的名字,有的模式还有子模式,子模式又具有不同功耗和唤醒时间。
由于Intel C-State Tech在处理器进行状态切换时也会要求北桥芯片和内存进行电压与频率的调整,进入省电模式,因而它对整个平台的硬件要求比较高。
如果主板的质量不过关或者内存的体质不够好,开启Intel C-State Tech后,会致使服务器系统出现频繁的死机等问题。反过来,如果Intel平台的服务器经常出现死机,则可以在主板的BIOS中检查该选项是否启用。
C0 状态(激活)
·这是 CPU 最大工作状态,在此状态下可以接收指令和处理数据
·所有现代处理器必须支持这一功耗状态
C1 状态(挂起)
·可以通过执行汇编指令“ HLT (挂起)”进入这一状态
·唤醒时间超快!(快到只需 10 纳秒!)
·可以节省 70% 的 CPU 功耗
·所有现代处理器都必须支持这一功耗状态
C2 状态(停止允许)
·处理器时钟频率和 I/O 缓冲被停止
·换言之,处理器执行引擎和 I/0 缓冲已经没有时钟频率
·在 C2 状态下也可以节约 70% 的 CPU 和平台能耗
·从 C2 切换到 C0 状态需要 100 纳秒以上
C3 状态(深度睡眠)
·总线频率和 PLL 均被锁定
·在多核心系统下,缓存无效
·在单核心系统下,内存被关闭,但缓存仍有效
·可以节省 70% 的 CPU 功耗,但平台功耗比 C2 状态下大一些
·唤醒时间需要 50 微妙
C4 状态(更深度睡眠)
·与 C3 相似,但有两大区别
·一是核心电压低于 1.0V
·二是二级缓存内的数据存储将有所减少
·可以节约 98% 的 CPU 最大功耗
·唤醒时间比较慢,但不超过 1 秒
C5 状态
·二级缓存的数据被减为零
·唤醒时间超过 200 微妙
C6 状态
·这是 Penryn 处理器中新增的功耗管理模式
·二级缓存减至零后, CPU 的核心电压更低
·不保存 CPU context
·功耗未知,应该接近零
·唤醒时间未知