ACPI中的“硬件寄存器设置”是什么意思?

时间:2016-08-11 01:49:46

标签: operating-system firmware uefi acpi

我正在阅读an ACPI Introduction doc。它说:

  

ACPI首先可以理解为独立于架构的电源   管理和配置框架,在其中形成子系统   主机操作系统。该框架建立硬件寄存器设置为   定义电源状态(睡眠,休眠,唤醒等)。硬件   寄存器组可以容纳专用硬件上的操作   通用硬件。

我不太明白寄存器集的大胆部分。

我目前的理解是,平台上的所有设备都有自己的寄存器以提供可控性。 ACPI是否收集所有设备的所有寄存器并使用这些寄存器的状态来描述/控制平台?换句话说,ACPI认为平台只是一组寄存器。

2 个答案:

答案 0 :(得分:0)

不,这意味着ACPI有寄存器来提供可控性 - 与其他设备的理解相同。

什么可控性?它在引用中提到:允许你让设备进入睡眠状态,休眠状态,唤醒状态等。

什么设备?这取决于平台,但对于PC而言,它是主板本身(或者更确切地说,主板上的内存桥现在主要集成到CPU本身)。

答案 1 :(得分:0)

在阅读了ACPI Spec 6.0之后,我来到了这里:

ACPI是OSPM的接口实现(操作系统主板设备配置和电源管理)。

OSPM的目的是<强力>将电源管理和设备配置功能转移并集中到操作系统中,以实现更强大,更复杂的管理。

ACPI的目的是标准化 OSPM实施。

此类功能过去常分散在应用程序,系统BIOS和硬件等中。而且通常是适当的实现。一旦将这些功能集成到操作系统中,该操作系统的应用程序将受益于一系列新的接口/ API,用于配置设备和操纵电源。

为了实现这样的目标,除了软件努力之外,必须设计硬件以促进OSPM / ACPI。并且必须包含某些与ACPI兼容的寄存器。我认为这是我问题中的注册表。

然而,担心OSPM理性的硬件设计师并不一定要遵循ACPI,毕竟ACPI只是实现OSPM的一种方式。如果硬件设计人员选择兼容OSPM但不兼容ACPI,他必须为目标操作系统提供自己的驱动程序。

相关问题