Advanced Configuration and Power Interface is a standard for computer power management. Also known by the acronym ACPI, it brings many aspects of device configuration under control of the operating system (OS). Most legacy power management is implemented in the OS with ACPI instead of in the Basic Input Output System (BIOS). ACPI is used in computer systems to manage device discovery as well as power configuration and thermal monitoring. End users often utilize ACPI to specify how long devices such as hard drives should sit idle before reducing their power consumption.
In 1996, the first version of the Advanced Configuration and Power Interface standard was released by a group of computer manufacturers. Its goal was to consolidate system power management in one place for servers as well as portable and desktop computers. Prior to ACPI, many of these functions were performed by the motherboard-specific BIOS. Another specification called Advanced Power Management (APM) provided part of the application interface along with the BIOS. Multiprocessor Specification (MPS) tables also played a vital role and have been integrated into ACPI as well.
The specification for Advanced Configuration and Power Interface has evolved throughout the 2000s. Support for new devices and technologies has been included while keeping most management and configuration functions in the OS. The system BIOS and firmware communicate with ACPI through hardware description tables and ACPI Machine Language (AML). These allow the platform-independent management code in ACPI to access the platform-specific devices on each machine. The ACPI standard also defines hardware fixed-function interfaces to reduce the amount of code needed for booting and failure recovery.
The requirement for implementing an AML interpreter in each OS helped to slow the adoption of the ACPI standard. The Advanced Configuration and Power Interface Component Architecture (ACPICA) was created in 1998 to assist OS developers. It includes an OS-independent AML interpreter along with some of the required ACPI infrastructure. ACPICA is designed to allow any OS to utilize ACPI rather than be an OS-specific implementation itself. It is an open-source standard which has evolved over time along with the ACPI specification.
Power management based on Advanced Configuration and Power Interface is a key part of green computing. Standards such as ACPI allow the OS to put processors and motherboard components into different levels of "sleep" as needed. For example, a wake-on-LAN network interface can minimize its power consumption until traffic is detected. An entire system may be powered down except for its main memory, awaiting a particular keystroke to restore operation. Some green motherboards also have an entire processor dedicated to system power management.