G、S、C、P、T STATE

G、S、C、P、T STATE_第1张图片

1)G状态(Global System State)
指整个系统的状态:
G0:⼯作状态(working),相当于计算机处于正常开机的状态,该状态下系统实时响应外部事件,⽤于程序可以正常执⾏,设备也可以动态分配⾃⼰的状态;
G1:休眠状态(sleeping),该状态类似于电脑待机或者休眠,处于低功耗状态,计算机此时不会去执⾏⽤户的程序,看起来就像关机,此时显⽰屏是关闭的,但是只要有唤醒操作还是可以很快的恢复到⼯作状态;
G2:(soft off),除了⽤户程序不再执⾏,操作系统的程序也不再执⾏,如果要唤醒的话需要较长时间恢复到⼯作状态,类似于电脑关机;
G3:(mechanical off),简单的讲就是拔电源线,如果是PC的话可能感觉和G2状态差不多,但是如果是服务器,G3和G2的唤醒时间差异估计够你来⼀盘⽃地主。
 

2)S-State
系统的休眠状态,有6种(没错,就是有这么多姿势):
S0:正常⼯作状态,系统所有设备都处于开启状态;
S1:休眠模式,叫做POS(Power on Suspend),在这个状态下CPU通过CPU的时钟控制器关闭(但是CPU的寄存器和cache好像还是维持的),其他设备也是正常处于开启状态,这个状态相当于降低CPU的功耗;
S2:也是⼀种休眠模式,类似于S1,不过这个状态下CPU完全关闭(包括寄存器和cache),总线时钟也被down掉,其余设备还是照常保持;
S3:STR(Suspend to RAM),这个状态除了内存其他设备都断电,内存会低速刷新;
S4:STD(Suspend to Disk),系统主电源关闭,S4之前的内存信息写⼊硬盘,所有部件停⽌⼯作,系统主电源关闭,只有硬盘还带电并且可以被唤醒;
S5:完全下电,电源都关闭了,即关机(shut down)。
从上⾯看的话S的级数越⾼(代表睡眠程度越深),越往后的状态消耗的电量越少,也就是越省电。S0~S4状态其实就是G1状态的细分。S5状态其实和G2状态⼀样。
3)C-State (CPU Power State)

表⽰CPU的供电状态,主要是⽤于降低CPU功耗的,其实就是G0下的状态:
C0:此时CPU还是正常执⾏各种指令,相当于满状态运⾏,唤醒时间为0;
C1:这个状态已经需要唤醒时间了,不过很⼩(idle),⼀般软件在执⾏过程中对该影响基本可以忽略不计,这个状态CPU的功耗已经⼤⼤降低了;
C2:唤醒时间⽐C1更长,功耗⽐C1更低;
C3:唤醒时间⽐C2更长,功耗⽐C2更低,这个状态下CPU依旧会保持缓存信息,但是不会对信息进⾏监听,需要软件⾃⾝负责保证缓存内容的⼀致性。
(后⾯好像还定义了更多的C(C4、C5、C6)状态,总体就是CPU功耗更低,响应更慢,⼯作⽅式更简单)
4)P状态(CPU Performance state)
该状态也称为EIST(Enhanced Intel Speed Step Technology),通过控制CPU的电压和频率来变更CPU的性能,进⽽改变功耗。为C0状态下降低CPU功耗的⼀种⽅式。
5)Device State(Dx)

  •  
    • D0 -- Full Power 全速
    • D1 -- 中间态
    • D2 -- 比D1能耗低,延时高
    • D3 -- Off

6)T状态(CPU Throttling state)
⼀种节能状态,也是在C0状态下降低CPU功耗的⼀种⽅式,与P状态不同,T状态是通过调整单位时间内CPU Clock On的占空⽐(CPUClock On /(Clock On + Clock Off))的⽅式 ,改变系统的功耗和温度。
 

EIST与Turbo与PState的关系

Turbo是睿频开关,顾名思义,如果设为Enable,则CPU可以睿频运行。一般来说,EIST作为智能降频开关,优先级较高,如果EIST设为diable,则不允许CPU节能,CPU正常运行主频应当一直在标频。Turbo为睿频开关,当EIST设为disable后则Turbo应当加灰失效。

PState属于ACPI中得一个概念,PState标志着CPU节能等级,如果PState被设置为Enable后,则CPU将会在不同得PState状态之间进行切换,一般应用较多得是P0-P4,后面还可以到P10。CPU在P状态之间进行切换时,CPU的频率,CPU内部核心电压,Cache缓存的数据量以及唤醒时间会有所变化,总之最终得目的亦是为了节省能耗。

EIST与Turbo和Pstate三者之间得关系:仅关注CPU主频角度来看得话,EIST是总开关,如果设为Disable则Pstate也会设为Disable,体现在BIOS中你可以看到,Pstate得开关会随着EIST得disable而加灰,意思是禁止PState。此时进入到OS后,CPU得主频应该稳定在标频运行,此时Turbo开关也会随着EIST而加灰无效,意为不可睿频,此时即使使用PTU工具加压,也只会稳定在标频。但若EIST设为Enable,情况还稍微复杂下,但也基本是反着来得Global State (Gx State) 全局态,这个属于是top-level 的状态

你可能感兴趣的:(笔记,硬件架构)