关注分享主机优惠活动
国内外VPS云服务器

ACPI 规范第 3 章 ACPI 概念

摘要:兼容的电池设备需要一个智能电池子系统接口,该接口由操作系统通过嵌入式控制器接口直接控制或连接。 这允许任何操作系统提供一个标准的总线枚举器,可以直接与系统中的嵌入式控制器通信,并允许系统中的其他驱动程序与系统中的嵌入式控制器通信并使用其资源,它会是这样的。

目录

不。 第 3 章 ACPI 概念... 2

3.1 系统电源管理... 3

3.2 电源状态... 3

3.2.1 电源按钮... 4

3.2.2 平台电源管理功能... 5

3.2.2.1 移动数据终端... 5

3.2.2.2 台式计算机... 5

3.2.2.3 多处理器和服务器 PC。5

3.3 设备电源管理。 . 6

3.3.1 设备电源管理模式... 6

3.3.2 电源管理标准... 7

3.3.3 设备电源状态... 7

3.3.4 定义设备电源状态... 7

3.4 控制设备电源... 8

3.4.1 获取设备电量... 8

3.4.2 设置设备开机/关机状态... 8

3.4.3 获取设备电源状态...9

3.4.4 启动系统... 9

3.4.5 示例:调制解调器设备电源管理... 10

3.4.5.1 获取调制解调器功能... 11

3.4.5.2 配置调制解调器电源状态... 11

3.4.5.3 获取调制解调器电源状态... 12

3.4 . 5.4 启动系统... 12

3.5 处理器电源管理 .. 12

3.6 设备和处理器性能状态... 13

3.7 配置和即插即用... 13

3.7 .1 设备配置示例:调制解调器配置... 13

第 3.7.2 章 NUMA 节点... 14

3.8 系统事件... 14

3.9 电池管理... 14

3.9.1 电池通信... 15

3.9.2 电池容量... 15

3.9.3 电池容量表... 16

3.9.4 电池电量低... 16

3.9.4.1 紧急关闭... 17

3.9.5 校准电池... 18

3.9. 6 电源限制... 18

3.10 热管理概念... 19

3.10.1 主动散热模式和被动散热模式. 20

3.10.2 性能和节能... 20

3.10.3 声音(噪音)20

3.10.4 多个热分区... 20

3.11 灵活的平台架构支持 . 20

3.11.1 硬件-简化的 ACPI 21

3.11.1.1 基于中断的唤醒事件... 21

3.11.2 低功耗空闲状态... 21

3.11 . 2.1 低功耗 S0 空闲启用标志...21

3.11.3 连接资源... 21

对于 3.11.3.1 支持的平台... 22

第 3 章 ACPI 概念

ACPI 兼容平台支持操作系统期间的计算机电源管理和主板设备。初始化过程完成后,OSPM 将从旧实现(例如 APM BIOS、基于 SMM 的固件、旧应用程序和 PNPBIOS)继承这些功能。完成后,OSPM 将根据用户设置和应用程序请求处理主板设备配置事件。提供了一个低级接口,允许 OSPM 执行这些功能。该规范涵盖的功能区域是:

系统电源管理 ACPI 定义了进入和退出系统的机制,还提供了设备电源管理的通用机制

设备电源管理 ACPI 表描述了主板设备、其电源状态以及设备所在的电源平面。已连接,以及根据应用程序将设备置于不同电源状态的控件。

p>

处理器电源管理在操作系统空闲时将设备设置为低功耗状态。 当不处于睡眠模式时,使用以 ACPI 编写的命令将处理器置于低功耗状态。

设备和处理器性能管理 当系统处于活动状态时,OSPM 将设备和处理器转换为 ACPI 的各种定义的性能。各州在性能和节能目标以及能见度和声学等其他环境要求之间实现了理想的平衡。

配置/即插即用 ACPI 指定用于枚举和配置主板设备的信息。 该信息按层次排列,以便当发生诸如对接或断开对接之类的事件时,操作系统先验地准确地知道哪些设备受到该事件的影响。

系统事件 ACPI 支持系统事件,例如热事件、电源管理事件、对接以及设备插入和移除。 事件。 这种机制非常灵活,因为它没有明确定义事件如何路由到核心逻辑芯片组。

电池管理 电池管理策略从 APM BIOS 传输到 ACPI 操作系统。 兼容ACPI的电池设备需要智能电池子系统接口(操作系统通过嵌入式控制器接口直接控制)或控制方法电池接口。 控制方法电池接口完全由AML控制方法定义,允许OEM选择ACPI支持的任何类型的电池和任何类型的通信接口。 电池必须符合本文档或其他适用标准中列出的接口要求。 操作系统可以选择修改电池行为,例如,通过调整低电池或电池警告跳变点。 当存在多个电池时,电池子系​​统不需要从多带电池数据进行“复合电池”合成。 电池子系统不能与电池分离。对于数据合成的“复合电池”,操作系统必须提供这种合成。

热管理 由于操作系统控制设备和处理器的电源和性能状态,ACPI 也对应于温度的 管理问题。 它提供了一个简单且可扩展的模型,允许 OEM 定义热区域、热指标以及热区域的冷却方式。

