www.wikidata.de-de.nina.az
Das Advanced Configuration and Power Interface ACPI ist ein offener Industriestandard fur Energieverwaltung in Desktop Computern Notebooks und Servern Er wird von Unternehmen wie ARM Hewlett Packard Intel Microsoft Phoenix Technologies und Toshiba entwickelt und stellt Schnittstellen zur Hardware Erkennung Geratekonfiguration und zur Energieverwaltung zur Verfugung Insbesondere bekannt ist er durch die verschiedenen Energiesparmodi ACPI S1 bis S5 die das Advanced Power Management APM abgelost haben Inhaltsverzeichnis 1 Grundlagen 2 Energieverwaltung Energiesparmodi nach ACPI Standard 2 1 Wichtige Modi im ACPI Standard 2 1 1 Prozessorzustande CPU States 2 1 2 Geratezustande Device States 2 1 3 Ruhezustande Sleep States 3 Systembeschreibungs Tabellen AML ASL 4 Tabellenbeschreibungen 5 Kritik 6 Weblinks 7 EinzelnachweiseGrundlagen BearbeitenDie Kontrolle uber die Energieverwaltung liegt anders als beim alteren APM Standard komplett beim Betriebssystem das einen besseren Uberblick uber den momentanen Leistungsbedarf und die Sparmoglichkeiten in einem Rechner hat als das hardwareorientierte BIOS Mit ACPI ist das BIOS des Rechners nur noch fur die Details der Kommunikation mit der Hardware verantwortlich die Kontrolle liegt aber beim Betriebssystem Gegenuber APM werden weitergehende Moglichkeiten zum Energiesparen angeboten ACPI 1 0 spezifiziert von Intel Microsoft und Toshiba wurde im Dezember 1996 veroffentlicht 1 Mit der Version 2 0 wurde im Juli 2000 Unterstutzung fur 64 Bit Architekturen hinzugefugt Die Version 3 0 vom 2 September 2004 wurde um die Unterstutzung fur PCI Express und Serial ATA sowie erweiterte SMP Fahigkeiten erganzt und auf Grund von Erfahrungen aus der Praxis mit den Implementierungen an einigen Stellen klarer gefasst Version 4 0 wurde am 16 Juni 2009 veroffentlicht Zu den Neuerungen gehorte unter anderem die Unterstutzung von USB 3 0 Im Oktober 2013 kam die Weiterentwicklung in die Zustandigkeit vom UEFI Forum 2 Version 5 1 vom August 2014 brachte Unterstutzung fur die Armv8 A Architektur 3 Von Intel existiert eine ACPI Referenzimplementierung mit Namen ACPICA ACPI Component Architecture die in leicht angepasster Form unter anderem im Linux Kernel und den BSD Derivaten verwendet wird Die ACPICA implementiert betriebssystemunabhangige Teile der ACPI Software hier vor allem den AML Interpreter der die von der Hardware bereitgestellten ACPI Tabellen parst ACPI funktioniert nicht auf alterer Hardware Fur volle ACPI Unterstutzung mussen sowohl die Hauptplatine mit ihrem Chipsatz Timer und BIOS als auch das Betriebssystem und teilweise auch die CPU ACPI fahig sein Des Weiteren wird ein Netzteil nach ATX 2 01 oder neuer benotigt Die Hardware kann uber den System Control Interrupt SCI bestimmte Ereignisse an das Betriebssystem signalisieren Dazu konnen beispielsweise das Umschalten von Batterie auf Netzstromversorgung oder das Aufwachen aus dem Energiesparmodus gehoren Energieverwaltung Energiesparmodi nach ACPI Standard BearbeitenDie Moglichkeiten unter Verwendung von ACPI Energie zu sparen sind vielfaltig Der gesamte Rechner kann sich in einem von vier Zustanden befinden die in der ACPI Spezifikation G0 bis G3 genannt werden G0 Working entspricht dabei dem aktiven Zustand in dem mit dem Computer gearbeitet werden kann und G3 Mechanical off also mechanisch abgeschaltet ist ein Rechner mit gezogenem Stecker Dazwischen liegt der Schlafzustand G1 in dem grosse Teile des Rechners abgeschaltet sind aber aus dem dennoch in kurzer Zeit in den aktiven Zustand zuruckgekehrt werden kann und der Soft Off Zustand G2 der einem Computer auf ATX Standby Spannung entspricht Innerhalb von G1 kann das System unterschiedlich tief schlafen S1 bis S4 In den niedrigen Schlafzustanden wird mehr Systemkontext in den schnellen fluchtigen Speichern behalten so dass das System schneller wieder benutzbar ist Vor Eintritt in den S4 Zustand wird der Systemkontext auf eine Festplatte geschrieben und beim Aufwachen von dort wiederhergestellt Wichtige Modi im ACPI Standard Bearbeiten Prozessorzustande CPU States Bearbeiten C State Name Latenz zu C0 LeistungsaufnahmeC0 Arbeitszustand Operating Mode 100 C1 Angehalten Halt 0 0 1 µs 0 40 C1E Erweiterter Halt Enhanced Halt 0 1 2 µs 0 35 C2 Gestoppter Takt Stop Clock 0 59 µs 0 30 C2E Erweiterter Stop Extended Stop 0 70 µs 0 28 C3 Tiefer Schlaf Deep Sleep 0 85 µs 0 26 C4 Tieferer Schlaf Deeper Sleep 150 µs 0 24 C4E C5 Erweiterter tiefer Schlaf Enhanced Deeper Sleep 250 µs 0 22 C6 Tiefes Abschalten Deep Power Down 300 µs 0 19 C7 Tieferes Abschalten Deeper Power Down 400 µs 0 15 Die Leistungsaufnahme weicht zwischen verschiedenen Systemen ab und dient hier lediglich der besseren Vorstellung der unterschiedlichen C States 4 Geratezustande Device States Bearbeiten D State BeschreibungD0 Gerat ist eingeschaltet und voll funktionsfahigD1 Zwischenzustand der je nach Gerat abweichen kannD2 Zwischenzustand der je nach Gerat abweichen kannD3 Hot Gerat ist an einer Stromquelle angeschlossen und kann in einen hoheren Zustand wechselnD3 Cold Gerat hat keine Stromzufuhr und kann keine Kommandos ausfuhrenRuhezustande Sleep States Bearbeiten S State BeschreibungS0 System voll funktionsfahig Alle Systeme sofort einsatzbereit S1 einfachster Schlafmodus wenige Funktionen sind abgeschaltet die CPU ist angehalten Throttle S2 erweiterter Schlafmodus Weitere Komponenten sind abgeschaltet insbesondere der Cache der CPUS3 Standby Modus Suspend to RAM STR Suspend to memory STM die meiste Hardware der Hauptplatine ist abgeschaltet der Betriebszustand auf einem fluchtigen Speicher gesichertS4 Ruhezustand englisch hibernation suspend to disk STD der Betriebszustand ist auf einem nicht fluchtigen Speicher gesichertS5 Soft Off Modus System ist quasi ausgeschaltet aber das Netzteil liefert Spannung und das System kann mit einem mechanischen Taster Einschaltknopf der an der Hauptplatine angeschlossen ist oder je nach Modell und BIOS Einstellung auch uber die Netzwerkschnittstelle Wake On LAN wieder aktiviert werdenEinzelne Gerate im System konnen sich in den Zustanden D0 an bis D3 aus befinden Wie viel Energie in den beiden dazwischen liegenden Zustanden gespart wird und ob diese uberhaupt fur ein Gerat zur Verfugung stehen liegt im Ermessen des Hardware Herstellers Prozessoren konnen sich innerhalb des G0 Zustands in verschiedenen Unterzustanden befinden C0 ist dabei der Arbeitszustand Jeder ACPI fahige Prozessor beherrscht daruber hinaus den C1 Zustand der aktiviert wird wenn der Prozessor leerlauft Dabei wird dem Prozessor die a href HLT Maschinenbefehl html title HLT Maschinenbefehl hlt a Instruktion gesendet Sobald ein Interrupt anliegt wacht er wieder auf Besonders Mobilprozessoren kennen daruber hinaus noch die starkeren Sparzustande C2 C3 oder noch hoher bei denen das Aufwachen zunehmend langer dauert bei C3 meist bereits so viel dass es sich nicht lohnt diesen Zustand einzusteuern da der Weg zuruck nach C0 zu viel Zeit benotigt In den C Zustanden geht es zunachst nur um leerlaufende Prozessoren Daruber hinaus konnen viele moderne CPUs bei wenig Arbeitsaufkommen in C0 Takt und Kernspannung mehrstufig drosseln Von diesen Performance States P States kann es beliebig viele geben Das Betriebssystem muss entscheiden wie stark es den Prozessor bei niedrigem Arbeitsaufkommen drosselt ohne dass eine Ruckkehr zur hochsten Taktstufe P0 unangemessen lange dauert Systembeschreibungs Tabellen AML ASL BearbeitenBIOS und Chipsatz stellen eine Reihe von Tabellen zur Verfugung die das System und seine Komponenten beschreiben oder Routinen anbieten die das Betriebssystem aufrufen kann Sie sind teilweise in Form eines speziellen Bytecodes der ACPI Machine Language AML hinterlegt Sie konnen mit einem Compiler und einem Disassembler zwischen dieser maschinenlesbaren Form und der menschenlesbaren ACPI Source Language ASL ubersetzt werden Die benotigten Software Werkzeuge werden von Intel oder Microsoft zum kostenlosen Herunterladen angeboten so dass es fur Menschen mit ASL Kenntnissen moglich ist fehlerhafte Tabellen hier vor allem die DSDT Differentiated System Description Table selbst zu reparieren Fehlerhafte Tabellen fuhren besonders unter alternativen Betriebssystem wie Linux oder xBSD zu Problemen da einige Hauptplatinenhersteller ihre Tabellen nur unter Microsoft Windows testen Die Microsoft ACPI Implementierung ist dafur bekannt an einigen Stellen nicht zeichengetreu den Standard zu befolgen so dass eventuelle Probleme den Herstellern nicht auffallen Die zwei haufigsten Fehler sind dass die Tabellen davon ausgehen dass die Hauptplatine in jedem Fall nur unter Microsoft Windows laufen wird oder sie in bestimmten Funktionen keinen Wert zuruckgeben impliziter Return Die ACPI Implementierungen der freien Betriebssysteme mussen um diese Fehler herumarbeiten Folgende Tabellen existieren unter anderem 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 SRAT System Resource Affinity Table SLIT System Locality Distance Information Table Tabellenbeschreibungen BearbeitenDie Systembeschreibungstabellen sind eine hierarchisch aufgebaute Struktur die aus mehreren Untertabellen besteht RSDP Root System Description Pointer Diese Tabelle enthalt einen Zeiger auf die weiteren Tabellen und wird von der Hauptplatine entweder in der EBDA Extended BIOS Data Area oder im Speicherbereich von E0000h bis FFFFFh abgelegt Der ACPI Treiber des Betriebssystems sucht den Speicher nach der magischen Zeichenkette RSD PTR ab und erhalt so die Adressen des RSDP und der weiteren Tabellen Bei Rechnern mit EFI steht der RSDP im EFI und das Durchsuchen des Arbeitsspeichers ist nicht notig RSDT Root System Description Table Die RSDT enthalt einen oder mehrere Verweise auf andere Tabellen die Informationen uber die Verfahrensweisen nach bestimmten Standards die im System eine Rolle spielen enthalten So ist im ACPI System zum Beispiel immer der Verweis auf die Fixed ACPI Description Table FADT vorhanden DSDT Differentiated System Description Table DSDT beschreibt implementierte Systemfunktionen wie Energieverwaltung Plug and Play und Kuhlung in sogenannten Definition Blocks Definition Blocks enthalten neben Informationen zur Ansteuerung auch in AML ACPI Machine Language kodierte Steuerfunktionen Die fur ACPI Funktionen in der DSDT eingetragenen Definition Blocks bilden die Grundlage fur das Funktionieren der ACPI Funktionen im System Der DSDT Differentiated Definition Block wird beim Systemboot geladen und verbleibt im Speicher XSDT Extended System Description Table Diese Tabelle enthalt Verweise auf zusatzliche Beschreibungen der Konfiguration und der Systemimplementierung FADT Fixed ACPI Description Table Diese Tabelle enthalt statische systembedingte Informationen zur Energieverwaltung sowie Zeiger auf die Firmware ACPI Control Structure FACS und die Differentiated System Description Table DSDT FACS Firmware ACPI Control Structure Die FACS speichert die vom BIOS eingetragenen systemspezifischen Daten zum ACPI Diese Daten sind die Grundlage fur die Kommunikation von Betriebssystem und Firmware SBST Smart Battery Table Eine ACPI Tabelle die von Plattformen mit Smart Battery Subsystemen benutzt wird Die Tabelle definiert Energieversorgungsgrenzwerte die das System veranlassen in bestimmte Schlafzustande zu wechseln und den Benutzer darauf aufmerksam zu machen In diesem Artikel oder Abschnitt fehlen noch wichtige Informationen Hilf der Wikipedia indem du sie recherchierst und einfugst ECDT Embedded Controller Boot Resources Table SRAT System Resource Affinity Table Diese Tabelle wird von NUMA fahigen Betriebssystemen ausgelesen um lokalen Threads Aktivitatstrager auch lokalen Speicher zuweisen zu konnen Die Speicherzugriffszeit wird somit minimiert die Systemleistung steigt Eine eventuelle Node Interleaving Funktion welche in einigen AMD Opteron BIOS Einstellungen zu finden sind gehort bei NUMA fahigen Betriebssystemen und geeigneten NUMA fahigen Anwendungen abgeschaltet SRAT selbstverstandlich an SLIT System Locality Distance Information Table Diese Tabelle gibt den Abstand der Knoten untereinander an Das wird benotigt um angeforderten Speicher auf dem nachsten d h schnellsten Knoten zu allozieren falls der lokale Speicher zu klein ist Kritik BearbeitenACPI wird dafur kritisiert besonders kompliziert zu sein Fur andere Betriebssysteme als Windows sei es schwer in ordentlicher Weise zu implementieren Intel arbeitet deshalb fur den Einsatz in Mobilgeraten an einer Alternative namens Simple Firmware Interface SFI empfiehlt jedoch wenn eine Hardware beides zur Verfugung stellt stets ACPI zu verwenden 5 Wegen Fehlern in der ACPI Implementierung vieler Hardwarekomponenten muss das Betriebssystem dieses undokumentierte Verhalten mit verschiedenen Methoden korrigieren Das Betriebssystem Linux gibt sich dem BIOS gegenuber als Windows aus um den besser getesteten Windows Modus zu erhalten Es gibt einen ACPI Machine Language Compiler von Intel und einen von Microsoft Die Hersteller bevorzugen die Microsoft Implementierung weil sie besser mit Windows zusammenarbeitet Hardware Defekte durch falsche Stromsparmassnahmen wollen die Hersteller unbedingt vermeiden Bill Gates uberlegte 1999 ob er ACPI so gestalten sollte dass andere Betriebssysteme Probleme mit dessen Implementierung haben 6 One thing I find myself wondering about is whether we shouldn t try and make the ACPI extensions somehow Windows specific It seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without having to do the work Maybe there is no way to avoid this problem but it does bother me Maybe we could define the APIs so that they work well with NT and not the others even if they are open Or maybe we could patent something related to this Ich frage mich ob wir nicht versuchen sollten die ACPI Erweiterungen irgendwie Windows spezifisch zu machen Es ist nicht sehr gunstig wenn wir und unsere Partner die Arbeit machen und Linux wunderbar damit funktioniert ohne etwas beigetragen zu haben Moglicherweise kann man das nicht vermeiden dennoch stort es mich Vielleicht konnten wir die APIs so definieren dass sie gut mit NT aber nicht den anderen zusammenarbeiten obwohl sie offen sind Oder wir konnten vielleicht etwas in diesem Zusammenhang patentieren Bill Gates E Mail ACPI extensions vom 24 Januar 1999Weblinks BearbeitenACPI Component Architecture Intel Corporation Tipps zur ACPI Konfiguration c t Redaktion Einfuhrung ACPI unter FreeBSD ACPI Specification 6 5 August 2022Einzelnachweise Bearbeiten Bernhard Haluschak Energiemanagement mit ACPI 3 0 International Data Group 10 Dezember 2004 abgerufen am 23 Dezember 2022 Preexisting ACPI Specifications In uefi org Abgerufen am 23 Dezember 2022 UEFI Forum s New ACPI 5 1 Specification Adapts Configuration and Power Interface to 64 bit Focused Features of the ARMv8 A Architectures technikaffe de Simple Firmware Interface FAQ Memento vom 17 September 2009 im Internet Archive Microsoft ACPI sollte nur unter Windows funktionieren Patente sollten Verwendung durch offene Betriebssysteme verhindern Abgerufen von https de wikipedia org w index php title Advanced Configuration and Power Interface amp oldid 229877761