Advanced Configuration and Power Interface

 

La specifica Advanced Configuration and Power Interface (ACPI) è uno standard industriale aperto reso disponibile per la prima volta nel dicembre 1996 e sviluppato da HP, Intel, Microsoft, Phoenix e Toshiba. Essa definisce interfacce comuni per il riconoscimento dell'hardware, la configurazione e la gestione energetica di scheda madre e periferiche. Secondo la sua specifica (archiviato dall'url originale il 9 febbraio 2015), "L'ACPI è l'elemento chiave nella configurazione e gestione energetica controllata dal Sistema Operativo (OSPM)".

L'ultima revisione della specifica ACPI è la 6.5, diffusa a maggio 2022

L'elemento più importante dello standard, la gestione energetica, ha avuto due miglioramenti importanti. La prima, è l'assegnazione del controllo energetico al sistema operativo. Questo contrasta con il modello APM che dava il controllo della gestione energetica al BIOS, con interventi limitati da parte del sistema operativo. Nell'ACPI, il BIOS fornisce al sistema metodi per il controllo a basso livello dei dettagli dell'hardware così che abbia quasi il controllo completo sul risparmio energetico. L'ACPI è un servizio di base caricato, durante l'avvio, dal sistema operativo che può essere anche disattivato quando ve ne fosse la necessità. Fisicamente si tratta di uno o più driver (ad esempio in Windows si chiama acpi.sys).

L'ACPI inoltre ha portato le funzioni di gestione energetica, precedentemente disponibili solo su PC portatile, anche su PC desktop e server. Ad esempio, il sistema può essere portato in stati di consumo energetico estremamente basso, in cui solo la memoria RAM (e spesso nemmeno quella) riceve energia, ma in cui un segnale di input (mouse, tastiera, modem) può velocemente "risvegliare" il sistema stesso.

Lo standard prevede tasti di supporto su normali tastiere per sospendere o spegnere il computer. Alcuni produttori (ASUS, Compaq) hanno esteso questa caratteristica anche ad altri tasti chiamati power management keys.

L'ACPI richiede hardware compatibile (che includa registri ACPI, definiti dalla specifica). Il sistema operativo, il chipset della motherboard e per alcune funzioni anche la CPU, devono essere progettati per supportarlo. Fisicamente l'ACPI risiede nello stesso chip ove è caricato il firmware o in uno chip specifico.

L'ACPI utilizza il proprio linguaggio macchina (ACPI Machine Language o AML) per implementare handlers di eventi riguardanti il supporto energetico, al posto del linguaggio macchina del sistema ospite. Il codice AML è parte del firmware (BIOS), ma è interpretato dal sistema operativo.

Microsoft Windows ha supportato ACPI per la prima volta con Windows 98. La prima versione di FreeBSD a supportare ACPI fu la 5.0. NetBSD e OpenBSD hanno un minimo supporto per ACPI; Linux, a partire dal kernel 2.4.22, ha iniziato ad offrire il supporto per questo standard.

La specifica ACPI definisce i seguenti sette stati, chiamati stati globali. Un computer che supporta ACPI può trovarsi in:

Inoltre uno stato Legacy è definito come lo stato in cui il sistema operativo non supporta ACPI. In questo stato il controllo della corrente non utilizza ACPI.

Un processore che supporta ACPI può trovarsi in quattro stati differenti

Notare che C2 e C3 e C4 richiedono il supporto del sistema operativo per essere utilizzati.

Le periferiche che supportano ACPI possono trovarsi in quattro stati differenti: