参与电源管理的组件:
OS: 全局系统电源管理
ACPI DRIVER: 针对EMBEDDED SYSTEM DEVICES(非INDUSTRY-STANDARD)
例如:CHIPSET-SPECIFIC REGISTERS, SYSTEM BOARD-SPECIFIC REGISTERS
PCI PM定义了一组寄存器,由PCIE BUS DRIVER 而非ACPI DRIVER来控制
以前有写过ACPI相关的东西,如AML, ASL, ACPI TABLES, CONTROL METHOD等
DEVICE DRIVER:它的意思其实是指CLASS DRIVER,只关心与上层,不关心底层实现的驱动,具体的底层实现,由MINIPORT DRIVER实现
其实,这里写得不是很正确,CLASS/MINI CLASS DRIVER, PORT/MINI PORT DRIVER的概念,是微软的驱动模型提出来的
当初做PCTV AVSTREAM/BDA的时候,正好读过了阵子相关文档,稍微了解这些概念。
举个例子,对于USB2.0之前的WINDOWS USB HOST驱动来说:
有一个PORT DRIVER: USBPORT.SYS
对于不同的SPEED, 有不同的MINI PORT DRIVER: USB2.0为USBEHCI.SYS, USB1.1/1.0为USBOHCI.SYS/USBUHCI.SYS
MINIORT DRIVER: 如上述
PCIE BUS DRIVER: 控制POWER STATES AND CONFIGURATION REGISTERS
意思就是,PCIE BUS DRIVER只关心PCIE相关的POWER MANAGEMENT
FUNCTION相关的寄存器,由MINIPORT DRIVER来处理
PCIE PM REGISTERS: PCIE PM定义的电源相关寄存器
SYSTEM LEVEL BOARD POWER AND BUS CLOCK CONTROL LOGIC: BOARD SPECIFIC, CONTROLLED BY ACPI DRIVER
S3/S4的区别:
S1: CACHES FLUSHED, CPU HALTED
S2: 与S1类似,但CPU PWR OFF
S3: SUSPEND TO RAM/STANDBY
系统环境存到DDR MEMORY当中
S4: SUSPEND TO DIAK/HIBERNATE
系统环境存到DISK中
S5: 不存任何系统环境