没有合适的资源?快使用搜索试试~ 我知道了~
首页ACPI 3.0a 规范:操作系统驱动的配置与电源管理
"ACPIspec30a.pdf"
本文档详细介绍了高级配置和电源接口(ACPI)规范的第3.0a版,由Hewlett-Packard Corporation、Intel Corporation、Microsoft Corporation、Phoenix Technologies Ltd. 和Toshiba Corporation共同制定。此规范旨在建立业界通用的接口,使操作系统能够直接对主板设备进行配置,并对设备和整个系统进行高效的电源管理。ACPI是操作系统导向的配置和电源管理(OSPM)的核心。
ACPI的发展融合了现有的电源管理BIOS代码、高级电源管理(APM)应用程序编程接口(APIs)、即插即用BIOS(PNPBIOS)APIs、多处理器规范(MPS)表等,形成一个定义明确的电源管理和配置接口规范。它提供了从现有(传统)硬件向ACPI硬件平稳过渡的手段,允许在同一台机器上同时存在并使用ACPI和传统机制,根据需要选择。
此外,随着新系统架构的出现,当前的即插即用接口正面临挑战。ACPI进一步演进主板配置接口,以更健壮、可能更高效的方式支持这些先进架构。
此规范定义的接口和OSPM概念适用于所有类型的计算机,包括但不限于桌面电脑、笔记本电脑、工作站和服务器。从电源管理的角度来看,OSPM/ACPI提倡系统应通过将未使用的设备转移到低功耗状态,包括在可能的情况下将整个系统置于低功耗状态(睡眠状态),以节省能源。
文档详细描述了实现ACPI硬件接口、ACPI软件接口和ACPI数据结构,这些结构使得支持强大的操作系统导向的配置和电源管理成为可能。然而,值得注意的是,提供此规格的公司(如HP、Intel、Microsoft、Phoenix和Toshiba)对此规格的实施不提供任何知识产权的保证或责任,不保证其适合任何特定目的,也不承担因侵犯知识产权而产生的任何责任。
xvi
Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
17.5.90 Or (Integer Bitwise Or)........................................................................................................................... 503
17.5.91 Package (Declare Package Object)......................................................................................................... 504
17.5.92 PowerResource (Declare Power Resource) ............................................................................................ 505
17.5.93 Processor (Declare Processor) ................................................................................................................ 505
17.5.94 QWordIO (QWord IO Resource Descriptor Macro)............................................................................... 506
17.5.95 QWordMemory (QWord Memory Resource Descriptor Macro)............................................................ 507
17.5.96 QWordSpace (QWord Space Resource Descriptor Macro).................................................................... 509
17.5.97 RefOf (Create Object Reference) ........................................................................................................... 510
17.5.98 Register (Generic Register Resource Descriptor Macro)........................................................................ 510
17.5.99 Release (Release a Mutex Synchronization Object) ............................................................................... 511
17.5.100 Reset (Reset an Event Synchronization Object) ................................................................................... 511
17.5.101 ResourceTemplate (Resource To Buffer Conversion Macro)............................................................... 512
17.5.102 Return (Return from Method Execution).............................................................................................. 512
17.5.103 Revision (Constant Revision Object).................................................................................................... 512
17.5.104 Scope (Open Named Scope)................................................................................................................. 512
17.5.105 ShiftLeft (Integer Shift Left)................................................................................................................. 513
17.5.106 ShiftRight (Integer Shift Right)............................................................................................................ 513
17.5.107 Signal (Signal a Synchronization Event) .............................................................................................. 513
17.5.108 SizeOf (Get Data Object Size).............................................................................................................. 514
17.5.109 Sleep (Milliseconds Sleep) ................................................................................................................... 514
17.5.110 Stall (Stall for a Short Time) ................................................................................................................ 514
17.5.111 StartDependentFn (Start Dependent Function Resource Descriptor Macro) ........................................ 515
17.5.112 StartDependentFnNoPri (Start Dependent Function Resource Descriptor Macro)............................... 515
17.5.113 Store (Store an Object) ......................................................................................................................... 515
17.5.114 Subtract (Integer Subtract).................................................................................................................... 516
17.5.115 Switch (Select Code To Execute Based On Expression) ...................................................................... 516
17.5.116 ThermalZone (Declare Thermal Zone)................................................................................................. 518
17.5.117 Timer (Get 64-Bit Timer Value)........................................................................................................... 518
17.5.118 ToBCD (Convert Integer to BCD)........................................................................................................ 519
17.5.119 ToBuffer (Convert Data to Buffer)....................................................................................................... 519
17.5.120 ToDecimalString (Convert Data to Decimal String)............................................................................. 519
17.5.121 ToHexString (Convert Data to Hexadecimal String)............................................................................ 520
17.5.122 ToInteger (Convert Data to Integer) ..................................................................................................... 520
17.5.123 ToString (Convert Buffer To String) .................................................................................................... 520
17.5.124 ToUUID (Convert String to UUID Macro) .......................................................................................... 521
17.5.125 Unicode (String To Unicode Conversion Macro)................................................................................. 522
17.5.126 Unload (Unload Definition Block) ....................................................................................................... 522
17.5.127 VendorLong (Long Vendor Resource Descriptor)................................................................................ 522
17.5.128 VendorShort (Short Vendor Resource Descriptor) ............................................................................... 523
17.5.129 Wait (Wait for a Synchronization Event) ............................................................................................. 523
17.5.130 While (Conditional Loop)..................................................................................................................... 523
17.5.131 WordBusNumber (Word Bus Number Resource Descriptor Macro) ................................................... 524
17.5.132 WordIO (Word IO Resource Descriptor Macro) .................................................................................. 525
17.5.133 WordSpace (Word Space Resource Descriptor Macro) ) ..................................................................... 526
17.5.134 XOr (Integer Bitwise Xor).................................................................................................................... 527
17.5.135 Zero (Constant Zero Object)................................................................................................................. 528
18 ACPI MACHINE LANGUAGE (AML) SPECIFICATION........................................................... 529
18.1 Notation Conventions..................................................................................................................................... 529
18.2 AML Grammar Definition ............................................................................................................................ 530
18.2.1 Table and Table Header Encoding............................................................................................................ 530
18.2.2 Name Objects Encoding ........................................................................................................................... 530
18.2.3 Data Objects Encoding ............................................................................................................................. 531
18.2.4 Package Length Encoding ........................................................................................................................ 532
18.2.5 Term Objects Encoding............................................................................................................................ 532
18.2.6 Miscellaneous Objects Encoding.............................................................................................................. 538
18.3 AML Byte Stream Byte Values ..................................................................................................................... 539
xvii
Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
18.4 AML Encoding of Names in the Namespace................................................................................................ 543
A DEVICE CLASS PM SPECIFICATIONS....................................................................................... 545
A.1 Overview ........................................................................................................................................................ 545
A.2 Device Power States....................................................................................................................................... 545
A.2.1 Bus Power Management.......................................................................................................................... 546
A.2.2 Display Power Management.................................................................................................................... 546
A.2.3 PCMCIA/PCCARD/CardBus Power Management ................................................................................. 546
A.2.4 PCI Power Management.......................................................................................................................... 546
A.2.5 USB Power Management ........................................................................................................................ 546
A.2.6 Device Classes......................................................................................................................................... 547
A.3 Default Device Class...................................................................................................................................... 547
A.3.1 Default Power State Definitions .............................................................................................................. 547
A.3.2 Default Power Management Policy ......................................................................................................... 547
A.3.3 Default Wake Events............................................................................................................................... 548
A.3.4 Minimum Power Capabilities .................................................................................................................. 548
A.4 Audio Device Class........................................................................................................................................ 548
A.4.1 Power State Definitions ........................................................................................................................... 548
A.4.2 Power Management Policy ...................................................................................................................... 548
A.4.3 Wake Events............................................................................................................................................ 549
A.4.4 Minimum Power Capabilities .................................................................................................................. 549
A.5 COM Port Device Class................................................................................................................................ 549
A.5.1 Power State Definitions ........................................................................................................................... 550
A.5.2 Power Management Policy ...................................................................................................................... 550
A.5.3 Wake Events............................................................................................................................................ 550
A.5.4 Minimum Power Capabilities .................................................................................................................. 550
A.6 Display Device Class...................................................................................................................................... 550
A.6.1 Power State Definitions ........................................................................................................................... 551
A.6.2 Power Management Policy for the Display Class.................................................................................... 556
A.6.3 Wake Events............................................................................................................................................ 557
A.6.4 Minimum Power Capabilities .................................................................................................................. 557
A.6.5 Performance States for Display Class Devices ..................................................................................... 557
A.7 Input Device Class......................................................................................................................................... 559
A.7.1 Power State Definitions ........................................................................................................................... 559
A.7.2 Power Management Policy ...................................................................................................................... 559
A.7.3 Wake Events............................................................................................................................................ 560
A.7.4 Minimum Power Capabilities .................................................................................................................. 560
A.8 Modem Device Class ..................................................................................................................................... 560
A.8.1 Technology Overview ............................................................................................................................. 560
A.8.2 Power State Definitions ........................................................................................................................... 561
A.8.3 Power Management Policy ...................................................................................................................... 562
A.8.4 Wake Events............................................................................................................................................ 562
A.8.5 Minimum Power Capabilities .................................................................................................................. 562
A.9 Network Device Class.................................................................................................................................... 563
A.9.1 Power State Definitions ........................................................................................................................... 563
A.9.2 Power Management Policy ...................................................................................................................... 564
A.9.3 Wake Events............................................................................................................................................ 564
A.9.4 Minimum Power Capabilities .................................................................................................................. 564
A.10 PC Card Controller Device Class............................................................................................................... 564
A.10.1 Power State Definitions ......................................................................................................................... 565
A.10.2 Power Management Policy .................................................................................................................... 566
A.10.3 Wake Events.......................................................................................................................................... 566
A.10.4 Minimum Power Capabilities ................................................................................................................ 566
A.11 Storage Device Class ................................................................................................................................... 567
A.11.1 Power State Definitions ......................................................................................................................... 567
A.11.2 Power Management Policy .................................................................................................................... 568
xviii
Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
A.11.3 Wake Events.......................................................................................................................................... 568
A.11.4 Minimum Power Capabilities ................................................................................................................ 568
B ACPI EXTENSIONS FOR DISPLAY ADAPTERS........................................................................ 569
B.1 Introduction ................................................................................................................................................... 569
B.2 Definitions ...................................................................................................................................................... 570
B.3 ACPI Namespace........................................................................................................................................... 570
B.4 Display-specific Methods............................................................................................................................... 571
B.4.1 _DOS (Enable/Disable Output Switching)............................................................................................... 571
B.4.2 _DOD (Enumerate All Devices Attached to the Display Adapter).......................................................... 572
B.4.3 _ROM (Get ROM Data) .......................................................................................................................... 575
B.4.4 _GPD (Get POST Device) ....................................................................................................................... 576
B.4.5 _SPD (Set POST Device) ........................................................................................................................ 576
B.4.6 _VPO (Video POST Options).................................................................................................................. 577
B.5 Notifications for Display Devices................................................................................................................. 577
B.6 Output Device-specific Methods................................................................................................................... 578
B.6.1 _ADR (Return the Unique ID for this Device) ........................................................................................ 578
B.6.2 _BCL (Query List of Brightness Control Levels Supported)................................................................... 578
B.6.3 _BCM (Set the Brightness Level)............................................................................................................ 579
B.6.4 _BQC (Brightness Query Current level).................................................................................................. 579
B.6.5 _DDC (Return the EDID for this Device)................................................................................................ 579
B.6.6 _DCS (Return the Status of Output Device) ............................................................................................ 580
B.6.7 _DGS (Query Graphics State).................................................................................................................. 580
B.6.8 _DSS – Device Set State.......................................................................................................................... 581
B.7 Notifications Specific to Output Devices...................................................................................................... 582
B.8 Notes on State Changes................................................................................................................................. 582
INDEX....................................................................................................................................................... 585
Introduction 1
Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
1 Introduction
The Advanced Configuration and Power Interface (ACPI) specification was developed to establish industry
common interfaces enabling robust operating system (OS)-directed motherboard device configuration and
power management of both devices and entire systems. ACPI is the key element in Operating System-
directed configuration and Power Management (OSPM).
ACPI evolves the existing collection of power management BIOS code, Advanced Power Management
(APM) application programming interfaces (APIs, PNPBIOS APIs, Multiprocessor Specification (MPS)
tables and so on into a well-defined power management and configuration interface specification. ACPI
provides the means for an orderly transition from existing (legacy) hardware to ACPI hardware, and it
allows for both ACPI and legacy mechanisms to exist in a single machine and to be used as needed.
Further, new system architectures are being built that stretch the limits of current Plug and Play interfaces.
ACPI evolves the existing motherboard configuration interfaces to support these advanced architectures in
a more robust, and potentially more efficient manner.
The interfaces and OSPM concepts defined within this specification are suitable to all classes of computers
including (but not limited to) desktop, mobile, workstation, and server machines. From a power
management perspective, OSPM/ACPI promotes the concept that systems should conserve energy by
transitioning unused devices into lower power states including placing the entire system in a low-power
state (sleeping state) when possible.
This document describes ACPI hardware interfaces, ACPI software interfaces and ACPI data structures
that, when implemented, enable support for robust OS-directed configuration and power management
(OSPM).
1.1 Principal Goals
ACPI is the key element in implementing OSPM. ACPI-defined interfaces are intended for wide adoption
to encourage hardware and software vendors to build ACPI-compatible (and, thus, OSPM-compatible)
implementations.
The principal goals of ACPI and OSPM are to:
1. Enable all computer systems to implement motherboard configuration and power management
functions, using appropriate cost/function tradeoffs.
• Computer systems include (but are not limited to) desktop, mobile, workstation, and server
machines.
• Machine implementers have the freedom to implement a wide range of solutions, from the very
simple to the very aggressive, while still maintaining full OS support.
• Wide implementation of power management will make it practical and compelling for applications
to support and exploit it. It will make new uses of PCs practical and existing uses of PCs more
economical.
2. Enhance power management functionality and robustness.
• Power management policies too complicated to implement in a ROM BIOS can be implemented
and supported in the OS, allowing inexpensive power managed hardware to support very elaborate
power management policies.
• Gathering power management information from users, applications, and the hardware together
into the OS will enable better power management decisions and execution.
• Unification of power management algorithms in the OS will reduce conflicts between the
firmware and OS and will enhance reliability.
3. Facilitate and accelerate industry-wide implementation of power management.
• OSPM and ACPI will reduce the amount of redundant investment in power management
throughout the industry, as this investment and function will be gathered into the OS. This will
allow industry participants to focus their efforts and investments on innovation rather than simple
parity.
• The OS can evolve independently of the hardware, allowing all ACPI-compatible machines to
gain the benefits of OS improvements and innovations.
2 Advanced Configuration and Power Interface Specification
Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
4. Create a robust interface for configuring motherboard devices.
• Enable new advanced designs not possible with existing interfaces.
1.2 Power Management Rationale
It is necessary to move power management into the OS and to use an abstract interface (ACPI) between the
OS and the hardware to achieve the principal goals set forth above.
• Minimal support for power management inhibits application vendors from supporting or
exploiting it.
Moving power management functionality into the OS makes it available on every
machine on which the OS is installed. The level of functionality (power savings, and so
on) varies from machine to machine, but users and applications will see the same power
interfaces and semantics on all OSPM machines.
This will enable application vendors to invest in adding power management functionality
to their products.
• Legacy power management algorithms were restricted by the information available to the BIOS
that implemented them. This limited the functionality that could be implemented.
Centralizing power management information and directives from the user, applications,
and hardware in the OS allows the implementation of more powerful functionality. For
example, an OS can have a policy of dividing I/O operations into normal and lazy. Lazy
I/O operations (such as a word processor saving files in the background) would be
gathered up into clumps and done only when the required I/O device is powered up for
some other reason. A non-lazy I/O request made when the required device was powered
down would cause the device to be powered up immediately, the non-lazy I/O request to
be carried out, and any pending lazy I/O operations to be done. Such a policy requires
knowing when I/O devices are powered up, knowing which application I/O requests are
lazy, and being able to assure that such lazy I/O operations do not starve.
Appliance functions, such as answering machines, require globally coherent power
decisions. For example, a telephone-answering application could call the OS and assert,
“I am waiting for incoming phone calls; any sleep state the system enters must allow me
to wake and answer the telephone in 1 second.” Then, when the user presses the “off”
button, the system would pick the deepest sleep state consistent with the needs of the
phone answering service.
• BIOS code has become very complex to deal with power management. It is difficult to make work
with an OS and is limited to static configurations of the hardware.
There is much less state information for the BIOS to retain and manage (because the OS
manages it).
Power management algorithms are unified in the OS, yielding much better integration
between the OS and the hardware.
Because additional ACPI tables (Definition Blocks) can be loaded, for example, when a
mobile system docks, the OS can deal with dynamic machine configurations.
Because the BIOS has fewer functions and they are simpler, it is much easier (and
therefore cheaper) to implement and support.
• The existing structure of the PC platform constrains OS and hardware designs.
• Because ACPI is abstract, the OS can evolve separately from the hardware and, likewise, the
hardware from the OS.
• ACPI is by nature more portable across operating systems and processors. ACPI control methods
allow for very flexible implementations of particular features.
剩余623页未读,继续阅读
2021-10-03 上传
2021-04-27 上传
2023-06-07 上传
2021-04-27 上传
2023-05-17 上传
2021-10-14 上传
len_wang
- 粉丝: 1
- 资源: 1394
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功