热度 10| |
APM:
Advanced Power Management 先进电源管理接口,通过BIOS控制,功能调用为INT 15h。APM v1.2版本电源管理都交给BIOS,如果在Windows下将电源管理改为APM模式,也是将电源管理全部交给BIOS管理。由于APM定义的功能较为局限,能做到的顶多是设置几分钟之后什么装置的关机。并且做简单的监控,电源节省的效率并不是最高的。 -from 《BIOS研发技术剖析》
ACPI:
Advanced Configuration and Power Interface 先进电源/组态控制接口。由Intel,Microsoft,Phoenix以及Toshiba针对近代OS节电需要重新定义的电源/组态控制接口。-from 《BIOS研发技术剖析》
为了发挥最高的电源管理效率,在开机后,实际主导控制整台计算机的是操作系统,因此电源管理的作业核心,必须要由BIOS转移到OS。(这不会增加OS的作业负担?BIOS在开机后,应该还在后台运行吧?BIOS负责检测和执行OS的电源管理指令,OS只用读取BIOS检测到的状态,并做出处理,可不可提升OS的效率?)-from 《BIOS研发技术剖析》
为了更有效率的追踪外围设备的电力使用情况,以及做精确的电源开/关控制,ACPI还在操作系统和硬件设备间多加了一个ACPI软件/硬件中阶层。(什么中阶层?)这相当于另外发明了一套极为复杂的新控制语言/接口协议,一种方外围设备、OS都了解的沟通模式。外围设别如软盘,硬盘,光驱,调制解调器,网卡等等,随时将自己的电力使用情况以及开关状态,记录在ACPI中阶层的寄存器,传感器也随时将最新的电压,温度等参数通过ACPI,SMBus传送给操作系统。(随时报告?还是一个周期,外围设备周期会汇报,但如果遇到紧急情况,外围设备可以通过中断形势汇报?OS也不会实时查看,而是定期看一下?)-from 《BIOS研发技术剖析》
OS通过AML语言解译程序,通过ACPI驱动程序对符合ACPI规范设计的外围装置,做开启,关闭等动作。或者设定若干时间后自动关闭,开启等等。控制的方式有2种,一种是SCI(System Control Interrupt)中断信号,另外一种则是通过极为复杂的表格结构,实现外围对外围,外围对cpu以及CPU对外围的沟通。(外围对外围?如果使用ACPI方式进行电源管理,那么外设必须支持ACPI功能?SSD通过什么字段支持?)-from 《BIOS研发技术剖析》
ACPI主要功能: -- 以下描述来源:https://blog.csdn.net/xie0812/article/details/49301317
1. 用户可以使外设在指定时间内开关;
2. 使用笔记本电脑的用户可以指定计算机在低电压情况下进入低功耗状态,以保证重要的应用程序运行;
3. OS可以在应用程序对时间要求不高的情况下降低时钟频率;
4. OS可以根据外设和主办的需求为它分配能源;
5. 在无人使用计算机可以使计算机进入休眠状态,但保证一些通信设备打开;
6. Plug and Play即插即用设备在插入时能够由ACPI来控制。
ACPI共有6种状态,S0~S5:
1. S0: 正常工作状态,设备全开,功耗一般超过80W;
2. S1: Standby,也称为POS(Power on Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他的部件仍然工作,这时功耗一般在30W以下;
3. S2: 这时CPU处于停滞运作状态,总线时钟也被关闭,但其余的设备仍然运转;
4. S3: STR(Suspend to RAM),功耗不超过10W;
5. S4: STD(Suspend to Disk), 这时系统主电源关闭,但是硬盘仍然带电并可以被唤醒;
6. S5: Shut down,连电源在内的所有设备全部关闭,功耗为0.