高 级配置 与 电源接 口
![本页使用了标题或全文手工转换](https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() |
概要
[编辑]ACPI
系 统电源 管理 (System power management)- 设备电源
管理 (Device power management) - 处理
器 电源管理 (Processor power management) - 设备
和 处理器 性能 管理 (Device and processor performance management) 配置 /即 插即用 (Configuration/Plug and Play)系 统事件 (System Event)- 电池
管理 (Battery management) 温度 管理 (Thermal management)嵌入 式 控 制 器 (Embedded Controller)- SMBus
控 制 器 (SMBus Controller)
Windows 98
ACPI术语(部分 )
[编辑]高 级配置 电源管理 接 口 (Advanced Configuration and Power Interface (ACPI))
- 按照
在 本文 中 的 定 义, ACPI是 一种描述硬件接口的方法,要 足 够抽象 以允许灵活 创新的 硬 件 实现,并且足 够具体 以允许shrink-wrap OS code使用 这个硬 件 接 口
- ACPI
硬 件 (ACPI Hardware)
- 它是一种电脑硬件,
具有 支持 OSPM所 必备的 特性 ,而且还具有 特定 的 接 口 ,这些接 口 的 特性 是 由 ACPI规范所 指定 的 描述表 (Description Tables)所 描述的 。
- ACPI
命名 空 间(ACPI Namespace)
- 一个树状层次机构,
在 受操作 系 统控制 的 内 存 里 面 ,这段内 存 里 面 包含 命名 对象(named objects)等 。这些对象(objects)可 以是数 据 对象,控 制 方法 对象,总线/设备包 对象等 。操作 系 统通过从驻留在 ACPI BIOS中 的 ACPI Tables 载入载出(loading and/or unloading)定 义块(definition blocks),来 动态改 变命名 空 间(namespace)的 内容 。在 ACPI Namespace中 的 所有 信 息 都 来 自 Differentiated System Description Table (DSDT),DSDT里 面 包含 了 Differentiated Definition Block 还有一个或者多个其他的定义块(definition blocks)。
- ACPI
机 器 语言(ACPI Machine Language (AML))
是 一 种由ACPI兼 容 的 OS支持 的 虚 拟机的 伪代码(Pseudo-code),里 面 写 有 ACPI控 制 方法 和 控 制 对象。
高 级可编程中断 控 制 器 (Advanced Programmable Interrupt Controller (APIC))
- 一个中断控制器架构,
通常 多 见于Intel32位 架 构(Intel Architecture-based 32-bit)的 PC系 统。APIC架 构支持 多 处理器 中断 管理 (中断 均 匀的分布 在 所有 处理器 ),多 I/O子 系 统支持 ,与 8259A兼 容 ,并且支持 处理器 内部 中断 (Inter-Processor Interrupt, IPI)。这个架 构由直属 于处理 器 的 本地 APICs(Local APICs)和 在 (南 桥)芯 片 中 的 I/O APIC组成。
- ACPI
源 语言(ACPI Source Language (ASL))
一 种和AML等 同 的 编程语言。ASL编译以后就是AML镜像(AML images)。
控 制 方法 (Control Method)
控 制 方法 定 义OS如何 执行一个简单的硬件任务。例 如,OS调用控 制 方法 (Control Method)去 读取一个高温区的温度。控 制 方法 是 用 一 种叫做AML的 编码语言写 的 ,AML可 以被兼 容 ACPI的 OS所 解 释并执行。ACPI兼 容 的 系 统必须在ACPI table中 提供 一组最小的控制方法。OS提供 一 组well-defined的 控 制 方法 ,以使ACPI table开发者 能 够在他 们的控 制 方法 中 引用 。OEM厂商可 以通过,要 么Including control methods in the BIOS that test configurations and respond as needed,要 么为芯 片 组的不同 修 订版包含 一组不同的控制方法,来 使 一 个BIOS能 够同时支持 芯 片 组的不同 修 订版。
中央 处理器 或 者 处理器 (Central Processing Unit (CPU) or Processor)
定 义区块(Definition Block)
- Definition Blockl以数
据 和 控 制 方法 (编码成 AML)的 形式 包含 关于硬 件 实现和 配置 详细信 息 。OEM厂商可 以在ACPI Tables中 提供 一个或者多个Definition Blocks。有 一 个definition block是 必须被 提供 :那 就是Differentiated Definition Block,它描述 了 基本 的 系 统。在 装 载Differentiated Definition Block之 后 ,紧接着 OS会 把 Differentiated Definition Block的 内容 插入 到 ACPI Namespace。OS可 以动态的从the active ACPI Namespace插入 和 删除的 其他definition blocks,可 以包含 指向 Differentiated Definition Block的 引用 。
装置 (Device)
熱 溫 區 (Thermal Zone)
- ACPI
風 扇 (Fan)
装置 上下 文 (Device Context)
装置 中 包含 的 变化的 数 据 ;通常 是 易 失 性 (volatile)数 据 。当 进入或 者 离开特定 的 状 态(states)的 时候,设备应该忘记这些信 息 ,在 这种情 况下OS软件负责保存 并恢复这些信息 。设备上下 文 (Device Context)指 的 是 包含 在 设备周 边的小 数量 的 信 息 。同 样可以看看 系 统上下 文 。
区分 系 统描述 表 (Differentiated System Description Table (DSDT))
- OEM厂商必须为ACPI
兼 容 的 OS提供 一 个DSDT。这个DSDT包含 区分 定 义块,它能提供 关于基本 系 统的实现和 配置 信 息 。OS总是在 ACPI Namespace中 插入 DSDT信 息 ,当 系 统启动的时候,而且绝不会 删除它。
- 它是
一 个在OS和 固 件 平台 之 间的接 口 。
嵌入 式 控 制 器 (Embedded Controller)
嵌入 式 控 制 器 介 面 (Embedded Controller Interface)
- 韌體ACPI
控 制 结构(Firmware ACPI Control Structure (FACS))
在 读写内 存 中 的 一 种结构,BIOS用 它来实现韌體和 OS之 间的信 息 交换(handshaking )。通 过FADT(Fixed ACPI Description Table)FACS被 转到兼 容 ACPI的 OS中 。FACS包含 上 次 启动时的系 统硬件 签名,firmware waking vector,和 Global Lock。
固定 ACPI描述表 (Fixed ACPI Description Table (FADT))
一 个包含 ACPI硬 件 寄 存 器 块(Hardware Register Block)的 实现和 配置 详细信 息 的 表 ,OS需要 用 这些配置 信 息 来 直接 管理 ACPI硬 件 寄 存 器 块和DSDT的 物理 地 址 ,DSDT则包含其他 平台 的 实现和 配置 详细信 息 。 OEM厂商必须在 RSDT/XSDT中 提供 FADT给兼容 ACPI的 OS。当 系 统启动的时候,OS则总是 把 已 经定义好了 的 namespace信 息 (它存在 于DSDT的 Differentiated Definition Block中 )插入 到 ACPI Namespace,并且OS绝不会 删除它。
固定 特 征 (Fixed Features)
- ACPI
接 口 提供 的 一 组特征 。ACPI规范限 制 硬 件 编程模型 (hardware programming model)在 哪产生 还有如何 产生的 。所有 的 Fixed Features,如果被 使用 了 ,会 按照本 片 规范中 的 描述进行实现,以使OSPM能 够直接 访问Fixed Features寄 存 器 (fixed feature registers)。
固定 特 征 事件 (Fixed Feature Events)
一 组事件 ,当 Fixed Feature寄 存 器 中 的 一对状态和事件位(event bits)被 在 同 一时间设定时,这组事件 会 在 ACPI接 口 处发生 。当 一 个Fixed Feature时间发生时,系 统控制 中断 (SCI,system control interrupt)is raised。对于ACPI Fixed Feature Events来 说OSPM(or an ACPI-aware driver)扮 演 事件 的 处理者 。
固定 特 征 寄 存 器 (Fixed Feature Registers)
一 组在fixed feature register space中 的 硬 件 寄 存 器 ,fixed feature register space在 系 统I/O地 址 空 间的特殊 的 地 址 里 。ACPI为fixed features定 义了寄 存 器 块(register blocks)(每 个寄存 器 块从FADT那 里 得 到 一个单独的指针)
一般 目的 事件 寄 存 器 (General-Purpose Event Registers)
- The general-purpose event registers contain the event programming model for generic features. All general-purpose events generate SCIs.
一般 特 征 (Generic Feature)
全局 系 统状态(Global System States)
- Global System States适用于整个系统,而且对于
用 户是可 见的。各 种不同 的 Global System States在 ACPI规范中 是 从G0标记到G3的 。
省略 位 (Ignored Bits)
在 ACPI硬 件 寄 存 器 中 的 一些没有被使用的位(bits),在 ACPI规范中 会 指定 这些位 是 “ignored”的 。在 读的时候,软件会 忽 略 ACPI硬 件 寄 存 器 中 的 Ignored Bits位 (而不去 读取它),写 的 时候,会 保 护Ignored Bits(不 去 写 这写位 )。
- Intel个人电脑
架 构(Intel Architecture-Personal Computer (IA-PC))
- 一种对于计算机的一般描述术语,这种计算
机 的 处理器 架 构符合 Intel处理器 家族 基 于Intel架 构指令 集 (Intel Architecture instruction set)的 定 义,并且有 工 业标准 (industry-standard)PC的 结构。
- I/O APIC(Input/Output Advanced Programmable Interrupt Controller)
- 一个输入输出高级可编程中断控制器,
用 来 从设备传递中断 给处理 器 里 面 的 本地 APIC(local APIC)。
- I/O SAPIC
- An Input/Output Streamlined Advanced Programmable Interrupt Controller
用 来 从设备传递中断 给处理 器 里 面 的 本地 APIC(local APIC)。应用于安腾处理 器 (Itanium)。和 APIC的 不同 可 以看看 Intel® Itanium® Processor Family Interrupt Architecture Guide ,PDF文 档的最 后 一 章 会 讲到不 同点 。
老 式 的 (Legacy)
- 这是一种电脑状态,
在 这个电脑状 态下电源管理 策略 是 由 平台 硬 件 /固 件 决定的 。在 如今的 系 统中,传统电源管理 特性 被 用 来 支持 安 装 有 传统OS的 电脑中 的 电源管理 ,这种传统OS并不支持 OS直接 管理 电源架 构(OS-directed power management architecture)。
老 式 的 硬 件 (Legacy Hardware)
没 有 ACPI或 者 OSPM电源管理 支持 的 电脑系 统。
老 式 的 操作 系 统(Legacy OS)
- 此類
的 作業 系統 無法 得知 或 對 系統 的 電源 管理 功 能 做管理 ,包含 在 此類型 內的如一些支援 APM 1.x的 作業 系統 。
本地 APIC(Local APIC)
接收 来 自 I/O APIC的 中断 。
本地 SAPIC(Local SAPIC)
接收 来 自 I/O SAPIC的 中断 。关于SAPIC,请看“I/O SAPIC”。
- 复合APIC描述
表 (Multiple APIC Description Table (MADT))
- 它被
用 在 支持 APIC和 SAPIC的 系 统上,以描述 APIC的 实现。Following the MADT is a list of APIC/SAPIC structures that declare the APIC/SAPIC features of the machine.
- 对象(Object)
- ACPI Namespace
的 节点就是objects,这些objects被 OS用 system definition tables中 的 信 息 插入 tree。这些objects可 以是数 据 对象(data objects),包 对象(package objects),控 制 方法 对象(control method objects)等 。包 对象refer to其他对象(objects)。对象同 样拥有 类型(type),大小 (size),和 相 对名称 (relative name)。
- 对象
名 (Object name)
- ACPI Namespace
的 一 部分 。有 一 组规则for naming objects。
操作 系 统直接 电源管理 (Operating System-directed Power Management (OSPM))
- 电源(
和 系 统)管理 的 一 个模型 ,在 其中OS扮 演 重要 的 角 色 ,使用 全局 信 息 为手边的任 务优化 系 统行为(system behavior)。
包 (Package)
一 组objects。
- 电源按鈕(Power Button)
用 户按的 按钮或 者 其他有 触 点 的 开关(switch contact)设备,通 过它可 以把系 统从睡眠 或 者 soft off状 态切换到工作 状 态,还可以给OS发送信号 使 OS从睡眠 或 者 soft off状 态恢复到工作 状 态。
- 电源
管理 (Power Management)
- 一种最小化系统电源消耗的软硬件机制,
管理 系 统热量 限 制 ,延 长系统电池 使用 时间(battery life)。电源管理 在 系 统速度 ,噪音,电池使用 时间,处理器 速度 ,还有电源消耗 之 间取得 平衡 。一 些system functions,比 如appliance (for example, answering machine, furnace control) operations,需要 电源管理 。
- 电源资源(Power Resources)
- 设备
需要 的 资源(比 如power planes和 clock sources),设备需要 在 给定的 电源状 态下对这些资源 进行操作 。
- 电源
来 源 (Power Sources)
寄 存 器 分 组(Register Grouping)
由 两个寄 存 器 块组成 (它有两个指向 两个不同 寄 存 器 块的指 针)。在 寄 存 器 分 组(register grouping)内部 的 固定 位 可 以被在 两个寄 存 器 块(register blocks)之 间拆分 。这就允 许了在 寄 存 器 分 组内部 的 位 可 以被在 两个芯 片 (chips)之 间拆分 。
保留 位 (Reserved Bits)
在 ACPI硬 件 寄 存 器 中有 一些没有被使用的位,在 ACPI规范中 被 称 为保留 位 。为了未来 能 够扩展 ,硬 件 寄 存 器 保留 位 总是被 归零,并且写 入 的 数 据 不 会 造成 其他的 影 响。OSPM的 实现必须往所有 使 能 和 状 态寄存 器 的 保留 位 写 “0”,同 样还要 往控制 寄 存 器 (control registers)的 preserve bits写 “0”
根 系 统描述 指 针(Root System Description Pointer (RSDP))
兼 容 ACPI的 系 统必须在系 统低地 址 空 间(system’s low address space)提供 一 个RSDP。这种结构的 唯 一 目的 就是提供 RSDT和 XSDT的 物理 地 址 。
根 系 统描述 表 (Root System Description Table (RSDT))
- signature为RSDT
的 table,它跟随 在 一组指向其他系统描述表(system description tables)的 物理 指 针之后 。OS通 过跟随 RSDP结构中 的 指 针来定位 RSDT。
状 态
[编辑]全局 状 态(Global System States,G-State)
[编辑]ACPI规范
- G0(S0)
正常 工作 状 态:计算机 的 正常 工作 状 态-操作 系 统和应用程 序 都 在 运行。CPU执行指令 。在 这个状 态下(即 没 有 进入G1睡眠 ),CPU、硬 盘、光 碟機等 设备可 以进入 節 能 狀態 (如裝置 和 處理 器 效能 狀態 P-State、裝置 電源 狀態 D-State、處理 器 電源 狀態 C-State)或 從 節 能 狀態 恢復 。 - G1
睡眠 细分为从S0ix到 S4等 幾 種 状 态。Linux內核的 /sys/power/state檔案中 對應 的 關 鍵 字 與 狀態 : standby(S1), mem(S3), disk(S4)。在 Windows中 可用 powercfg /a
命令 列 出平 台 支援 的 ACPI G1狀態 。- S0ix:Modern Standby。
只 有 BIOS、作業 系統 和 所有 的 硬 件 都 支援 S0ix才能 使用 Modern Standby[3]。S0ix與 S3不 相 容 。 - S1:
最 耗电的 睡眠 模 式 。CPU的 所有 寄 存 器 被 刷新 ,并且CPU停止 执行指令 。CPU和 内 存 的 电源被 維持 。这种模 式 通常 叫 Power on Suspend或 者 叫 做POS。老 式 的 电脑对S1支持 可能 比 S3好 。 - S2:
一種 比 S1更 深 的 睡眠 状 态,停止 CPU的 電源 供應 。然 而,这种模 式 通常 并不被 采 用 。 - S3 :
又 稱 為 Suspend to RAM或 STR,在 Windows XP以后的 Windows版本 和 一 些Linux发行版 中 叫 做"待 机 (Standby)",在 Windows Vista和 Mac OS X则叫做"睡眠 (Sleep)"。在 这个状 态下,RAM是 唯 一的有电源供應的元件。S3的 恢复的 过程比 S4快 。如果S3睡眠 過程 中斷 電 ,則 所有 儲 存在 RAM中 的 資料 將 遺失 。S3是 筆記 型 電腦 最 常用 的 睡眠 模 式 。 - S4:
在 Windows中 叫 休眠 ,在 Mac OS X中 叫 作 安全 睡眠 ,也稱為 Suspend to Disk。在 这个状 态下,所有 内 存 的 内容 被 储存在 硬 盘,儲 存 操作 系 统当前 的 状 态。S4和 S3之 间的差 异是:S4消耗 的 時間 較S3長 ;S3状 态下的 时候如果系統 斷 電 ,則 所有 RAM上 的 数 据 就会丢失,包括 所有 的 没 有 保存 的 文 档,而在S4状 态下则没有 影 响。S4和 "S1-S3"状 态有很大不同 ,更 类似G2Soft Off状 态和G3 Mechanical Off状 态。在 S4状 态下的 系 统同样可进入G3(Mechanical Off)状 态,并且保留 S4时候的 状 态信息 。在 Windows中 可用 powercfg
命令 的 /h
開 關 設定 Windows的 休眠 功 能 。
- S0ix:Modern Standby。
- G2(S5)Soft Off--G2,S5,
和 Soft Off都 是 相 同 的 叫 法 。G2和 G3Mechanical Off几乎是 相 同 的 ,但 有 些部件 仍然带电,使 计算机 仍然可 以被键盘、时钟(RTC)、數 據 機 、LAN、USB等 设备所 唤醒。[4]在 启动系 统从G2恢复到G0正常 工作 模 式 的 过程中 ,无论是 G3 Mechanical Off还是G2都 得 运行启动程 式 来 启动操作 系 统。
此外,
- G3(S6)Mechanical Off--G3,S6,
和 Mechanical Off都 是 相 同 的 叫 法 。即 全部 件 斷 電 ,在 這種情況 下 只 能 從 開 機 鍵 喚醒。
(
设备电源状 态(Device Power State)
[编辑]电源
设备
设备驱动(Device driver),让设备恢复到D0,驱动
设备
- D0 Fully-On
是 (正常 )工作 状 态,电源消耗 量 最多 ,设备是 完全 被 響 應 的 ,并且设备保留 了 全部 的 设备状 态/环境。 - D1
和 D2是 中 间电源 状 态,它的定 义根据 设备的 不同 而有所 不同 。 - D3 Off
是 设备电源关闭所以 对总线来说是没 有 相 应的。设备状 态/环境全部 丢失,操作 系 统会 重 新 初 始 化 设备当 重 新 给它加 电的时候。这个状 态下的 设备恢复到D0相 比 之 下 需要 最 长的时间。
设备 |
电源 |
驱动 | |
---|---|---|---|
D1 | D0>D1>D2>D3 | >D2 | <D2 |
D2 | D0>D1>D2>D3 | <D1 | >D1 |
D3 - Off | 0 |
处理器 电源状 态(Processor Power State)
[编辑]处理
- C0
是正 常 工作 状 态,当 处理器 处于这种状 态下的 时候,它能正常 处理指令 。 - C1(
通常 称 为Halt),拥有最短 的 唤醒时间,这个延 时必须短到 操作 系 统软件 使用 CPU的 时候不 会 考 虑到唤醒时间方面 的 因 素 。一 些处理 器 ,比 如Pentium 4、酷 睿,支持 C1E(Enhanced C1 state)。 - C2 (
通常 称 为Stop-Clock),这个状 态下处理器 维持着 所有 的 软件所 见的状 态信息 ,但 是 需要 更 长的时间来 恢复到C0。这个状 态下情 况最坏的硬 件 唤醒时间是 由 ACPI固 件 提供 ,并且操作 系 统可 以利用 这些信 息 来 决定是 采 用 C1而不是 C2状 态,C2比 C1更 省 电。 - C3 (
通常 称 为Sleep),相 比 C1和 C2更 省 电了。这个状 态下情 况最坏的硬 件 唤醒时间是 由 ACPI固 件 提供 ,并且操作 系 统可以利用 这些信 息 来 决定是 采 用 C2而不是 C3状 态,当 处于C3状 态时,处理器 缓存保留 了 所有 的 状 态信息 ,但 是 忽 略 所有 的 侦听。操作 系 统负责保证缓存 数 据 的 一致 性 。 附加 的 C-State由 處理 器 廠 商 來 定義 ,如Intel Haswell處理 器 最多 有 C10。
设备和 处理器 性能 状 态(Device and Processor Performance States)
[编辑]设备
- P0
状 态,使用 最大 性能 并且消耗 的 电能最多 。 - P1
状 态,性能 比 前者 要 小 ,但 是 消耗 电能也相应少一 些。 - Pn
状 态,n是 的 大小 是 依 赖于处理器 和 设备的 ,处理器 和 设备可 以定一个任意的不超过16的 数字 。
这个
參 見
[编辑]参考 文献
[编辑]- ^ What is ACPI (Advanced Configuration and Power Interface)? - Definition from WhatIs.com. SearchWindowsServer. [2020-09-18]. (
原始 内容 存 档于2019-05-15) (英 语). - ^ ACPI Device Tree - Representation of ACPI Namespace — The Linux Kernel documentation. www.kernel.org. [2020-09-18]. (
原始 内容 存 档于2020-08-05). - ^
新式 待命 . docs.microsoft.com. [2020-03-20]. (原始 内容 存 档于2022-04-23) (中 文 (繁 體 )). - ^ Aram Kananov » How To: ACPI Suspend to RAM on Dell Latitude D800 with Fedora Core 3 互联网档
案 馆的 存 檔,存 档日期 2008-10-02.