笔记本电脑直接盖上可以吗


笔记本电脑直接盖上可以吗

用笔记本的人都是合上盖子,带了就走,十分方便 。在享受这种便利的同时,也有很多烦恼 。知乎上不少问题都是关于再掀开盖子后,黑屏的问题 。我们今天就来看看,如何设置笔记本合上盖子的动作,底层的处理逻辑和顺序,以及一些有趣的相关话题 。

如何设置合上盖子的动作

这个十分简单,老鸟可以跳过这一节 。我们可以在控制面板的电源选项里面进行设置:
笔记本电脑直接盖上可以吗

接着选择更改计划设置
笔记本电脑直接盖上可以吗

点击进入更改高级电源设置:
笔记本电脑直接盖上可以吗

可以看到我的合上盖子的动作会产生睡眠,无论是电池还是接上电源:
笔记本电脑直接盖上可以吗

如果对这个安排不满意,也可以换成其他的
笔记本电脑直接盖上可以吗

其实还有个更方便的进入路径:在电源选项里面直接进入:
笔记本电脑直接盖上可以吗

界面稍有不同,内容完全一样:
笔记本电脑直接盖上可以吗

这里的睡眠是指Sleep,也就是S3,休眠是指Hibernation,也就是S4 。
ACPI提供了一种机制使系统在Working状态(G0)和Sleeping状态(G1)以及soft-off (G2)状态之间转换 。
G1 Sleeping状态下系统耗电较少,没有程序在执行,如果有任何唤醒事件传入系统会使系统快速恢复至G0工作状态 。Sleeping状态分为四种:
S0:正常工作状态 , 所有设备正常运转 。
S1:Sleeping with Processor Context Maintained,CPU停止工作,不执行任何指令,但是CPU,芯片组以及DRAM内容没有遗失 。此状态可以快速恢复到工作状态 。
S2:比S1的睡眠状态更深更省电,CPU停止工作,但是CPU和cache的内容已丢失 。DRAM仍处于带电状态 。
S3:又叫Suspend to RAM,功耗更低,内存信息得以保持,CPU, Cache, Chipset的内容均丢失 。DRAM仍处于带电状态 。
S4:又叫Suspend to Disk,hibernate 。功耗最低,唤醒需要的时间最长,所有设备都不再工作 。Memory的资料被保存在Disk中 。当系统收到唤醒信号后,首先从Disk中恢复memory 。
在缺省情况下,合上盖子就是进入S3 。这样,再打开盖子后可以迅速点亮屏幕,继续工作 。微软要求这个时间必须在500ms内,主板厂商必须优化BIOS来达到这个要求,否则不能拿到微软的logo认证 。S3的缺点是还要消耗少量电能,它的问题我们后面再说 。

工作原理

在介绍完设置后,照例进入本专栏的特色,原理时间 。合上盖子,进入Sleep,简单的动作,行云流水般的操作,完成它其实颇为复杂 。其中就包括三个玩家:EC、BIOS和操作系统 。
【笔记本电脑直接盖上可以吗】几乎所有的笔记本的主板上都一个小家伙:EC(Embed Controller),它是一个16位的小芯片,它与服务器中的BMC类似,掌控笔记本电脑的方方面面 。它最早脱胎于笔记本的键盘控制器,现在笔记本上诸多特色功能,背后都有它的身影 。充电指示灯为什么会亮?EC在合适的时间让它亮;风扇为什么狂转?EC觉得你的CPU太热了;各种功能键和上面的小灯也是它的功劳 。甚至关机后EC还在不知疲倦的工作,它的特色功能也是笔记本厂商要发力的重点 。
我们来一起复盘一下合上盖子(LID)的整个过程 。
1. 盖子合上 。EC通过IO端口探知到这个变化,设置EC event标志位,从而触发一个SCI中断 。
2.Windows在收到SCI中断后,知道这是一个ACPI中断,从而调用BIOS的_GPE event 。
3. BIOS在_GPE的event处理method中,发现是个EC事件,在EC事件处理Method中进一步发现盖子合上了 。通知LID对象变更状态 。
4.LID对象报告Windows盖子被合上了 。
5.Windows检查电源Policy,发现要进入S3 。执行_PTS control method,获取SLP_TYP3,把SLP_TYP3数值写入PM1_CNT(Power Management 1 control)的slp_typ域,并且slp_en置1就可以使系统进入相应的S3.
6. 硬件做以下事情使系统进入S3状态:1)使memory进入低功耗自刷新状态 。2)除了memory,把电源从其他设备移除,仅保留需要唤醒设备的后背电源 。
7. EC发现系统进入S3,置起呼吸灯等,提升用户现在已经进入S3 。

睡眠时耗完电怎么办?

S3有个问题是它还在消耗着电力,尽管比较少 。这就带来一个严重的问题,如果在S3情况下电力消耗殆尽,那么未存储的东西不就丢失了吗?过去这种情况都由UEFI固件偷偷处理,它会在电力下降到一个阈值后偷偷开机 , 帮你把S3转换到S4 。微软发现关闭电脑 , 尤其是笔记本的人越来越少 。经过平板浪潮的洗礼,大部分人开始习惯把笔记本一合就完事了,而S3转S4的问题有些小笔记本厂商处理的并不好 。于是微软不但把休眠用到了开机上,还创造出了一个叫做混合睡眠的概念 。它是这样工作的:
1. 合上盖子的时候进入混合睡眠模式,即虽然要进入S3,但也把S4需要的内容存储下来了 。
2. 如果在电源消耗完之前从S3回来,例如开启盖子等 。就按照S3启动路径 。
3. 如果电源消耗结束后再回来,就按照S4的路径启动 。
这样相当于为S3加上了S4的双保险,保证文件不会丢失 。
你可以通过powercfg看一下你开启混合启动了吗:
笔记本电脑直接盖上可以吗

结论

合上盖子,还有这么多动作需要做,也许很多人都没有想到 。老鸟通过本文也可以不仅知其然,而且知其所以然,举一反三 , 了解我们日常生活中许多现象的运行机理 。

相关经验推荐