Index [index] Back [back] Next [next]




2. ACPI - Advanced Configuration and Power Interface

Aufbau des ACPI

ACPI besteht aus den folgenden fünf Grundelementen:
Auf der Board-Seite sind das der ACPI-Registersatz, das ACPI-BIOS und die ACPI-Tabelle. Hinzu kommen noch zwei betriebssystemspezifische Blöcke, der OSPM System Code (Operating System Direct Power Management) und der ACPI-Treiber nebst integriertem AML-Interpreter (ACPI Machine Language).

Grundstruktur des ACPI


Der ACPI-Treiber stellt die Verbindung zwischen Betriebssystem oder Applikation und PC-Hardware her. Er ermöglicht den Aufruf bestimmter Funktionen des ACPI-BIOS, den Zugriff auf die ACPI-Register und das Auslesen der ACPI-Tabelle.
Die hardwarespezifischen ACPI-Treiber sind derzeit nur für x86-PCs definiert. Zentraler Bestandteil ist eine Erweiterung des INT 15h, mit dessen Hilfe sich das Betriebssystem bislang ein Bild über den vorhandenen Hauptspeicher und das systemweite Adress-Mapping machen konnte. Mit dem neuen Parameter 'E820h' aufgerufen, liefert der INT 15h nun zusätzlich die Informationen über die ACPI-Tabelle.
ACPI spezifiziert AML als eine abstrakte, betriebssystem- und hardwareunabhängige Programmiersprache, mit der sich die Funktionen des Boards steuern lassen. BIOS- und Betriebssystem-Programmierer können sich das Leben leichter machen, indem sie sich der Sprache ASL (ACPI Control Method Source Language) bedienen, einer Hochsprachenform von AML. Die Übersetzung von ASL in die Interpreter-Sprache AML übernimmt ein spezieller Compiler.
Das ACPI-BIOS ist Teil des Board-BIOS. Es enthält im wesentlichen den Maschinencode, der für den Systemstart erforderlich ist. Darüber hinaus stellt es auch noch ein Interface zur Verfügung, mit dem das Betriebssystem den sogenannten Sleep-Modus aktivieren bzw. abschalten kann.
Die ACPI-Tabelle beschreibt den Aufbau und die Lage der ACPI-Register, sie kann aber auch AML-Code für bestimmte Funktionen enthalten. ACPI-Tabelle und ACPI-Register bilden einen Abstraktions-Layer, der eine weitgehend hardwareunabhängige Steuerung durch
das Betriebssystem erlaubt.



Index [index] Back [back] Next [next]