Académique Documents
Professionnel Documents
Culture Documents
The Advanced Configuration and Power Interface (ACPI) specification combines Power
Management and Plug and Play functionality for notebooks, desktops, and servers. ACPI is the
keystone in Microsoft's Operating System Directed Power Management (OSPM). With OSPM, the
operating system determines when to do power management, and the BIOS determines how to
do power management. The two pieces work in concert to provide maximum power savings.
What is ACPI?
Why is ACPI important?
How is ACPI designed?
What are the differences between APM and ACPI?
How does ACPI support Plug and Play functionality?
ACPI Support and Logo Requirements
How does Phoenix's ACPI BIOS solution help developers?
LogoPlus ACPI
Advanced ACPI
ACPI Utilities
ACPI Disassembler
ACPI Embedded Controller Support
Additional Information
What is ACPI?
ACPI defines hardware and software interfaces used by the operating system to manipulate the
characteristics of motherboard devices. ACPI differs from APM and Plug and Play (PnP) in two
fundamental ways:
• The support code provided by the BIOS is not written in the native assembly language of
the platform but in AML (ACPI Machine Language).
• The BIOS does not determine the policies or time-outs for power management or
resource management.
Return to Top
The areas outlined by the dotted line are described in the ACPI 1.0 specification.
The system BIOS (shown as two blocks simply to indicate both the standard and ACPI functions
provided) provides the details for the platform's hardware interface in one or more well-defined
tables. These tables are written in ACPI Source Language (ASL) and compiled into ACPI
Machine Language (AML) for inclusion in the BIOS.
The ACPI software interface, implemented as a windows driver, provides the means for the
operating system to find the different tables in the system BIOS. Phoenix has added a feature to
the BIOS implementation that permits the tables to be dynamically modified at run time. This
allows changes to the tables actually stored in the BIOS ROM before they are processed by the
operating system.
A system supporting ACPI requires the following components to operate correctly:
• System Management Mode (SMM) - capable CPU
• SMM - capable chipset
• ACPI-capable support logic
The final key expectation is that the operating system being run is capable of supporting ACPI.
Although Microsoft operating systems will be ACPI aware in the near future, systems running
UNIX, LINIX, OS/2 or other operating systems will not have ACPI support as soon. If
manufacturers wish to offer any type of power management to these types of users, legacy BIOS
power management must be included on the platform.
Events
The ACPI compliant hardware informs the operating system about power management, resource
management ,and docking occurences, by creating an "event." Events generate a special
interrupt called the SCI (System Control Interrupt) which is then handled by the ACPI driver.
ACPI Tree
All ACPI hardware and features are organized as a tree structure. The tree represents how the
operating system communicates with the devices. Objects under other objects in the tree are
called children. The base of the tree is called the root. When the operating system begins to cut
back power because it has detected an idle or non-use state, it does so from the bottom of the
tree. This means that children are turned off before parents .
Return to Top
LogoPlus ACPI
LogoPlus ACPI provides ASL code that supports power management and device configuration
capabilities. LogoPlus supports the following functions:
• Power management timer
• Either or both a power and a sleep button
• Real-time clock wake-up alarm
• System sleep states: S1 and S2
• SCI and GP_STS registers support in the BIOS
• DSDT support in the BIOS
• Fail-safe mechanism to power off or reset the system
Return to Top
Advanced ACPI
Advanced ACPI supports ASL code for power management and device configuration capabilities
beyond that which LogoPlus offers. Advanced ACPI supports the following functions:
• Power management timer
• Either or both a power and sleep button
• Real-time clock wake-up alarm
• System sleep states: S1, S2, S3, and S4
• SCI and GP_STS registers support in the BIOS
• DSDT support in the BIOS
• Fail-safe mechanism to power off or reset the system
• Device power management
• Phoenix services for SMI handling
• Device configuration - docking, PC Cards, swappable bays
• ACPI embedded controller
• Thermal zone management
• Multiple CPU support
• Multiple PCI bus support
• Wake-on-event support - USB device activity and LAN or modem activity
Return to Top
ACPI Utilities
Phoenix provides a set of utilities to assist hardware and BIOS developers.
APCI Architect
Phoenix has developed a powerful design tool called the APCI Architect. This tool includes:
1. Chip set support
2. Standard component, device and bus support
3. Device and system templates
4. Built in code editor, tree viewer, device icons
5. Ease of differentiation
6. On-line Help
ACPI Architect frees developers from learning the nuances of ASL and allows them to begin
designing their systems immediately. ACPI Architect is used to view, modify and create ACPI
System Description Tables. The table view is presented to the user in the form of an ACPI Tree
and the file is stored in ACPI Architect form, *.aa. The ACPI Architect tool can generate ASL code
from these *.aa files. The ASL code can then be compiled using the Microsoft ASL compiler to
generate AML code for use on ACPI systems.
MCD2ACPI
MCD2ACPI is used for the automatic generation of ACPI configuration objects. This utility is
designed to create ACPI ASL code from existing MCD structures in the Phoenix BIOS version 4.0
release 6. This should reduce the work required to build the ACPI configuration objects (PnP), for
any currently implemented platform BIOS. It will automate much of the task and eliminate part of
the manual coding of the ASL for already completed PhoenixBIOS 4.0 and NoteBIOS 4.0 release
6 ports.
ASLPP
ASL (ACPI Source Language) Preprocessor. The ACPI specification defines certain buffer
formats for use with the Plug and Play section of the specification. These buffer formats are
streams of bytes which detail the resources used by the device, including memory, I/O, interrupts,
and DMA channels. Manually coding the buffer contents is tedious and results in ACPI code that
is difficult to read. ASLPP provides a solution, extending the ASL with a preprocessor that
translates Phoenix defined operations into byte streams.
Return to Top
ACPI Disassembler
AD displays ACPI-related tables and checks them against the ACPI 2.0 specification. Under DOS
(or Windows 98/Me DOS box), these can be extracted from the system BIOS. Extract all files to a
single directory. See readme.txt for usage details. Phoenix has made this utility available for your
use, because of our commitment to technology leadership.
Additional Information
The following documents are in Adobe Acrobat format. If you do not have the Acrobat Reader,
you can download the Reader now.
ACPI Architect Data Sheet
ACPI BIOS Data Sheet
ACPI Embedded Controller - Implementation Considerations
ACPI Disasssembler