嵌入式控制器 ACPI 提供操作系统的总线枚举器与嵌入式控制器的硬件和软件通信接口之间的链接。定义标准 这允许任何操作系统提供一个标准的总线枚举器,可以直接与系统中的嵌入式控制器通信,并允许系统中的其他驱动程序与系统中的嵌入式控制器通信并使用其资源,它会是这样的。 这使得 OEM 能够提供可供操作系统和应用程序使用的平台功能。

SMBus 控制器 ACPI 定义了操作系统总线驱动程序和 SMBus 控制器之间的标准软件和硬件通信接口。 这使得任何操作系统都可以提供标准总线驱动程序,可以直接与系统内的 SMBus 设备进行通信。 这使得 OEM 能够提供可供操作系统和应用程序使用的平台功能。

OSPM的任务是优化配置平台,优化系统功耗、性能和热管理。就是去做。 用户偏好。 保持状态,同时支持操作系统规定的服务质量 (QOS)/可用性目标。 为了实现这些目标,ACPI 允许平台的硬件、固件或其他非操作系统软件来管理平台的配置、电源、性能,并且无法操作温度控制接口。 开放源码软件M Multiband 负责协调系统配置、电源管理、性能管理和热控制策略。 独立于 OSPM 操作这些接口违背了 OSPM/ACPI 的目的,并且可能对系统配置、功耗、性能和热策略目标产生负面影响。 此要求有两个例外。 第一种情况是当存在符合 ACPI 的操作系统并且 OSPM 延迟不足以补偿不利的热条件时,这可能会导致系统损坏。 在这种情况下,平台可以采用故障安全热控制机制来降低系统组件的性能以避免损坏。 在这种情况下,如果性能下降持续很长一段时间(即,如果性能下降的时间段对 OSPM 功能或性能控制策略产生负面影响,操作系统供应商可以提供这方面的指导),则平台 OSPM 必须收到性能下降的通知。 第二个例外是平台包括主动冷却但不包括温度跳变点或被动冷却控制。 在这种情况下,可以在不影响OSPM目标的情况下实施基于硬件的主动冷却机制。 需要主动和被动冷却的平台必须允许 OSPM 通过 ACPI 定义的主动和被动冷却接口来管理平台热量。

3.1 系统电源管理

通过 OSPM,操作系统可以指导所有系统和设备的电源状态转换。 操作系统使用有关您的偏好以及应用程序如何使用设备的信息来将设备置于低功耗状态或退出低功耗状态。 不使用的设备可以关闭。 同样,操作系统使用来自应用程序和用户设置的信息将整个系统置于低功耗状态。 操作系统使用 ACPI 来控制硬件加电状态转换。

3.2 电源状态

从用户可见的层面来看,系统可以认为处于以下状态之一。

有关这些状态的详细定义,请参阅第 2.2 章。

通常,计算机会在活动和活动之间交替在活动状态下,用户模式应用程序线程被调度并且处理器运行。当不使用时,计算机由于不活动而处于低功耗状态(Cx)状态。以较短的延迟开启(“短路”的含义因设备而异)。 (启动应该在亚秒范围内,但等待几秒钟打印机启动通常是可以接受的)

就是这样! 最终的效果是整个机器处于工作状态,正常工作。 不同的子状态以不同的计算速度、功耗、热量产生和噪声产生运行。 操作条件下的调整主要涉及速度、功率、热量和噪声之间的权衡。

图 3.1:全局系统电源状态和转换

当计算机空闲时或用户按下电源按钮后,操作系统使计算机进入睡眠状态(Sx)。当计算机睡眠时,显示给用户不进行任何计算。休眠子状态确定哪些事件可以将系统唤醒到工作状态,以及机器何时需要针对所有可能的事件快速唤醒。关键事件是用户按下电源开关,允许延迟。几分钟后,操作系统将所有系统上下文返回到 NVS 文件并将硬件转换为 S4 休眠状态。在此状态下,计算机几乎不消耗任何电量并在任何时间段内维护系统上下文(根据需要多次)。 )。几年或几十年)

支持电源管理接口启动的计算机不太常用。当加载 ACPI 操作系统时,传统状态和没有传统支持的系统(例如 RISC 系统)直接从机械关闭状态转换到操作状态,用户通常通过打开机械开关将计算机置于“机械关闭”状态。电脑或拔掉电脑插头。

3.2.1 电源按钮

在传统系统中,电源按钮通常会强制机器进入“软关机”或“机械关机”状态。 在笔记本电脑上,强制机器进入某种睡眠状态。 考虑用户的策略(例如用户希望为机器“加油”)。 所有与不到一秒相关的上下文都是当用户“关闭”机器时、系统提醒功能(例如当系统用作答录机或传真机时)或应用程序功能(例如当用户文件存储等)。

OSPM 系统中有两个开关。 一是使系统进入机械关闭状态。 一些司法管辖区(例如一些欧洲国家)出于法律原因需要防止泄漏的机制。 另一个是“主”电源按钮。 这可以在一些明显的地方找到(例如笔记本电脑键盘旁边)。 与传统的切换按钮不同,它们只是向系统发送请求。 系统对请求执行的操作取决于源自用户设置、用户功能请求和应用程序数据的策略考虑。

3.2.2 平台电源管理功能

3.2.2.1 移动 PC

移动 PC 继续具有强大的电源管理功能。 OSPM/ACPI 支持增强的节能技术和更精细的用户策略。

ACPI 规范中移动 PC 电源管理的一个方面是热管理(请参阅第 3.10 节)。

3.2.2.2 台式电脑

有两种类型的电源管理桌面,第一种会随着时间的推移迁移到第二种。

一台常规的“绿色计算机”,其中新的电气功能不是问题。 这台机器实际上只用于生产力计算。 至少在最初,这样的机器几乎没有什么功能。 特别是,您需要常用的 ACPI 计时器和控件,但不需要支持复杂的睡眠状态等。 但是,您需要允许操作系统将尽可能多的设备/资源置于待机状态。 尽可能独立(最大限度地提高计算速度并最大限度地减少未使用设备上的电力浪费);并允许此类计算机在管理员开始工作之前处于待机状态,还必须支持通过计时器从休眠状态恢复。

家用 PC 计算机在家庭环境中无处不在,充当娱乐中心并执行接听电话等任务。它用于。 事实上,它具有普通绿色 PC 的所有 ACPI 电源功能,除了扩展坞和合盖事件(需要明确的是,它不需要传统的电源管理)。 家庭电脑用户通常希望他们的系统在热量受限的环境中尽可能安静地运行,因此存在热管理方面的问题。

3.2.2.3 多处理器和服务器 PC

也许令人惊讶的是,服务器计算机通常提供最大的绝对节能效果。 为什么? 因为它们拥有最大的硬件配置,而有人在晚上外出时按下关机开关是不切实际的。 margin-left:.0001pt;text-align:justify;">日间模式 在日间模式下,服务器像企业中的普通绿色 PC 一样进行电源管理,并且始终处于运行状态,但只要有可能,未使用的设备就会被关闭。置于低功耗状态状态。 由于服务器可能非常大并且具有许多磁盘轴,因此电源管理可以节省大量资源。 OSPM 仔细调整了时间安排,使其成为可能。

在夜间模式下,您的服务器看起来就像您的家用计算机。 它们可以睡得尽可能深,并且仍然在指定的延迟时间内醒来并响应通过网络、电话链路等接收到的服务请求。 例如,打印服务器可能会进入深度睡眠状态,直到凌晨 3 点收到打印作业,此时它会在 30 秒内醒来,打印作业,然后返回睡眠状态。 如果通过 LAN 发送打印请求,则此方案依赖于智能 LAN 适配器,该适配器可以唤醒系统以响应接收到的感兴趣的数据包。

3.3 设备电源管理

引入 acpi 兼容设备的电源管理。 描述 ACPI- 兼容操作系统执行设备电源管理所需的 ACPI 设备电源状态、控制和信息,然后将计算机从睡眠状态唤醒并使用调制解调器连接设备。下面解释。 ACPI-兼容设备管理

3.3.1 设备电源管理模式

ACPI设备电源管理基于统一模型如下:

分布式设备电源状态策略对于系统上的每个硬件设备,“操作系统”内都有一个“电源策略所有者”,负责持续确定设备的最佳电源状态。 最佳设备电源状态是指设备在任何给定时间消耗最少的电量并满足系统和用户对设备的要求。 策略通常是针对设备类别定义的,并且可以选择合并应用程序活动、用户场景和其他行为条件。 这适用于某一类的所有设备。

分层设备电源状态控制 一旦做出设备电源状态决策,就必须由设备执行。 驱动程序也是如此 该模型将控制功能分为设备层、总线层和平台层。 每层中的设备驱动程序由 OSPM 协调,并使用该层可用的机制来执行控制。 通常,当设备断电时,顺序从设备/类级​​别到总线级别再到平台级别,而当设备上电时,顺序相反。

例如,设备级驱动程序可能会使用对独特功能的访问权限。 编程接口。 电源控制功能配置和控制寄存器。 设备驱动程序根据策略所有者确定的目标 ACPI 定义的电源状态使用这些控制。 类似地,设备类具有标准化的电源特性,类驱动程序在进入目标电源状态时可以以标准化的方式调用这些特性。

在总线级别,电源管理标准运行,提供总线特定的控制,无论设备类别如何。 。 。 例如,PCI 在设备配置空间中定义了一个字段,用于设置设备的电源状态 (D0-D3)。 总线级驱动程序利用这些标准来强制执行特定设备或设备类驱动程序应用的控制。 总线特定机制允许总线基础设施硬件本身进入总线标准定义的低功耗状态,从而实现附加功能。进一步节省电力。

最后,对于平台级电源状态控制,ACPI 将设备置于给定的电源状态,定义一种机制 状态(_PRx、_PSx、_ON、_OFF)。 操作系统电源管理软件(OSPM)利用这些机制来提供特定于平台的、对特定设备的最低级别的控制,例如打开和关闭电源轨和时钟、重置硬件等。

