|
|
[index] |
|
[back] |
|
[next] |
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).

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] |
|
[back] |
|
[next] |