• No results found

Advanced Configuration & Power Interface

Advanced Configuration & Power Interface (ACPI) is an industrial open stan-dard for unifying hardware/software interaction interfaces [ACP]. The pri-mary objective is to enable operating system directed device configuration and power management. Figure 2.9 shows the overall structure of an ACPI compatible system. In particular, an ACPI subsystem is composed of three major parts: ACPI register, ACPI BIOS and ACPI tables [ACP]. The last one plays a key role to connect software and hardware components.

• ACPI registers are special hardware registers for ACPI subsystem to configure a system.

Related work System-wide DPM DVS Online Task model

[YDS95] processors x Ideal x X

[ZCK07] processors x X x X

[Abo+03] processors x X Hybrid X

[JG05] processors x X Hybrid X

[ZC02] processors x X Hybrid X

[ZX06] X x X x X

[Ayd+04] processors x Ideal Hybrid X

[LS04] processors x Ideal X X

[CG06] devices X x X X

[SC05] devices X x x X

[Row+08] devices X x x X

[LHC11] processors X x X X

[DA08b] X X Ideal x Frame-based

[JG04] X x X x X

[DA10] X X X Hybrid X

[Qua+04] processors X X Hybrid X

[Niu11] X X X Hybrid X

[Niu10] processors X X Hybrid X

[NL11] processors x X Hybrid X

[Kon+10] X X X x Frame-based

Table 2.2: A comparison among the existing approaches (single-core proces-sor)

Related work Platform DPM DVS Online Task model

[AY03] Per-core x Ideal x X

[AA05] Per-core x Ideal x X

[CK05] Per-core x Ideal x Frame-based

[CHK06] Per-core X Ideal x X

[ZMC03] Per-core x Ideal X X

[YP02] Per-core x X x X

[Gru00] Per-core x X x X

[Che+04] Per-core x Ideal x Frame-based

[Lee09] Per-core x X x X

[Seo+08] Full-chip x Ideal X X

[YCK05] Full-chip x Ideal x Frame-based

[AB02] Full-chip x X Hybrid X

[KYD11] Cluster-based x Ideal x Frame-based [QZ08] Cluster-based x Ideal Hybrid Frame-based Table 2.3: A comparison among the existing approaches (multi-core proces-sor)

Chapter 2. Background

1.6 ACPI Specification and the Structure Of ACPI

This specification defines ACPI hardware interfaces, ACPI software interfaces and ACPI data structures.

This specification also defines the semantics of these interfaces.

Figure 1-1 lays out the software and hardware components relevant to OSPM/ACPI and how they relate to each other. This specification describes the interfaces between components, the contents of the ACPI System Description Tables, and the related semantics of the other ACPI components. Notice that the ACPI System Description Tables, which describe a particular platform’s hardware, are at heart of the ACPI implementation and the role of the ACPI System Firmware is primarily to supply the ACPI Tables (rather than a native instruction API).

ACPI is not a software specification; it is not a hardware specification, although it addresses both software and hardware and how they must behave. ACPI is, instead, an interface specification comprised of both software and hardware elements.

- ACPI Spec Covers this area.

- OS specific technology, not part of ACPI.

- Hardware/Platform specific technology, not part of ACPI.

Platform Hardware

Figure 1-1 OSPM/ACPI Global System

Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba

Figure 2.9: ACPI System Structure [ACP]

• ACPI BIOS describes the portion of BIOS that is compatible with ACPI standard. It provides, for instance, interfaces to an operating system for sleep, wake-up and restart operations.

• ACPI tables is the main part of an ACPI subsystem and contains the descriptions of hardware components that are used by an operating sys-tem. Hereby the ACPI specification only defines the interface of func-tionality and the implementation is often left open to vendors. There are different types of ACPI tables with different purposes. The basic element in a table is the so-called definition block. ACPI tables can be programmed by using the ACPI Source Language (ASL) and later compiled to the ACPI Machine Language (AML), a pseudo-code type of language. Thus an operating system needs an interpreter to under-stand and execute the functionality specified in the tables. One of the most important tables is the Differentiated System Description Table (DSDT) containing the most hardware information.

The ACPI specification is a fairly large standard. This dissertation focuses on a small part of it, namely the power management. In particular, the ACPI standard defines the power management functionality for processors and de-vices.

For processor power management, power and performance states are defined in the ACPI specification [ACP]. The processor power states are usually

re-ferred to as C-states and used to describe different operation modes. They are designated by C0, C1, C2, ..., Cn. C0is a mandatory state and also the only state, in which a processor may execute software programs. C1 is specified as a mandatory state as well and should be supported by a special instruction of a processor architecture, such as HLT for the IA-32 architecture. In C1, the content of caches should be preserved. Furthermore, C2 is an optional state which should provide more power saving than C1. In C2, a processor should be able to keep its caches coherent. The C3state is an optional state as well. If it is present, it should provide even more power saving than C2 and have longer entry and exit latency. In C3the context in a processor cache is no longer maintained. Further C-states can also be supported by a proces-sor. It is then left open to vendors. If they are present, their information is available in the ACPI tables and can be read by an operating system. The concept of C-states is comparable to the DPM states. Besides the processor power states, the ACPI standard further defines processor performance states as well, which are commonly referred to as P-states. Hereby the main idea is similar to the DVS states, which describe different performance levels of a processor.

For device power management, ACPI defines D-states to capture different power states of a device. This is similar to the processor power states, where there is only one active state. The remaining states are used then for energy saving when the device is idle. It follows the same principle, the more energy saving, the longer it takes to enter and exit the state. In fact, D-states represent the DPM states for devices.