操作系统调整 最后,ACPI 通知电源策略所有者支持 OSPM 定义启用信息和操作要求。 。 提供状态和唤醒功能,并在电源控制期间协调不同级别的设备驱动程序的行为。 在此角色中,OSPM 负责确保设备电源管理与系统电源管理协调,例如进入睡眠状态 (S1S4) 和低功耗空闲状态 (LPI)。 唤醒策略和控制与设备电源状态策略和控制集成,并由 OSPM 协调。 电源策略所有者确定设备何时唤醒系统,并确保当平台进入睡眠或 LPI 状态时,仅选择设备可以唤醒的设备电源状态。 唤醒硬件激活也在设备、总线和平台级别执行,并由 OSPM 协调。 OSPM 还确保为系统选择的睡眠或 LPI 状态与当前启用唤醒的所有设备的设备状态和唤醒功能兼容。

3.3.2 电源管理标准

为了管理系统中所有设备的电源,操作系统需要一种标准方法来向设备发送命令。 这些标准定义了管理特定 I/O 互连上的设备电源以及设备放置位置的操作。电源状态。 为每个 I/O 互连定义这些标准创建了操作系统可用的电源管理支持的基线级别。 独立硬件供应商(IHV)只要符合标准就可以获得操作系统的直接支持,从而无需花费额外的时间来编写软件来管理硬件性能。 对于操作系统供应商而言,I/O 互连标准允许将电源管理代码集中在每个 I/O 互连的驱动程序中。 最后,I/O 互连驱动的电源管理允许操作系统跟踪特定 I/O 互连上所有设备的状态。 当所有设备都处于特定状态(例如,D3 关闭)时,操作系统可以将整个 I/O 互连设置为该状态的适当电源模式(例如,D3 关闭)。

许多总线的 I/O 互连级电源管理规范,包括: 进行了描述。

•总线标准

•串行总线

•卡总线

•usb

•ieee 1394

3.3.3 设备电源状态

为了统一术语并在设备之间提供一致的行为,请使用设备电源状态的标准定义。通常,这些状态根据以下标准定义:

•功耗 - 设备使用的电量。

•设备上下文-硬件维护的设备上下文数量。

•设备驱动程序- — 设备驱动程序必须执行哪些操作才能将设备恢复到完全打开状态

• 恢复延迟 - 必需按设备

更具体地说,每种类型设备(调制解调器、网络适配器等)的电源管理规范、硬盘驱动器等)更精确地定义此类的电源状态和电源策略以及一般设备电源有关状态 (D0-D3) 的更多信息,请参阅设备电源状态。 ]left:.0001pt;text-align:justify;">3.3.4 定义设备电源状态

虽然设备电源状态的定义是与设备无关的,但总线上的设备类必须支持一组一致的电源相关特性,例如,将设备的电源状态设置为特定级别时设备可以执行的操作。当调用特定于总线的机制来执行此操作时所采取的操作以及当设备处于该状态时操作系统可以采取的特定行为因设备类型而异。不同的。 对于完全集成的设备电源管理系统,某些类别的电源特性还必须标准化:

设备能力消耗状态特征每一类设备都有一个目标功耗级别,有标准定义延迟和上下文丢失。

设备最小功率能力 每种类型的设备都有一组最小的标准功率能力。

设备功能特性 每种类型的设备定义了每种电源状态下的可用功能。 有关设备功能和能力的信息(例如,网卡可以接收但不能发送;声卡除了功率放大器被关闭之外功能齐全;等等)。

设备唤醒特性 每种类型的设备都有唤醒策略的标准定义。

设备类电源管理规范定义了每种类型设备的这些电源状态的特征。 请参阅附录 A:设备类别规格。

3.4 控制设备电源

ACPI 接口提供管理设备电源所需的控制方法和信息。 OSPM 使用这些接口来执行诸如确定设备的功能、运行方法来设置设备的电源状态或获取设备的状态以及使设备能够唤醒机器等任务。

