C1: 所有x86 cpu都有一个指令 "HLT",它的作用是让CPU闲置(idle),什么都不做。一旦有新的指令(一个硬件发送的信号),便会恢复到正常工作水平.
自486DX4处理器以来,intel工程师将"HLT"指令升级成“Auto Halt”,也就是现在的C1状态。C1状态下CPU会在没有任务的时候自动闲置,
内部时钟关闭。但总线接口和高级可编程中断控制器(APIC)仍在工作。C1还有一个子模式C1E,它和C1其他功能一样,除了在恢复工作时cpu
使用最低工作电压,而不是败中清满载电压。
C2: C2和C1功能类似,除了C2多了一条信号“STPCLK”。差别是,C1的“Auto Halt”是软件方式实现的,发送一条指令。而信号“STPCLK”是通
过硬件发送。从Core 2 Duo开始采用C2的升级版C2E,但在最新的intel第四代cpu数据表里看不到C2/C2E状态,一部分C2的功能被归类到C3里去了。
C3: C3也被称为睡眠状态“Sleep state”,第一次使用还是奔腾II和第一代速龙时代。CPU首先会进入C2状态,然后激活一个信号“SLP/DPSLP”,
再进入C3。C3模式下核心所有内部时钟被关闭,包括总线接口和APIC。外部时钟也会中断如果识别码是DPSLP(SLP和DPSLP取决于不同的主板)。
同时将cpu的一级,二级缓存都挪到三级共享缓存里,并清空。也就是说,在睡眠状察前态下cpu无法响应任何外部总线或中断的请求,也就是彻底睡了。
C4:C1,C2和C3主要是对时钟下手,而C4则开始对cpu电压动刀了。C4也被称为 更深度睡眠状态Deeper Sleep state,(不知道怎么翻比较合适),
第一次使用C4是在迅驰上的奔腾M处理器。C4是cpu进入C3睡眠后下调内部电压达成的,硬件信号"DPRSTP"。
C6:C6是较新的一种节能状态,自Core2 Duo开始装备。cpu进入这个状态后,会将cpu核心(可以是单一的核心)里所有的寄存器数据挪到一个
SRAM(静态内存)里去。然后该核心就可以任君处置了,比如把电压设为0V。在恢复的时候,再把之前的数据从SRAM搬回核心的寄存器里。真正
意义上单独关闭一个核心变为可能(需要Nehalem核心或更新CPU才能支持)
C7: C7和C6几乎是一模一样的,除了,当最后一个核心进入C7状态时,该核心还要把三级缓存挪走,清空,然后降压(或断电)。在退出C7状态
时,三级缓存并不是立即工作的,必须把数据读回(该去哪去哪儿),CPU正式可以工作了之后,L3才开始工作。这样的好处是,如果退出之后马上
又要进入C7,那L3就不必反复倒腾了培哗。
C3 状态(深度睡眠)
总线频率和 PLL 均被锁定
在多核心系统下,缓存无效
在单核心系统下,内存被关闭,但缓存仍有效
可以节省 70% 的 CPU 功耗,但平台功耗比 C2 状态下大一些
唤醒时间需要 50 微秒
C6 状态
二级缓存减至零后, CPU 的核心电压更低
不保存 CPU context
功耗未知,非常低接近零
唤醒时间未知
C3,C6作用都是在系统空闲是降频率和电压,不是小超的话全关
这个都是CPU低功耗节能模式,不超频的话不用关它,如果超频建议都关掉