Advanced Configuration and Power Interface
ACPI (Advanced Configuration and Power Interface) je v informatice označení pro otevřenou specifikaci pro komunikaci jádra operačního systému s hardwarem a naopak, abstrakci funkcí hardwaru a též nahrazení dřívější technologie APM (Advanced Power Management). Jednou z podmnožin funkcí je správa napájení – řízení spotřeby u celé řady mobilních a stolních počítačů, serverů a periferních zařízení.
Historie
Standard ACPI byl vyvinut za vzájemné spolupráce společností Intel, Microsoft a Toshiba v roce 1996. Poslední zveřejněná verze, na které se nově podíleli HP a Phoenix byla vypuštěna 5. dubna 2010 s oznacenim Revision 4.0a. V současné době pracují vývojáři na nové verzi ACPI 5.0.
Implementace
Specifikace byla navržena multiplatformně jak pro 32-bitové procesory architektury x86, tak pro 64bitový procesor Itanium. Není omezena jen na notebooky nebo stolní počítače, její součástí jsou i funkce pro víceprocesorové servery (což APM vůbec neřešilo). Součástí ACPI specifikace je i programovací jazyk ASL (ACPI Source Language), jímž je možno programovat obsluhy událostí (event handler) jako je například probuzení počítače za 30 minut a podobně. ASL je překládán pomocí kompilátoru do bytekódu.
Ve Windows 2000 byla obsažena první implementace, která částečně ACPI implementovala, avšak ne zcela podle normy. Výrobci BIOSů pak vytvářeli vlastní část implementace takovou, aby „fungovala s Windows“, protože neexistovala referenční implementace, podle které by mohla být práce tvůrců BIOSu kontrolována.
V Linuxu byla první implementací verze vyvíjená uvnitř firmy SUSE, jejímž cílem bylo se striktně držet specifikace. Implementace v BIOSech počítačů však obsahují mnoho chyb, a proto tento přístup neměl příliš úspěch. Následná implementace, která je zařazena i v aktuálních jádrech Linuxu, obsahuje pro tyto případy spoustu workaroundů a výjimek pro jednotlivé verze BIOSů.
ACPI tabulky
Informace o systému jsou zapisovány do samostatných ACPI tabulek:
- RSDP – Root System Description Pointer
- RSDT – Root System Description Table
- DSDT – Differentiated System Description Table
- XSDT – Extended System Description Table
- FADT – Fixed ACPI Description Table
- FACS – Firmware ACPI Control Structure
- SBST – Smart Battery Table
- ECDT – Embedded Controller Boot Resources Table
- MADT – Multiple APIC Description Table
- SRAT – System Resource Affinity Table
- SLIT – System Locality Distance Information Table
- SSDT – Secondary System Descriptor Table
DSDT tabulka je jedna z nejdůležitějších a největších tabulek ACPI. Je součástí BIOSu a operační systém ji načítá při bootování. Zpravidla může DSDT obsahovat chyby (výrobce hlavně zajímá, aby vše fungovalo pod MS Windows).
ACPI stavy
- G0 (Working): Normální běh PC, počítač běží a můžete na něm pracovat
- G1 (Sleeping): Stav se sníženou spotřebou, nedojde k ukončení běžících programů a k úplnému vypnutí počítače
- S1 (Power on Suspend, POS): Stav s vysokou rychlostí uspání i probuzení. CPU běží, ale nevykonává žádné instrukce. Není ukončen běh programů ani ztracena data v paměti. Vypínají se jen některé komponenty – třeba monitor a disky. Spotřeba energie není o mnoho nižší než při normálním běhu. Výpadkem energie dojde ke ztrátě dat.
- S2: Režim obdobný jako S1, navíc se vypíná také procesor. V praxi se téměř nepoužívá.
- S3 (Suspend to RAM, STR): Stav s vysokou rychlostí uspání i probuzení. Všechna data, stav CPU a periférií jsou uchována v operační paměti. Ostatní komponenty včetně zdroje jsou vypnuty. PC ze sítě odebírá pouze napětí 5 V pro udržení obsahu paměti. V tomto režimu se spotřeba počítače pohybuje kolem 5 W a počítač by do něj měl přejít po spuštění „úsporného režimu“. Výpadkem energie dojde ke ztrátě dat.
- S4 (Suspend to Disk, STD): „Režim spánku“ neboli hibernace (u MS Windows). Obsah paměti je při přechodu do tohoto stavu uložen do souboru s názvem
hiberfil.sys
na pevném disku. Poté je počítač vypnut (dojde k přepnutí do stavu G2). Nevýhodou je značně delší doba mezi uspáváním a probouzením, o data však při odpojení napájení nepřijdeme.
- G2 (Soft Off): Tento stav se také někdy označuje jako S5 a nachází se v něm většina vypnutých PC. Zdroj však stále dodává do základní desky napětí o velikosti 5V, počítač tak může být zapnout například pomocí klávesnice nebo ze sítě.
- G3 (Mechanical Off): Při odpojení od napájení, v tomto stavu dojde k úplnému vypnutí napájení počítače.
Externí odkazy
- http://www.acpi.info/DOWNLOADS/ACPIspec40a.pdf – Advanced Configuration and Power Interface Specification
- http://www.acpi.info – domácí stránka ACPI
- http://www.intel.com/technology/iapc/acpi/ – stránky o ACPI u firmy Intel
- http://www.acpica.org – Intel's ACPI Component Architecture