• 其他总线枚举主板上的一些设备,例如PCI设备是通过标准PCI枚举机制上报的,这些设备的电源管理是通过自己的总线来完成的规范(在这种情况下,这是由 PCI 处理的;主板上的其他设备通过 ACPI 处理。具体来说,ACPI 表是专有总线规范,并且列出了专有总线规范未涵盖的任何其他电源管理或配置选项无法通过系统中每条公交车的路线报告。 -left:.0001pt;text-align:justify;">更多信息请参阅第 7 节。 /p>

3.4.1 获取设备电量能力

操作系统在枚举设备时,平台引导固件为ACPI 处理的每个设备提供增量定义块,它包括以下信息:

描述设备支持哪些电源状态。例如,设备在D0状态下是否需要高功率总线和时钟,但在D2状态下只需要低功耗总线且没有时钟?

•设备唤醒机器所需的电源资源的描述(或者如果没有。电源资源,设备不支持唤醒操作)。 系统可以使用此信息来推断哪些设备和系统电源状态可以支持唤醒。

•如何控制操作系统可用于设置设备电源状态、获取和设置资源的选项。

除了描述 ACPI 处理的设备外,该表还描述了电源层和时钟源本身以及打开和关闭它们的控制方法。详细信息请参见第 7 节

3.4.2 设置设备的电源开/关状态。设备

OSPM 允许您将设备的电源开/关状态设置为四种电源状态之一。

当设备处于低功耗状态时,设备会自行调整以从设备消耗尽可能少的电量。尽可能配置总线。 操作系统跟踪总线上所有设备的状态和当前设备。 例如,如果总线上的所有设备都处于 D3 状态,则操作系统向总线控制芯片发送命令以断开总线电源(这会将总线置于 D3 状态)。 如果总线支持低功耗状态,则无论设备的电源状态如何,操作系统都必须能够在所有设备处于 D1 或 D2 状态时发出 Set 来恢复电源状态。

•发送命令之前设备不需要打开操作系统。

要将

OSPM 还使用设置电源状态操作来启用唤醒等电源管理功能(在电源和性能管理中进行了描述)。

对于掉电操作(从Dx过渡到更深的Dy),OSPM首先设置目标状态(_PSx ),然后关闭未使用的电源。 这并不意味着设备实际上已断电。 如果有其他活动设备共享电源,则电源保持打开状态(从某个 Dx 回到较浅的 D0),首先打开所需的电源资源,然后评估控制方法(_PS0)。

3.4.3 获取设备电源状态。

OSPM 使用获取电源状态操作来确定当前电源配置(状态和特性)并识别支持的电池您的设备的状态。 例如,设备可以向操作系统通知电源状态更改,以通知操作系统电池已达到低电量水平。 -left:.0001pt;text-align:justify;">设备使用 ACPI 事件模型来通知 OSPM 电源状态的变化(例如电池状态的变化)。平台使用中断来发送信号向操作系统(SCI 或 GPIO)设置以向操作系统指示事件。该控制方法通知操作系统设备上发生了更改。支持两种类型的电池。 一种是仅报告基本电池状态信息的电池,另一种是支持智能电池系统实施者论坛的智能电池规范的电池。 对于仅报告电池基本状态信息(总容量、剩余容量等)的电池,操作系统通过电池描述表中的控制方法读取该信息。 为了读取智能电池状态信息,操作系统可以使用标准智能电池驱动程序通过适当的总线枚举器直接与智能电池连接。

3.4.4 启动系统

唤醒操作会导致设备将系统从睡眠或低功耗空闲状态唤醒。 该操作不能依赖于CPU,因为CPU不执行指令。

操作系统确保设备和核心逻辑之间的桥梁处于最低功耗状态。 您还可以传输唤醒信号。 当具有唤醒功能的设备决定唤醒系统时,它会向总线发送定义的信号。 总线桥必须使用该总线的适当信号将该信号转发到上游桥。 因此,信号最终到达核心芯片组(例如ACPI芯片组)并唤醒系统。

在将系统置于睡眠电源状态之前,操作系统会选择哪个设备来唤醒系统。确定是否有必要。 根据应用程序请求以特定于设备和总线的方式唤醒这些设备。

操作系统可以设置设备的 SCI 启用位或启用设备的唤醒功能。 。 -up 中断。 控件的位置列在描述表的设备条目中。 仅启用唤醒功能的设备启动系统。 操作系统跟踪唤醒设备支持的电源状态,并将系统维持在允许唤醒设备唤醒系统的电源状态(基于描述表中报告的功能)。

如果系统处于睡眠或低功耗空闲状态,唤醒设备决定唤醒马苏。 通知系统并向核心逻辑发送信号。 通过设置唤醒系统的设备对应的状态位,核心逻辑恢复系统。 操作系统再次运行后,通过执行控制方法(唤醒事件的情况)或处理设备的ISR(唤醒中断的情况)来确定负责唤醒事件的设备。

•除了允许某些设备使用 ACPI 机制唤醒系统之外,ACPI 平台还必须: 您还可以记录并向 OSPM 唤醒源报告。 当系统从某些状态(例如S4状态)唤醒时,它可能会启动到非acpi模式。 此时,当重新进入 ACPI 模式时,SCI 状态位可能会被清除。 但是,平台应尝试记录唤醒源,以便 OSPM 稍后检索。

上面描述了设备如何唤醒系统,但是S0系统状态请注意以下几点: 设备还可以进入低功耗状态,并且设备可以在 S0 状态下生成唤醒信号,如下例所示。

3.4.5 示例:调制解调器设备电源管理

为了说明这些电源管理方法如何与 ACPI 配合使用,请考虑集成调制解调器。 (为了便于讨论,该示例已被大大简化。)调制解调器电源状态定义为(来自“调制解调器”)调制解调器设备类电源管理规范"):

扬声器上的 D0 电话接口调制解调器控制器 可暂停或可拿起并等待响应

D1调制解调器控制器处于低功耗模式(设备预留地面)电话线必须通电或者低功耗模式下必须关闭手机接口扬声器。

D2 和 D3 相同

D3 调制解调器控制器关闭(上下文丢失) 由电话线或扬声器供电的电话接口出现故障摘机

调制解调器电源策略为

D3 D0 COM 端口已打开

D0, D1、D3 COM 端口已关闭

D0 D1 调制解调器进入响应模式

D1 D0 调制解调器如果处于应答模式,应用程序将要求您拨号,否则电话将响铃

调制解调器唤醒策略非常简单。 如果电话铃声响起且唤醒功能已启用,则唤醒调制解调器。 系统。

基于此策略,您可以对调制解调器及其连接的 COM 端口进行硬连线,如图所示。可以在ware中实现。 表示 3-2。 这只是 ACPI 工作原理的一个示例。 此示例并非旨在解释 OEM 如何构建硬件。

图 3.2:调制解调器和 COM 端口硬件示例

注意:虽然上面没有显示,但每个分立组件都有某种隔离逻辑,可以在断电时隔离该组件。 隔离逻辑控制在ACPI差异化描述块中作为电源资源实现,使得电源平面持续关闭时设备被隔离。

3.4.5.1 获取调制解调器功能

操作系统读取差分定义块调制解调器时的条目枚举调制解调器确定调制解调器的功能。 在这种情况下,调制解调器条目将报告:

设备支持 D0、D1、D3:

•d0 需要 PWR1 和 PWR2 作为电源,D1 需要 PWR1 作为电源(D3 隐式需要电源))

• 唤醒系统,调制解调器不需要电源资源(即(可以唤醒系统)D0、D1、d3)

配置电源状态和资源控制方式

3.4.5.2 设置调制解调器电源状态

条件 操作系统运行时(G0状态),根据调制解调器的电源策略将调制解调器切换到不同的电源状态。

当应用程序打开 COM 端口时,操作系统将调制解调器置于 D0 状态并将调制解调器打开马苏。 调制解调器。 当应用程序将调制解调器设置为应答模式时,操作系统将调制解调器设置为 D1 状态,等待呼叫。 为了完成此断电转换,OSPM 首先执行调制解调器条目 (_PS1) 中提供的控制方法,将设备置​​于 D1 状态。 在此示例中,该控制方法断言 MDM_D1。该数字告诉调制解调器控制器进入低功耗模式。 然后,OSPM 确定调制解调器设备不再需要哪些电源资源。 在这种情况下,不再需要 PWR2。 接下来,确保系统中没有其他设备需要使用 PWR2 电源资源。 当不再需要 PWR2 电源层时,OSPM 使用与该电源资源关联的“_OFF”控制模式将其关闭。 该控制方法向核心芯片组发送适当的命令以解除 PWR2_EN 线的断言。

当设备处于低功耗状态时,OSPM 不一定会关闭电源资源。 例如,假设 PWR1 电源层还为有源行式打印机 (LPT) 端口供电。 假设当用户退出调制解调器应用程序时,COM 端口关闭并且调制解调器关闭(状态 D3)。 与往常一样,OSPM 通过调制解调器控制将设备切换到 D3 电源状态,并开始状态转换过程。 此控制方法断言 MDM_D3 线。 请注意,这些寄存器可能不存在于设备本身上。 例如,控制方法可以读取控制 MDM_D3 的寄存器。 此时,调制解调器控制器的所有主要功能都被关闭,因此 PWR1 线路所需的电源(如果有的话)也很少。 OSPM 继续检查哪些电力资源不再需要。 LPT端口仍然处于活动状态,因此PWR1被占用。 OSPM 不会关闭 PWR1 资源。 由于 COM 端口关闭,因此会发生相同的事件序列并保持在 D3 状态,但由于 LPT 依赖性,电源资源并未关闭。

3.4.5.3 获取调制解调器电源状态

内置调制解调器没有电池。 唯一的设备电源状态信息是调制解调器电源状态。 检查调制解调器的当前电源状态 (D0-D3)),OSPM 执行调制解调器增量定义块条目中提供的控制方法(_PSC)。 该控制方法从所需的寄存器读取数据以确定调制解调器的电源状态。

3.4.5.4 启动系统

如调制解调器功能所示,该调制解调器可以从设备的任何电源状态唤醒机器。 在将系统置于睡眠状态或 LPI 之前,操作系统会启用请求应用程序唤醒系统的设备。 接下来,选择深度睡眠或 LPI 状态,以提供必要的电源资源,以允许所有启用的唤醒设备唤醒系统。 然后操作系统将这些设备置于适当的电源状态。 在这种情况下,操作系统将调制解调器置于 D3 状态。 这是因为操作系统支持从该状态返回。 最后,操作系统将系统置于休眠或LPI状态。

通过调制解调器发起系统唤醒,当检测到手机响铃时,调制解调器将手机接口断言。 线。 环形指示器 (RI) 线。 该线被路由到核心逻辑以生成唤醒事件。 然后芯片组唤醒系统,硬件最终将控制权交给操作系统(唤醒机制取决于睡眠或LPI)。 操作系统运行后,设备进入 D0 状态并开始处理调制解调器中断以处理事件。

3.5 处理器电源管理

为了进一步节省“工作”状态下的功耗,当操作系统空闲时,CPU设置为低功耗状态(C1、C2、C3)。 在这些低功耗状态下,CPU 不执行指令,并在发生中断(例如来自操作系统调度程序的定时器中断)时被唤醒。

