s3睡眠模式代表着什么?( 四 )


s3睡眠模式代表着什么?
文章图片

文章图片

所需要功耗从上到下依次变小 , 且只有每层的任务都完成以后才会操作下一层的目标
首先 , CPU/SoC外部的所有设备都必须进入低功率模式 , 也就是Sx对应的Dx为最低的设备电源状态 。接下来 , 将网络和无线电设备置于低功率模式 , 在此期间 , 这些设备通常会使用很少的一部分电源以维护连接 , 并在必要时唤醒CPU/SoC 。
在CPU/SoC外部的所有设备(包括通信设备)都断电后 , CPU/SoC的芯片组和非处理器核心也将进入低功率模式 , 这可以进一步节约能源;在这之后 , 就是处理核心CPU和GPU以及位于最后的一些其他电路了 。如果中间有任何一个部件拒绝进入低功耗状态 , 那么整个链路就会中断 , 重新回到S0 。英特尔将这一系列状态称之为低功耗S0状态(lowpowerS0idle) , 代号为S0ix , 每让一层设备进入低功耗状态则为S0ix中的x加上一 , 因此在CPU和GPU停止工作以前的状态也常常被称作S0i3休眠状态 。
所以 , 新型待机对PC上的芯片组等设备有一定的要求 。以管理员权限运行终端命令powercfg/a , 若结果含有Standby(S0lowpoweridle) , 则说明你的设备为新型待机 。使用新型待机的设备 , 不支持S1-S3睡眠模式:
s3睡眠模式代表着什么?
文章图片

文章图片

硬件设备的省电还不够 , 软件也有做相应的准备 。这方面 , 新型待机和S3睡眠一样 , 都将运行的应用挂起到RAM 。和S3状态不一样的是 , 新型待机目的是在睡眠状态下仍能完成一些任务 , 因此 , 部分活动享有新型待机下的豁免权 。
微软称这些应用活动为激活器 , 前面提到过新型待机状态下 , 网络甚至是CPU都可能不工作 , 这些激活器的作用就是将这些设备短时间唤醒 , 执行某些指令 。这些激活器全都是Windows内置的系统服务 , 例如负责接收UWP应用通知的WNS、负责处理Windows更新的WU、负责管理网络连接的NCSI……它们的存在使WindowsS0ix待机状态时也能收到通知 , 并可以处理后台维护任务 。
以UWP后台任务为例 , 我们在Windows设置中的应用>应用和功能>设置中看到一项后台应用权限 , 这个权限控制的就是在待机时 , 应用执行后台任务的能力 。默认的「电源已优化」选项意思是根据PC连接电源的情况 , 决定是否执行任务 。
s3睡眠模式代表着什么?
文章图片

文章图片

当激活器唤醒部分硬件设备时 , 新版Windows还会限制它们能够使用的资源量 , 例如UWP后台刷新任务只允许活动5秒 , 5秒后则会被终止 , 硬件设备也会再次进入低功耗状态 。需要注意的是 , 和S3睡眠模式不同 , 这些任务并不会导致系统被唤醒至完全工作状态 , 除了需要唤醒的少部分设备外 , 其他硬件仍处于低功耗状态 , 所有第三方应用、服务也仍被挂起 。
除了被激活器唤醒的小部分时间中 , 新型待机PC的功耗和S3相当 。如下图所示 , 运行powercfg/spr生成的电池报表显示 , 在2022年4月16日2-11时的新型待机过程中 , 软件(SW)、硬件(HW)100%处于低功耗状态 , 笔记本电量消耗了3%:
s3睡眠模式代表着什么?
文章图片

文章图片

上面的报表还显示 , 在进入睡眠模式前 , 有一个关闭屏幕(ScreenOff)阶段 。这种设计很符合直觉 , 按下睡眠按钮后 , PC直接关闭屏幕 , 将应用挂起到RAM、切换硬件设备状态都在用户无感知的息屏期间完成 , 这也是误触了睡眠功能后 , 立刻唤醒PC花费时间比正常情况稍长的原因 。从关闭屏幕到睡眠的间隔对应着设置面板中的相关选项 , 一般建议将两个时间统一: