ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 2 章

    • 总览
    • 2.1. 一般 ACPI 术语
    • 2.2. 全局系统状态定义
    • 2.3. 设备电源状态定义
    • 2.4. 睡眠和软关闭状态定义
    • 2.5. 处理器电源状态定义
    • 2.6. 设备和处理器性能状态定义

2.1. 一般 ACPI 术语

高级配置与电源接口(ACPI)

如本文档所定义,ACPI 是一种描述硬件接口的方法,其抽象程度足以支持灵活且创新的硬件实现,同时又具体到足以使现成 OS 代码能够使用此类硬件接口。

ACPI 硬件

具有支持 OSPM 所需特性的计算机硬件,并且这些特性的接口按照本文档规定使用描述表进行描述。

ACPI 命名空间

OS 控制的内存中的一种分层树结构,其中包含命名对象。这些对象可以是数据对象、控制方法对象、总线/设备包对象等。OS 通过加载驻留在 ACPI 系统固件中的 ACPI 表中的定义块,在运行时动态更改命名空间的内容。ACPI 命名空间中的所有信息都来自差异化系统描述表(DSDT),其中包含差异化定义块,以及一个或多个其他定义块。

ACPI 机器语言(AML)

由兼容 ACPI 的 OS 支持的虚拟机所使用的伪代码,ACPI 控制方法和对象以此编写。AML 编码定义见第 19 节,“ACPI 机器语言(AML)规范”。

扩展卡

用于指代任何可以通过连接总线(如 PCI)插入到平台中或从平台中移除的设备的通用术语。扩展卡通常插入在平台的物理机箱内部,而不是物理上位于平台外部。扩展卡将具有其自身的设备和相关固件,并且可能具有其自身的扩展 ROM 固件。

高级可编程中断控制器(APIC)

一种常见于基于 Intel 架构的 32 位 PC 系统中的中断控制器体系结构。APIC 体系结构支持多处理器中断管理(在所有处理器之间对称分配中断)、多个 I/O 子系统支持、8259A 兼容性以及处理器间中断支持。该体系结构由通常直接连接到处理器的本地 APIC 和通常位于芯片组中的 I/O APIC 组成。

ACPI 源语言(ASL)

与 AML 对应的编程语言。ASL 被编译为 AML 映像。ASL 语句在第 18 节“ACPI 源语言(ASL)参考”中定义。

地址范围擦洗(ARS)

对内存区域进行擦洗以查找包含可纠正或不可纠正错误的内存位置的过程。

BIOS

BIOS(基本输入/输出系统)是为平台提供基本引导能力的固件;此处专指传统 x86 BIOS,而不是作为所有固件的通用术语,也不是 UEFI 核心系统 BIOS 的替代术语。我们试图消除的正是该术语的这种歧义。另见:遗留 BIOS、系统 BIOS。

引导固件

用于描述平台上在引导过程中使用的任何固件的通用术语。如有可能,请使用更具体的术语。

组件

设备的同义词。如有可能,请使用术语“设备”。

控制方法

控制方法是对 OS 如何执行简单硬件任务的定义。例如,OS 调用控制方法来读取热区的温度。控制方法使用一种称为 AML 的编码语言编写,兼容 ACPI 的 OS 可以对其进行解释和执行。兼容 ACPI 的系统必须在 ACPI 表中提供一组最小的控制方法。OS 提供了一组定义良好的控制方法,ACPI 表开发人员可以在其控制方法中引用。OEM 可以通过以下任一方式,使用一个版本的平台固件支持不同修订版本的芯片组:在平台固件中包含用于测试配置并按需响应的控制方法,或者为每个芯片组修订版本包含一组不同的控制方法。

中央处理单元(CPU)或处理器

平台中执行完成实际工作的指令的部分。兼容 ACPI 的 OS 可以通过操纵处理器性能控制,在处理器性能与功耗和热状态之间进行平衡。ACPI 规范定义了一种工作状态,标记为 G0(S0),在该状态下处理器执行指令。还定义了处理器睡眠状态,标记为 C1 到 C3。在睡眠状态中,处理器不执行任何指令,从而降低功耗,并可能降低工作温度。ACPI 规范还定义了处理器性能状态,在这些状态下,处理器(处于 C0 时)执行指令,但性能较低,并且(可能)具有更低的功耗和工作温度。有关更多信息,请参见第 8 节。

定义块以数据和控制方法的形式包含有关硬件实现和配置细节的信息,并以 AML 编码。OEM 可以在 ACPI 表中提供一个或多个定义块。必须提供一个定义块:差异化定义块,用于描述基础系统。在加载差异化定义块时,OS 会将差异化定义块的内容插入 ACPI 命名空间。其他定义块可由 OS 动态插入到活动 ACPI 命名空间中并从中移除,并且可以包含对差异化定义块的引用。有关更多信息,请参见定义块。

设备

用于指代平台上任何计算、输入/输出或存储元素,或任何计算、输入/输出或存储元素集合的通用术语。设备的示例包括 CPU、APU、嵌入式控制器(EC)、BMC、可信平台模块(TPM)、图形处理单元(GPU)、网络接口控制器(NIC)、硬盘驱动器(HDD)、固态驱动器(SSD)、只读存储器(ROM)、闪存 ROM,或大量其他可能的设备中的任意一种。如有可能,请使用更具体的术语。

设备上下文

设备所持有的可变数据;它通常是易失性的。设备在进入或离开某些状态时可能会遗忘这些信息(有关更多信息,请参见设备电源状态定义),在这种情况下,OS 软件负责保存和恢复这些信息。设备上下文指的是保存在设备外设中的少量信息。参见系统上下文。

设备固件

仅由特定设备使用且不能用于任何其他设备的固件。此类固件通常由设备制造商提供。

差异化系统描述表(DSDT)

OEM 必须向兼容 ACPI 的 OS 提供 DSDT。DSDT 包含差异化定义块,该定义块提供有关基础系统的实现和配置信息。OS 总是在系统引导时将 DSDT 信息插入 ACPI 命名空间,并且永不移除它。

设备物理地址(DPA)

设备相对内存地址。

嵌入式控制器

用于支持 OEM 特定功能的一类通用微控制器,只要该微控制器符合本节中描述的某个模型,就可以在任何平台设计中支持嵌入式控制器。嵌入式控制器通过与主机微处理器的简单接口来执行复杂的底层功能。

嵌入式控制器接口

OS 驱动程序与嵌入式控制器之间的标准硬件和软件通信接口。这使任何 OS 都能够提供一个标准驱动程序,直接与系统中的嵌入式控制器通信,从而使系统中的其他驱动程序能够与系统嵌入式控制器的资源通信并使用这些资源(例如,智能电池和 AML 代码)。这反过来使 OEM 能够提供 OS 和应用程序可以使用的平台功能。

扩展 ROM 固件

PCI 中用于指代在主机处理器上执行、并在引导过程中由扩展设备使用的固件的术语。这包括选件 ROM 固件和 UEFI 驱动程序。扩展 ROM 固件可以作为主机处理器引导固件的一部分嵌入,也可以是独立的(例如,来自扩展卡)。另见:选件 ROM 固件。

固件

用于描述平台上任何 BIOS 或固件的通用术语;它指的是这类事物的总称,而不是某种特定类型。如有可能,请使用更具体的术语。

固件 ACPI 控制结构(FACS)

读/写内存中的一种结构,平台运行时固件使用它在固件与 OS 之间进行握手。FACS 通过固定 ACPI 描述表(FADT)传递给兼容 ACPI 的 OS。FACS 包含系统上次引导时的硬件签名、固件唤醒向量以及全局锁。

固件存储设备

用于存储固件的存储器设备。这可以包括只读存储器(ROM)、闪存、eMMC、UFS 存储驱动器等。

固定 ACPI 描述表(FADT)

一个表,其中包含 OS 为直接管理 ACPI 硬件寄存器块而需要的 ACPI 硬件寄存器块实现和配置细节,以及 DSDT 的物理地址,后者包含其他平台实现和配置细节。OEM 必须在 RSDT/XSDT 中向兼容 ACPI 的 OS 提供 FADT。OS 总是在系统引导时将 DSDT 中差异化定义块所定义的命名空间信息插入 ACPI 命名空间,并且 OS 永不移除它。

固定特性

由 ACPI 接口提供的一组特性。ACPI 规范对硬件编程模型的生成位置和方式施加了限制。所有固定特性(如果使用)都按照本规范中的说明实现,以便 OSPM 可以直接访问固定特性寄存器。

固定特性事件