操作系统通过读取ACPI电源管理定时器来确定空闲循环所花费的时间。 该计时器以已知的固定频率运行,允许操作系统准确确定空闲时间。 根据此空闲时间估计,当 CPU 进入空闲循环时,操作系统会将 CPU 置于不同质量的低功耗状态(不同的功耗和延迟)。

CPU状态在处理器配置和控制中进一步定义

3.6 设备和处理器性能状态

介绍;设备和处理器性能状态的概念。 设备和处理器性能状态(Px 状态)是活动/运行电源和功能状态,其中 C0 代表处理器,D0 代表设备。 性能状态允许 OSPM 在性能和节能之间进行权衡。 当设备和处理器性能状态调用不同的设备和处理器效率级别时,设备和处理器性能状态对性能和能耗的线性缩放影响最大。 由于性能状态转换发生在活动/运行设备状态中,因此必须注意确保性能状态转换不会对系统产生负面影响。

以下是设备性能状态的一些示例:

•与硬盘驱动器提供的最大吞吐量级别相对应的功耗级别。

• 支持针对不同功耗级别的多种亮度级别的 LCD 面板

• 图形性能组件、之间的缩放性能2D 和 3D 绘图模式以及相应的功耗级别

• 多级音频子系统,最大音量对应于最大功耗级别

•Direct- RDRAMTM 提供多个级别的处理器性能状态:

这是通过调整环来实现的。 在处理器配置和控制中进行了描述

3.7 配置和控制即插即用

除了电源管理之外,ACPI 接口还提供允许 OSPM 配置主板的控制和信息。 设备及其动态插入和移除所需的资源。 DSDT(杰出系统描述表)和 SSDT(辅助系统描述表)等 ACPI 定义块以称为 ACPI 命名空间的分层格式描述主板设备的操作。 系统通过读取 ACPI 命名空间并搜索具有硬件 ID 的设备来枚举主板设备。

ACPI 枚举的每个设备都有一个 ACPI 命名空间中包含 ACPI 定义的对象。 报告设备当前使用的资源以及用于配置这些资源的对象。 OSPM(即插即用操作系统)使用此信息来配置设备。

注意:平台启动固件只需要在准备系统启动时配置启动设备。 这不仅包括ACPI系统描述表中列出的启动设备,还包括通过其他标准控制的设备。

3.7.1 设备配置示例:调制解调器配置

上面的调制解调器设备示例 返回到 ,当操作系统在 DSDT 中找到调制解调器时,它会加载其驱动程序。 该表包含向操作系统提供以下信息的控制方法:

• 设备可以使用 IRQ 3。 , I/O 3F8-3FF 或 IRQ 4, I/O 2E8-2EF

•设备当前正在使用 irq3,I/O 3F8-3FF

操作系统即插即用算法选择不与其他设备冲突的受支持配置,并通过“区别定义”块的调制解调器部分中提供的控制方法来配置设备。

第 3.7.2 章. NUMA 节点

一个系统使用非统一内存访问 (NUMA) 架构,包括硬件资源的集合,其中包括处理器。这些硬件资源构成了通常所说的“NUMA 节点”。 处理器访问本地 NUMA 节点中的内存或 I/O 资源的速度通常比访问本地 NUMA 的速度快。 节点外部的内存或 I/O 资源。 ACPI 定义了一个接口,允许平台在启动时静态地将 NUMA 节点拓扑信息传递给 OSPM,并在运行时在系统中添加或删除资源时动态地将 NUMA 节点拓扑信息传递给 OSPM。 /p>

3.8 系统事件

ACPI 包括用于即插即用、散热和电源管理事件的通用事件模型。 事件模型由两个寄存器组成。 事件状态寄存器和事件使能寄存器。

当事件发生时,核心逻辑会在状态寄存器中设置一个位来指示该事件。如果在使能寄存器中设置了相应位,则核心逻辑将置位 SCI 以通知操作系统。当操作系统到达此中断时,它执行与事件状态寄存器中设置的任何位相对应的控制方法,并使用 AML 命令来确定发生了什么事件,告诉操作系统所有即插即用、温度和电源管理事件。假设机器连接到核心逻辑中的同一引脚。 事件状态寄存器和事件使能寄存器各只有一位:事件引脚对应的位

一次对接后,核心逻辑设置状态位并向 SCI 发送信号。 操作系统确定状态位被设置,执行该位的控制方法,并确定该事件是停靠事件。 然后,您可以通知操作系统已发生停靠事件,并明确告诉操作系统新设备应出现在设备层次结构中的位置。

感谢事件模型寄存器。 是通用的,可以为不同的平台编写实现。 上面的单引脚模型就是一个例子。 在替代设计中,您可以将即插即用、散热和电源管理事件连接到三个不同的引脚,如下所示。 有三个状态位(和三个使能位)。 然而,替代设计可以将每个多频带事件连接到其自己的引脚和状态位,而不是单引脚设计。 ,允许非常复杂的硬件,但控制方法非常简单,并且允许连接事件的多种变化。 但请注意,如果事件共享信号,则必须注意确保该信号的生成是由相应的事件处理控制方法确定的。 通知事件并启用发送适当的设备通知

