2024年9月22日发(作者:关映雁)
各种电源和CPU的状态
Jackliu
有时候我们会被BIOS或是作业系统中的电源管理搞得一头雾水,S0、C1究
竟代表着什么,如果不了解其意义以及身后所代表的内涵,很难在BIOS中调
试中做出适合的调整和设定。
各种电源状态缩写的意义
P-States:英文为CPUPerformanceStates的缩写,中文为CPU
效能状态。可以说CPU降频和降电压。CPU肯定在跑。
T-States
:英文为
ThrottlingStates
的缩写。中文意思为系统负载
状态。
CPU
根据系统温度,一跑一停的状态。
S-States:英文为SleepingStates的缩写,中文为系统睡眠状态。
进入S0-S5的ACPI状态。
G-States
:英文为
GlobalStates
的缩写,中文为全局状态。
C-States:英文为CPUStates的缩写,中文为CPU电源状态。
基本CPU停止运行。
C-States
:英文为
DEVStates
的缩写,中文为设备状态。
三种电源状态的关系
正常运作靠P-States
P-States指的就是CPUCPU依据目前运算量负荷轻重,调整运作频率的高低,
譬如1颗3.0GHz的CPU在执行Crysis3时以全速运作、上网时以1.8GHz
运作、观赏影片时以800MHz运作。在Intel方面称为EIST(EnhancedIntel
SpeedStepTechnology),AMD方面则是CnQ(Cool’n’Quiet)和Power
Now!。通常P0指的就是CPU以最高频率、最高运算量的状态运作,接下来
P1、P2、P3……就依照运作效能的多寡、省电性由少至多依序排下去。一般这
个只存在C0的状态。是唯一的。
T-States
通常不会使用,唯有当
CPU
过热或是超过我们所设定的温度时才介
入。
T-States
和
P-States
都是为了降低发热量而被使用,但是运作方式有别。
例如
1
颗
3.0GHz
的
CPU
被
P-States
要求运作在
50
%,就是真的运作在
1.5GHz
之上,而
T-States
则是将
3.0GHz
切成一半,一半时脉不运作,一半
时脉正常运作(调整
CPU
实际运作的占比)。
▲P-States和T-States的运作方式不同。
Intel
的
TurboBoost
技术就是当作业系统要求
CPU
运作在
P0
状态时,就会
收集有关目前
CPU
耗电量、启动核心数量、核心电源状态、
CPU
温度等信息,
来决定
P0
的运作时脉为多少。
▲IntelTurboBoost
简易原理说明。
S-States与待机/休眠/睡眠关系式
S-States
则是指计算机系统状态,
S0
~
S5
共有
6
种。
S0指的就是系统正常开机运作的状态,包含所有的P和C状态。S1时透过
时脉产生器将CPU关闭、系统内容被刷新(持续供电)
S1
状态也被称为
poweronsuspend
;
S2则是CPU电源完全关闭、系统内容刷新,系统整体耗电量比起S1更低一
些。
S3
一般也称为
suspendtoRAM
或是待命(
WindowsXP
)、睡眠(
Windows
7
之后),除了系统还有少量供电以外,其余大部分系统内的硬件电源均被关闭;
S4则是所谓的suspendtodisk,将系统内部的资料写入硬盘之后,将计算机
系统整体关闭,耗电量和关机一样;
S5
就是关机状态。
G-States
全局状态,不过
G-States
仅是个抽象描写系统目前的电源状态
(
ACPI
),要如何实作需额外定义。一般来说为
4
种状态:
G0为系统开机状态、
G1
为睡眠状态、
G2为软关机、
G3
为硬件关机。
C-States好多种
比较难理解的就是
CPU
待机状态
C-States
,因为这里的电源管理比较复杂,会
根据状态的不同分别调降运作时脉或电压,或者干脆完全关闭。
C-States
也不
断的加入新成员,象是
C8
~
C10
就是仅在
Haswell
系列才开始导入的
C-State
。
C0:(正常运行状态)包含在S0之下,旗下包含所有P-States,也就是CPU
内部电源全开的状态,所有的x86CPU都支援这个状态。
C1
:(挂起或待机状态)藉由软件关闭
CPU
的时脉(
stopinternalclock
)(送
出
HLT
指令),但是总线界面和
APIC
(
AdvancedProgrammableInterrupt
Controller
)均运作在全速状态,由
Intel486DX4
和之后的
CPU
开始支援,唤
醒的时间大概
10ns
(纳秒)。
C1E:(挂起或待机状态)藉由软件关闭CPU的时脉,以及降低CPU的输入
电压,其余的总线界面和APIC运作在全速状态,LGA775脚位之后的CPU
都支援,唤醒的时间10ns(纳秒);如果在BIOS中开启C1E支援,则CPU
就会进入
C1E
而非进入
C1
状态。须注意
AMD
也使用
C1E
这个名词在
CPU
上,不过却是另外一回事,在
AMD65
奈米之后的
CPU
,所有
CPU
核心
进入
C1
状态会让
CPU
直接进入
C3
状态。
C2:(挂起或待机状态)藉由硬件关闭CPU的时脉(设定STPCLKCPU接脚),
总线界面和APIC均运作在全速状态,同样是Intel486DX4之后全部支援,
唤醒的时间100ns(纳秒)。
C2E
:(挂起或待机状态)藉由硬件关闭
CPU
的时脉,降低
CPU
的输入电压,
其余的总线界面和
APIC
运作在全速状态,
IntelCore2Duo
之后皆支援,但
仅限
Intel
的
CPU
;同样的,若在
BIOS
中将
C2E
支援开启时,就会以
C2E
替代
C2
状态,唤醒的时间
100ns
(纳秒)。
C3:(深度休眠状态)关闭CPU内部所有的时脉(包含总线界面和APIC),
将L1快取中的内容清空,IntelPentiumII和AMDAthlon之后皆支援(除
Core2DuoE4000和E6000系列不支援),此模式也称为sleep模式,唤醒
的时间50ms(毫秒)。C3下还有个deepsleep模式,由PentiumII以上
(Core2DuoE4000和E6000系列不支援)、Turion64以上所支援,除CPU
内部时脉外,也可关闭外部时脉。唤醒的时间大概
50
µs(微秒)
IntelCPU
可透过设定
SLP
或是
DSSLP
接脚进入
C3
(在这之前
CPU
必须先
进入
C2
),
AMD
则是透过读取
APCI
的暂存器和
STPCLK
的组合而定,如
果读取
PLVL_2
暂存器,则设定
STPCLK
之后会进入
C2
;若读取
PLVL_3
暂存器,则设定
STPCLK
之后会进入
C3
。
AMD
行动版
Turion64CPU
还支
援更进阶的
AltVID
功能,可于进入
C3
的同时降低
CPU
电压。
C4:(更深度休眠状态)称做deepersleep,不像C1~C3为关闭CPU的时
脉,C4更进一步降低CPU的电压供应,并把部分的L2快取内容清空以便进
一步降低能源消耗;C4从IntelPentiumM(不包含Core2DuoE4000和
E6000
系列)和
AMDTurion64
之后开始支援,唤醒的时间至少需
200ms
(毫
秒)。
C4E:(更深度休眠状态)将C4时的CPUL2快取完全清空并关闭,可进一
步降低供应给CPU的电压,此模式仅在部分CPU上出现(CoreSolo、Duo、
部分45奈米行动版Core2Duo、部分Atom)。唤醒的时间至少需200ms
(毫秒)
C6
:
C6
状态(深度节能状态)(
deeppowerdown
)可以说是完全关闭了
CPU
,
包含
L1
和
L2
快取。在此状态下,
CPU
内部的状态都会被写入到
1
个具有
独立电力来源的静态存储器中(后来的
CPU
可使用
L3
快取做为目标写入),
CPU
的电压就能够降到非常低,甚至是
0V
完全关闭,从
Intel45
奈米行动版
Core2Duo
开始支援。
C6
时的唤醒的时间比较长,约是
C4
的
50%
。
Intel在Nehalem中导入了1个电源控制模块,CPU各个部分可使用不同的
电压,因此可让某个闲置的处理核心进入C6。
▲Intel
于
Penryn
核心开始导入
C6
。
C7:(更深度节能状态)C7在C6的基础上增加了部分或者全部清空L3快
取,被整合进去的北桥,现称SystemAgent以最小的电压保持启动,外部电
压调整可从1.8V降至1.6V,从SandyBridge开始导入。
C8
:最后
1
层
L3
快取被关闭,
SystemAgent
以最小的电压保持启动,外部
电压调整可从
1.8V
降至
1.2V
。
C9:SystemAgent电压降至0V,IO关闭,外部电压调整可降至0V。
C10
:外部电压调整可降至
0V
或完全关闭(以上
C8
~
C10
在
Haswell
以后的
芯片组才开始出现)。
▲Haswell
多出来的
C8
~
C10
状态。
2024年9月22日发(作者:关映雁)
各种电源和CPU的状态
Jackliu
有时候我们会被BIOS或是作业系统中的电源管理搞得一头雾水,S0、C1究
竟代表着什么,如果不了解其意义以及身后所代表的内涵,很难在BIOS中调
试中做出适合的调整和设定。
各种电源状态缩写的意义
P-States:英文为CPUPerformanceStates的缩写,中文为CPU
效能状态。可以说CPU降频和降电压。CPU肯定在跑。
T-States
:英文为
ThrottlingStates
的缩写。中文意思为系统负载
状态。
CPU
根据系统温度,一跑一停的状态。
S-States:英文为SleepingStates的缩写,中文为系统睡眠状态。
进入S0-S5的ACPI状态。
G-States
:英文为
GlobalStates
的缩写,中文为全局状态。
C-States:英文为CPUStates的缩写,中文为CPU电源状态。
基本CPU停止运行。
C-States
:英文为
DEVStates
的缩写,中文为设备状态。
三种电源状态的关系
正常运作靠P-States
P-States指的就是CPUCPU依据目前运算量负荷轻重,调整运作频率的高低,
譬如1颗3.0GHz的CPU在执行Crysis3时以全速运作、上网时以1.8GHz
运作、观赏影片时以800MHz运作。在Intel方面称为EIST(EnhancedIntel
SpeedStepTechnology),AMD方面则是CnQ(Cool’n’Quiet)和Power
Now!。通常P0指的就是CPU以最高频率、最高运算量的状态运作,接下来
P1、P2、P3……就依照运作效能的多寡、省电性由少至多依序排下去。一般这
个只存在C0的状态。是唯一的。
T-States
通常不会使用,唯有当
CPU
过热或是超过我们所设定的温度时才介
入。
T-States
和
P-States
都是为了降低发热量而被使用,但是运作方式有别。
例如
1
颗
3.0GHz
的
CPU
被
P-States
要求运作在
50
%,就是真的运作在
1.5GHz
之上,而
T-States
则是将
3.0GHz
切成一半,一半时脉不运作,一半
时脉正常运作(调整
CPU
实际运作的占比)。
▲P-States和T-States的运作方式不同。
Intel
的
TurboBoost
技术就是当作业系统要求
CPU
运作在
P0
状态时,就会
收集有关目前
CPU
耗电量、启动核心数量、核心电源状态、
CPU
温度等信息,
来决定
P0
的运作时脉为多少。
▲IntelTurboBoost
简易原理说明。
S-States与待机/休眠/睡眠关系式
S-States
则是指计算机系统状态,
S0
~
S5
共有
6
种。
S0指的就是系统正常开机运作的状态,包含所有的P和C状态。S1时透过
时脉产生器将CPU关闭、系统内容被刷新(持续供电)
S1
状态也被称为
poweronsuspend
;
S2则是CPU电源完全关闭、系统内容刷新,系统整体耗电量比起S1更低一
些。
S3
一般也称为
suspendtoRAM
或是待命(
WindowsXP
)、睡眠(
Windows
7
之后),除了系统还有少量供电以外,其余大部分系统内的硬件电源均被关闭;
S4则是所谓的suspendtodisk,将系统内部的资料写入硬盘之后,将计算机
系统整体关闭,耗电量和关机一样;
S5
就是关机状态。
G-States
全局状态,不过
G-States
仅是个抽象描写系统目前的电源状态
(
ACPI
),要如何实作需额外定义。一般来说为
4
种状态:
G0为系统开机状态、
G1
为睡眠状态、
G2为软关机、
G3
为硬件关机。
C-States好多种
比较难理解的就是
CPU
待机状态
C-States
,因为这里的电源管理比较复杂,会
根据状态的不同分别调降运作时脉或电压,或者干脆完全关闭。
C-States
也不
断的加入新成员,象是
C8
~
C10
就是仅在
Haswell
系列才开始导入的
C-State
。
C0:(正常运行状态)包含在S0之下,旗下包含所有P-States,也就是CPU
内部电源全开的状态,所有的x86CPU都支援这个状态。
C1
:(挂起或待机状态)藉由软件关闭
CPU
的时脉(
stopinternalclock
)(送
出
HLT
指令),但是总线界面和
APIC
(
AdvancedProgrammableInterrupt
Controller
)均运作在全速状态,由
Intel486DX4
和之后的
CPU
开始支援,唤
醒的时间大概
10ns
(纳秒)。
C1E:(挂起或待机状态)藉由软件关闭CPU的时脉,以及降低CPU的输入
电压,其余的总线界面和APIC运作在全速状态,LGA775脚位之后的CPU
都支援,唤醒的时间10ns(纳秒);如果在BIOS中开启C1E支援,则CPU
就会进入
C1E
而非进入
C1
状态。须注意
AMD
也使用
C1E
这个名词在
CPU
上,不过却是另外一回事,在
AMD65
奈米之后的
CPU
,所有
CPU
核心
进入
C1
状态会让
CPU
直接进入
C3
状态。
C2:(挂起或待机状态)藉由硬件关闭CPU的时脉(设定STPCLKCPU接脚),
总线界面和APIC均运作在全速状态,同样是Intel486DX4之后全部支援,
唤醒的时间100ns(纳秒)。
C2E
:(挂起或待机状态)藉由硬件关闭
CPU
的时脉,降低
CPU
的输入电压,
其余的总线界面和
APIC
运作在全速状态,
IntelCore2Duo
之后皆支援,但
仅限
Intel
的
CPU
;同样的,若在
BIOS
中将
C2E
支援开启时,就会以
C2E
替代
C2
状态,唤醒的时间
100ns
(纳秒)。
C3:(深度休眠状态)关闭CPU内部所有的时脉(包含总线界面和APIC),
将L1快取中的内容清空,IntelPentiumII和AMDAthlon之后皆支援(除
Core2DuoE4000和E6000系列不支援),此模式也称为sleep模式,唤醒
的时间50ms(毫秒)。C3下还有个deepsleep模式,由PentiumII以上
(Core2DuoE4000和E6000系列不支援)、Turion64以上所支援,除CPU
内部时脉外,也可关闭外部时脉。唤醒的时间大概
50
µs(微秒)
IntelCPU
可透过设定
SLP
或是
DSSLP
接脚进入
C3
(在这之前
CPU
必须先
进入
C2
),
AMD
则是透过读取
APCI
的暂存器和
STPCLK
的组合而定,如
果读取
PLVL_2
暂存器,则设定
STPCLK
之后会进入
C2
;若读取
PLVL_3
暂存器,则设定
STPCLK
之后会进入
C3
。
AMD
行动版
Turion64CPU
还支
援更进阶的
AltVID
功能,可于进入
C3
的同时降低
CPU
电压。
C4:(更深度休眠状态)称做deepersleep,不像C1~C3为关闭CPU的时
脉,C4更进一步降低CPU的电压供应,并把部分的L2快取内容清空以便进
一步降低能源消耗;C4从IntelPentiumM(不包含Core2DuoE4000和
E6000
系列)和
AMDTurion64
之后开始支援,唤醒的时间至少需
200ms
(毫
秒)。
C4E:(更深度休眠状态)将C4时的CPUL2快取完全清空并关闭,可进一
步降低供应给CPU的电压,此模式仅在部分CPU上出现(CoreSolo、Duo、
部分45奈米行动版Core2Duo、部分Atom)。唤醒的时间至少需200ms
(毫秒)
C6
:
C6
状态(深度节能状态)(
deeppowerdown
)可以说是完全关闭了
CPU
,
包含
L1
和
L2
快取。在此状态下,
CPU
内部的状态都会被写入到
1
个具有
独立电力来源的静态存储器中(后来的
CPU
可使用
L3
快取做为目标写入),
CPU
的电压就能够降到非常低,甚至是
0V
完全关闭,从
Intel45
奈米行动版
Core2Duo
开始支援。
C6
时的唤醒的时间比较长,约是
C4
的
50%
。
Intel在Nehalem中导入了1个电源控制模块,CPU各个部分可使用不同的
电压,因此可让某个闲置的处理核心进入C6。
▲Intel
于
Penryn
核心开始导入
C6
。
C7:(更深度节能状态)C7在C6的基础上增加了部分或者全部清空L3快
取,被整合进去的北桥,现称SystemAgent以最小的电压保持启动,外部电
压调整可从1.8V降至1.6V,从SandyBridge开始导入。
C8
:最后
1
层
L3
快取被关闭,
SystemAgent
以最小的电压保持启动,外部
电压调整可从
1.8V
降至
1.2V
。
C9:SystemAgent电压降至0V,IO关闭,外部电压调整可降至0V。
C10
:外部电压调整可降至
0V
或完全关闭(以上
C8
~
C10
在
Haswell
以后的
芯片组才开始出现)。
▲Haswell
多出来的
C8
~
C10
状态。