当固定特性寄存器中成对的状态位和事件位同时被置位时,在 ACPI 接口处发生的一组事件。当固定特性事件发生时,会触发系统控制中断(SCI)。对于 ACPI 固定特性事件,OSPM(或 ACPI 感知驱动程序)充当事件处理程序。

固定特性寄存器

位于系统 I/O 地址空间中特定地址位置、固定特性寄存器空间中的一组硬件寄存器。ACPI 为固定特性定义了寄存器块(每个寄存器块都从 FADT 获得一个单独的指针)。有关更多信息,请参见ACPI 硬件特性。

通用事件寄存器

通用事件寄存器包含通用特性的事件编程模型。所有通用事件都会生成 SCI。

通用特性

平台的通用特性是通过控制方法和通用事件实现的增值硬件。

通用中断控制器(GIC)

一种用于基于 ARM 处理器系统的中断控制器架构。

全局系统状态

全局系统状态适用于整个系统,并且对用户可见。在 ACPI 规范中,各种全局系统状态标记为 G0 到 G3。有关更多信息,请参见全局系统状态定义。

主机处理器

主机处理器是平台中的主要处理单元,传统上称为中央处理器(CPU),现在有时也称为应用处理器(APU)或片上系统(SoC)。这是运行主操作系统(和/或虚拟机管理程序)以及用户应用程序的处理单元。这也是负责加载并执行主机处理器引导固件的处理器。对于当前这次文本清理工作而言,该术语与“引导处理器”应视为同义词(即,如有需要,使它们保持一致可能更适合作为另一个工程变更请求的内容)。

主机处理器引导固件

用于描述由主机处理器加载并执行、为平台提供基本引导能力的固件的通用术语。此类固件指的是传统 BIOS 和 UEFI,它们有时也被称为系统 BIOS。在不需要区分传统 BIOS 与 UEFI 的情况下,将使用术语主机处理器引导固件;在区分很重要的情况下,将作相应说明。扩展 ROM 固件也可视为主机处理器引导固件的一部分。扩展 ROM 固件可以嵌入为主机处理器引导固件的一部分,也可以独立于主机处理器引导固件存在(例如,从扩展卡加载)。

主机处理器运行时固件

主机处理器运行时固件是指在主机处理器上执行的任何运行时固件。

忽略位

ACPI 硬件寄存器中的某些未使用位在 ACPI 规范中被指定为“忽略”。忽略位是未定义的,可以返回零或一(与保留位相对,保留位始终返回零)。软件在读取 ACPI 硬件寄存器时会忽略忽略位,在写入时会保留忽略位。

Intel 架构个人计算机(IA-PC)

用于描述采用符合 Intel 架构指令集的 Intel 处理器系列所定义架构、并具有业界标准 PC 架构的计算机的通用术语。

I/O APIC

输入/输出高级可编程中断控制器将来自设备的中断路由到处理器的本地 APIC。

I/O SAPIC

输入/输出精简高级可编程中断控制器将来自设备的中断路由到处理器的本地 APIC。

标签存储区域

为标签存储保留的持久存储区域。

传统

一种计算机状态,其中电源管理策略决策由随系统一同提供的平台硬件/固件作出。当前系统中的传统电源管理特性用于在使用传统 OS(即不支持由 OS 主导的电源管理架构的 OS)的系统中支持电源管理。

传统 BIOS

x86 平台上使用的一种主机处理器引导固件形式,采用传统 x86 BIOS 结构。这种形式的主机处理器引导固件已经或正在被 UEFI 取代。该术语在区分和比较较旧形式的固件与较新形式时可能最有用(例如,“在传统 BIOS 中是这样做的,而现在在 UEFI 中则以另一种方式完成”)。另请参见:BIOS、系统 BIOS。

传统硬件

不具有 ACPI 或 OSPM 电源管理支持的计算机系统。

传统 OS

一种不了解也不控制系统电源管理功能的 OS。此类别包括支持 APM 1.x 的操作系统。

本地 APIC

本地高级可编程中断控制器接收来自 I/O APIC 的中断。

本地 SAPIC

本地精简高级可编程中断控制器接收来自 I/O SAPIC 的中断。

管理固件

仅由基板管理控制器(BMC)或其他带外(OOB)管理控制器使用的固件。

多 APIC 描述表(MADT)