3.9 电池管理

电池管理策略已从 APM BIOS 迁移到 ACPI 兼容操作系统。 电池必须符合本文档或其他适用标准中所述的相关接口要求。 操作系统可以选择修改电池行为,例如,通过调整低电池或电池警告跳变点。 当存在多个电池时,电池子系​​统不需要从多带电池数据进行“复合电池”合成。 如果电池子系统无法从独立电池的数据合成“复合电池”,则操作系统必须提供此类合成。

ACPI 兼容电池设备需要智能电池子系统接口或控制方法电池接口。

•智能电池由操作系统通过嵌入式控制器(EC)直接控制。 有关详细信息,请参阅第 10.1 节和第 12.9 节。

• 控制方法 电池可通过 AML 代码控制方法完全访问,允许 OEM 厂商 ACPI 支持各种类型通讯接口。 更多信息请参见第 10.2 节。

本节介绍所有类型电池的通用概念。

3.9.1 电池通信

智能电池和控制方法电池接口都提供了操作系统查询平台电池系统信息的机制。这些信息包括,充满电容量,电池 所有电池系统类型都会在发生变化时通知操作系统,例如插入或取出电池时,或者电池开始或停止放电时,智能电池的某些控制方法也可以提供有关估计值的通知。运行时间,电池可以提供多少电量,以及电池可以提供多少电量。]left:.0001pt;text-align:justify;">3.9.2 电池容量

每个电池必须报告其设计容量、上次充满电容量和当前剩余容量。 剩余容量在使用过程中会减少,并且还会根据环境而变化。 因此,操作系统必须使用最后一次充满电的容量。 此外,电池系统必须报告警告和低电池电量,并通知用户系统将进入睡眠状态,如图 3.3 所示。 .0001pt;text-align:justify;">系统可以使用速率和容量[mA/mAh]或功率和能量[mW/mWh]作为计算和报告电池信息的单位。[mA ]和[ mW ] 不允许出现在系统中

图3.3:电池容量报告

p>

3.9.3 电池电量表

在最基本的层面上,操作系统使用以下公式来计算剩余电池电量百分比: 图 3.4:剩余电池电量百分比计算公式

控制方法 还会报告电池的漏电流率 [mA 或 mW]。 在最基本的层面上,计算剩余电池电量的公式是:

图1:3.5:当前流失率公式

智能电池还会报告当前的磨损率,但由于它们可以直接报告估计的运行时间,因此可以更准确地说明电池特定的变化。,您应该使用此功能。

3.9.4 低电量

系统有警告,低值表示电量系统执行特定动作所需的能量或电池容量,如下图所示,OSPM可以根据OEM设计水平确定独立的警告值和电池值,但这些值不能设置得更低。 ="margin-left:.0001pt.;text-align:center;">图 3.6:低电量警告

系统内每个控制方案电池都会报告 OEM 设计的预警容量和 OEM 设计的初始低容量。此外,与控制方案电池不同,智能电池不一定不报告对于特定机器类型,OEM 设计的警告、低电量和严重电量在智能电池表 (SBST) 中单独报告。

下表描述了 OEM 如何设置这些值以及操作系统如何解释这些值。

表 3.1:电池电量低

级别

描述

警告

<p style="margin-left:.0001pt;text-align:justify;"如果电池的总可用能量 (mWh) 或容量 (mAh) 低于此水平,操作系统将通过 UI 通知用户。 该值允许在达到“低”水平之前运行几分钟,让用户有时间完成重要任务、更换电池或找到电源插座将系统插入。

该值是系统进入支持的睡眠状态所需的能量或电池容量的估计值。 如果系统检测到总可用电池容量小于该值,则系统切换到用户定义的系统状态(S1-S4)。 在大多数情况下,这是 S4。这样,即使您的电池最终完全耗尽,您的系统也不会失去其状态。 操作系统设计必须考虑到多电池系统的用户在尝试更换或充电时可能会卸下一个或多个电池。 这可能会导致剩余电量降至“低”水平以下,从而使操作系统没有足够的电池容量来安全地进入睡眠状态。 因此,如果电池同时放电,您可能需要在两个电池都达到此水平时启动操作。

严重

“严重电池状态”意味着所有可用电池均已耗尽并且似乎无法为系统供电。 如果发生这种情况,操作系统应尝试执行紧急关闭,如下所述。

对于智能电池系统,这通常是在所有电池的容量达到 0 时发生,但 OEM可以选择设置。 要提供额外的安全裕度,请增加智能电池电量计的值。

对于具有多个电池的受控电池系统,每个电池都会报告一个标记。 如果系统中的任何电池处于临界断电状态并且仍在向系统供电(即,电池已放电),则系统被认为处于临界能量状态。 _仅当所有电池都存在时才需要BST控制方法

未经允许不得转载:主机频道 » ACPI 规范第 3 章 ACPI 概念

相关推荐

评论 抢沙发

评论前必须登录!