多 APIC 描述表(MADT)用于在支持 APIC 和 SAPIC 的系统上描述 APIC 实现。MADT 后面跟着一个 APIC/SAPIC 结构列表,这些结构声明了机器的 APIC/SAPIC 特性。

命名空间

命名空间定义了一个连续编址的非易失性内存范围,在概念上类似于 SCSI 逻辑单元(LUN)或 NVM Express 命名空间。一个命名空间可由一个或多个标签描述。

非主机处理器

非主机处理器是一个通用术语,用于描述平台上任何不是主机处理器的处理单元(例如微控制器、协处理器等)。就这份特定工程变更请求而言,它也应被视为“次级处理器”的同义词,例如 SoC 上那些不是主机(或“引导”)处理器的 CPU。

NVDIMM

非易失性双列直插内存模块。

对象

ACPI 命名空间的节点是 OS 使用系统定义表中的信息插入树中的对象。这些对象可以是数据对象、包对象、控制方法对象等等。包对象引用其他对象。对象还具有类型、大小和相对名称。

对象名称

ACPI 命名空间的一部分。对象命名有一组规则。

由操作系统主导的电源管理(OSPM)

一种电源(以及系统)管理模型,其中 OS 发挥核心作用,并使用全局信息针对当前任务优化系统行为。

可选 ROM 固件

引导固件的传统术语,通常在主机处理器上执行,供设备在引导过程中使用。可选 ROM 固件可以包含在主机处理器引导固件中,也可以由设备(例如扩展卡)单独携带。另请参见:扩展 ROM 固件

包

对象的数组。

外设

外设(也称为外部设备)是物理上位于平台外部并通过有线或无线方式连接到平台的设备。外设由其自身的设备组成,这些设备可能具有各自的固件。

持久内存(pmem)

断电后仍能保留其内容的按字节寻址内存。

平台

平台由组装在一起并协同工作以提供特定计算功能的多个设备组成,但不包括除平台中各设备固件之外的任何其他软件。平台示例包括笔记本电脑、台式机、服务器、网络交换机、刀片系统等——所有这些都不包含且独立于任何操作系统、用户应用程序或用户数据。

平台引导固件

平台上所有引导固件的集合。该固件在上电时由平台(例如 SoC、主板或完整系统)初始加载,以对平台硬件进行基本初始化,然后将控制权交给引导加载程序或 OS。在某些情况下,这将是 x86 BIOS,或者可能是 UEFI Core System BIOS,也可能完全是其他东西。一旦控制权已移交给引导加载程序或 OS,该固件便不再发挥作用。

平台运行时固件

平台上所有运行时固件的集合。这类固件可以提供可由 OS 调用的功能,但这些功能仍然只涉及平台硬件(例如 ARM 上的 PSCI)。这里的假设是,由于 OS 已经启动并运行,平台引导固件此后已被 OS 取代,但 OS 仍然需要访问某些特定硬件特性,而这可能只能通过固件来实现。

平台固件

平台引导固件和平台运行时固件的集合。

电源按钮

用户按键按钮或其他开关接触设备,用于将系统从睡眠/软关机状态切换到工作状态,并向 OS 发出信号,使其将系统从工作状态转换到睡眠/软关机状态。

电源管理

软件和硬件中的机制,用于最小化系统功耗、管理系统热限制并最大化系统电池寿命。电源管理涉及系统速度、噪声、电池寿命、处理速度以及交流电(AC)功耗之间的权衡。某些系统功能需要电源管理,例如设备型设备(例如电话答录机、炉温控制)运行。

电源资源

设备在给定电源状态下运行所需的资源(例如电源平面和时钟源)。

电源来源

为平台供电的电池(包括 UPS 电池)以及交流电线路供电的适配器或电源。

寄存器分组

由两个寄存器块组成(它具有指向两个不同寄存器块的两个指针)。寄存器分组中的固定位置位可以分布在这两个寄存器块之间。这允许寄存器分组中的位分布在两个芯片之间。

保留位

ACPI 硬件寄存器中的某些未使用位在 ACPI 规范中被指定为“保留”。为了将来的可扩展性,硬件寄存器中的保留位总是返回零,并且对它们的数据写入没有副作用。OSPM 实现必须在使能寄存器和状态寄存器中的所有保留位写入零,并在控制寄存器中保留这些位。

根系统描述指针 (RSDP)

兼容 ACPI 的系统必须在系统的低地址空间中提供一个 RSDP。此结构的唯一用途是提供 RSDT 和 XSDT 的物理地址。

根系统描述表 (RSDT)

一个签名为“RSDT”的表,后面跟着一个指向其他系统描述表的物理指针数组。OS 通过跟随 RSDP 结构中的指针来定位该 RSDT。

运行时固件

用于描述平台上在运行时使用的任何固件的通用术语(即,在引导过程完成之后)。如果可能,请使用更具体的术语。

次级系统描述表 (SSDT)

SSDT 是 DSDT 的延续。多个 SSDT 可用作平台描述的一部分。在 DSDT 被加载到 ACPI 命名空间之后,RSDT/XSDT 中列出的每个具有唯一 OEM 表 ID 的次级描述表都会被加载。这使 OEM 能够在一个表中提供基础支持,同时在其他表中添加较小的系统选项。

系统物理地址 (SPA)

由平台分配和编程并由 OS 使用的平台物理地址。

睡眠按钮

一种用户按压按钮,用于将系统从睡眠/软关机状态切换到工作状态,并向 OS 发出信号以从工作状态转换到睡眠状态。

智能电池子系统

符合以下规范的电池子系统:智能电池,以及智能电池系统管理器或智能电池充电器和选择器之一,再加上附加的 ACPI 要求。

智能电池表

在具有智能电池子系统的平台上使用的一种 ACPI 表。此表指示平台为了将系统置于不同睡眠状态而要求的能量级别跳变点,以及用于警告用户将平台转换到睡眠状态的建议能量级别。

SMBus 接口

OS 总线驱动程序与 SMBus 控制器之间的标准硬件和软件通信接口。

软件

软件由加载操作系统所需的元素,以及随后由操作系统处理的所有用户应用程序和用户数据组成。

精简高级可编程中断控制器 (SAPIC)

一种高级 APIC,常见于基于 Intel ItaniumTM Processor Family 的 64 位系统。

System

系统是一个计算实体的整体,包括平台中的所有元素(硬件、固件)以及软件(操作系统、用户应用程序、用户数据)。系统既可以被视为逻辑构造(例如软件栈),也可以被视为物理构造(例如笔记本电脑、台式机、服务器、网络交换机等)。

System BIOS

业界有时使用的一个术语,用于指代 遗留 BIOS,或者 UEFI Core System BIOS,或者两者。仅在指代 遗留 BIOS 时才应使用此术语。另请参见:BIOS、遗留 BIOS。

System Context

系统中未由设备驱动程序保存的易失性数据。

System Control Interrupt (SCI)

硬件用于通知 OS ACPI 事件的一种系统中断。SCI 是一种有效低电平、可共享的电平中断。

System Management Bus (SMBus)

一种基于 I²C 协议的双线接口。SMBus 是一种低速总线,为设备提供正向寻址以及总线仲裁。

System Management Interrupt (SMI)

一种对 OS 透明的中断,由传统系统上的中断事件生成。相比之下,在 ACPI 系统上,中断事件会生成一种 OS 可见且可共享的中断(边沿式中断将无法工作)。想要同时支持传统操作系统和 ACPI 系统的硬件平台,在 ACPI 与传统模型之间切换时,必须支持一种在 SMI 和 SCI 之间重新映射中断事件的方法。

Thermal States

热状态表示系统热区内不同的运行环境温度。一个系统可以有一个或多个热区;每个热区都是围绕特定温度传感设备的空间体积。从一个热状态到另一个热状态的转换由跳变点标记,当热区内的温度高于或低于跳变点温度时,这些跳变点被实现为生成一个 SCI。

UEFI

Host Processor Boot Firmware 的一种形式,它使用 Unified Extensible Firmware Interface (UEFI) 结构(由 UEFI Forum 定义)。这是当前业界正在采用为标准的主机处理器引导固件结构。该术语应在专门指代平台上的 UEFI 代码时使用。

UEFI Drivers

采用 PECOFF 格式的独立二进制可执行文件,由 UEFI 在引导过程中加载,以处理特定的硬件部件。

扩展根系统描述表 (XSDT)

XSDT 提供与 RSDT 相同的功能,但可容纳大于 32 位的 DESCRIPTION HEADER 的物理地址。请注意,XSDT 和 RSDT 都可以由 RSDP 结构指向。

Prev
总览
Next
2.2. 全局系统状态定义