rechner- und systemtechnik dozent: gerald riemer robert engmann und benedikt menne
TRANSCRIPT
Rechner- und SystemtechnikRechner- und SystemtechnikDozent: Gerald RiemerDozent: Gerald Riemer
Robert Engmann und Benedikt Menne
AufbauAufbau Theoretischer TeilTheoretischer Teil
• Powermanagement allgemeinPowermanagement allgemein• Advanced PowermanagementAdvanced Powermanagement• Advanced Configuration and Power Advanced Configuration and Power
InterfaceInterface• Powermanagement auf verschiedenen Powermanagement auf verschiedenen
PlatformenPlatformen Microsoft WindowsMicrosoft Windows LinuxLinux
Powermanagement allgemeinPowermanagement allgemein
Einsparung von Energie wird Einsparung von Energie wird wichtigerwichtiger• Finanzieller HintergrundFinanzieller Hintergrund• Ökologischer HintergrundÖkologischer Hintergrund
PowermanagementtechnikenPowermanagementtechniken• Advanced Power ManagementAdvanced Power Management• Advanced Configuration and Power Advanced Configuration and Power
InterfaceInterface
Advanced Power ManagementAdvanced Power Management Spezifikation erstellt von Intel und Spezifikation erstellt von Intel und
Microsoft im Jahre 1992Microsoft im Jahre 1992 APM definiert verschiedene APM definiert verschiedene
Energiemodies des Computers Energiemodies des Computers APM BIOS verbindet Hardware und APM BIOS verbindet Hardware und
BetriebssystemBetriebssystem
APM – EnergiemodiesAPM – Energiemodies
Doze ModeDoze Mode• Eine Vorstufe des Standby ModusEine Vorstufe des Standby Modus
Standby ModusStandby Modus• Einige Komponenten werden deaktiviertEinige Komponenten werden deaktiviert• Tastatur oder Maus weckt PC wieder aufTastatur oder Maus weckt PC wieder auf
Suspend ModusSuspend Modus• Computer wird softwareseitig abgeschaltetComputer wird softwareseitig abgeschaltet
Hard Off (Aus) Hard Off (Aus) • Computer ist ohne Verbindung zu Stromquelle Computer ist ohne Verbindung zu Stromquelle
APM Aufbau und IntegrationAPM Aufbau und Integration
APM - VorteileAPM - Vorteile
Simple TechnikSimple Technik Einfache Integration von APM ins Einfache Integration von APM ins
BetriebsystemBetriebsystem Einfache Integration von APM Einfache Integration von APM
Funktionen für Entwickler von Funktionen für Entwickler von SoftwareSoftware
APM - NachteileAPM - Nachteile
Dreh- und Angelpunkt ist das APM Dreh- und Angelpunkt ist das APM BIOSBIOS• APM BIOS muss Steuercodes der Geräte kennenAPM BIOS muss Steuercodes der Geräte kennen• APM BIOS Größe steigt ExorbitalAPM BIOS Größe steigt Exorbital• APM BIOS kennt keine Erweiterungskarten (z.B. APM BIOS kennt keine Erweiterungskarten (z.B.
PCI)PCI) BetriebsystemBetriebsystem
• BIOS führt „Blackbox Dasein“BIOS führt „Blackbox Dasein“ HardwareherstellerHardwarehersteller
• Steuercode muss bekannt gegeben werdenSteuercode muss bekannt gegeben werden• Für PCI Karten ist eigener APM Treiber nötigFür PCI Karten ist eigener APM Treiber nötig
Fragerunde zu APMFragerunde zu APM
Advanced Configuration and Power Advanced Configuration and Power InterfaceInterface
Entwickelt von HP, Intel, Microsoft, Entwickelt von HP, Intel, Microsoft, Phoenix Technologies und Toshiba im Phoenix Technologies und Toshiba im Jahre 1996Jahre 1996
Keine Weiterentwicklung von APM Keine Weiterentwicklung von APM aufgrund der Defiziente sondern aufgrund der Defiziente sondern komplette Neuentwicklungkomplette Neuentwicklung
Ziel war es maximale Flexibilität zu Ziel war es maximale Flexibilität zu erreichenerreichen
Advanced Configuration and Power Advanced Configuration and Power InterfaceInterface
Betriebsystem steuert Betriebsystem steuert PowermanagementPowermanagement• Besserer Überblick über vorhandene Besserer Überblick über vorhandene
Hardware und deren AnzahlHardware und deren Anzahl• Hat mehr EntscheidungsmöglichkeitenHat mehr Entscheidungsmöglichkeiten• Besitzt Benutzerschnittstelle (z.B. für Besitzt Benutzerschnittstelle (z.B. für
Infos)Infos)• „ „ Blackbox Dasein“ wird verhindertBlackbox Dasein“ wird verhindert
ACPI - Abstrakte SchnittstelleACPI - Abstrakte Schnittstelle ACPI wird in zwei logische Stufen geteiltACPI wird in zwei logische Stufen geteilt
• Lowlevel (ACPI BIOS)Lowlevel (ACPI BIOS)• Highlevel (Betriebsystem)Highlevel (Betriebsystem)
Operating System-directed configuration Operating System-directed configuration and Power Management (OSPM)and Power Management (OSPM)• OSPM ist im OS Kernel angesiedeltOSPM ist im OS Kernel angesiedelt• OSPM stellt optimale Konfiguration der OSPM stellt optimale Konfiguration der
Hardware bereitHardware bereit• OSPM kontrolliert verschiedene OSPM kontrolliert verschiedene
Hardwarezonen Hardwarezonen
ACPI - OSPM ZonenACPI - OSPM Zonen EnergiezuständeEnergiezustände
• Systemweit Systemweit • GerätespezifischGerätespezifisch• Prozessorspezifisch Prozessorspezifisch
LeistungsbereitschaftLeistungsbereitschaft Systemereignisse (Events)Systemereignisse (Events) BatterieverwaltungBatterieverwaltung Thermische SteuerungThermische Steuerung
ACPI - SystemzuständeACPI - Systemzustände
ACPI - SystemzuständeACPI - Systemzustände
Globale ZuständeGlobale Zustände ProzessorzuständeProzessorzustände GerätezuständeGerätezustände LeistungsbereitschaftszuständeLeistungsbereitschaftszustände SchlafzuständeSchlafzustände BootvorgangszuständeBootvorgangszustände
ACPI - Globale ZuständeACPI - Globale Zustände Jeder Computer besitzt 4 globale Jeder Computer besitzt 4 globale
ZuständeZustände• G0/S1 - WorkingG0/S1 - Working
Anwendungssoftware wird ausgeführtAnwendungssoftware wird ausgeführt
• G1 - SleepingG1 - Sleeping Computer befindet sich im S1-S4 ModusComputer befindet sich im S1-S4 Modus
• G2/S5 - Soft OffG2/S5 - Soft Off Computer ist ausgeschaltetComputer ist ausgeschaltet
• G3 - Mechanic OffG3 - Mechanic Off Stromversorgung unterbrochenStromversorgung unterbrochen
ACPI - Globale ZuständeACPI - Globale Zustände Desto höher der globale Zustand Desto höher der globale Zustand
um so höher die Latenzzeit zum G0 um so höher die Latenzzeit zum G0 ZustandZustand
Desto höher der globale Zustand Desto höher der globale Zustand um so niedriger ist der um so niedriger ist der EnergieverbrauchEnergieverbrauch
ACPI - ProzessorzuständeACPI - Prozessorzustände C0 ZustandC0 Zustand
• Anweisungen werden ausgeführtAnweisungen werden ausgeführt• Energieaufnahme und Wärmeentwicklung am größtenEnergieaufnahme und Wärmeentwicklung am größten
C1 ZustandC1 Zustand• Wird durch HLT Befehl herbeigeführtWird durch HLT Befehl herbeigeführt• Float, Integer Einheit etc, wird abgestellt Float, Integer Einheit etc, wird abgestellt • Latenzzeit sehr gering Latenzzeit sehr gering
C2 ZustandC2 Zustand• Für MP-Systeme. 1 Prozessor arbeitet der andere schläft Für MP-Systeme. 1 Prozessor arbeitet der andere schläft
C3 ZustandC3 Zustand
• Cache wird abgeschaltet. Cache wird abgeschaltet. • Betriebsystem muss Register- und Cacheintegrität Betriebsystem muss Register- und Cacheintegrität
bewahrenbewahren
ACPI - GerätezuständeACPI - Gerätezustände Geräte besitzen verschiedene Energiemodies Geräte besitzen verschiedene Energiemodies
• D0 ZustandD0 Zustand Im vollem Unfang betriebsfähigIm vollem Unfang betriebsfähig
• D1 Zustand (Optional)D1 Zustand (Optional) Gerät braucht weniger Energie.Gerät braucht weniger Energie. Niedrige Latenzzeit um D0 zu erreichenNiedrige Latenzzeit um D0 zu erreichen
• D2 Zustand (Optional)D2 Zustand (Optional) Gerät braucht weniger Energie als im D1 ZustandGerät braucht weniger Energie als im D1 Zustand Latenzzeit größer als im D1 ZustandLatenzzeit größer als im D1 Zustand
• D3 ZustandD3 Zustand Gerät ist abgeschaltetGerät ist abgeschaltet Höchste Latenzzeit. System muss Gerät neu initialisierenHöchste Latenzzeit. System muss Gerät neu initialisieren
ACPI - LeistungsbereitschaftACPI - Leistungsbereitschaft Manche Geräte besitzen Manche Geräte besitzen
Stromsparmodies im D0-ZustandStromsparmodies im D0-Zustand• Festplatte: Niedrigere DrehzahlFestplatte: Niedrigere Drehzahl• Prozessor: Niedrigere TaktfrequenzProzessor: Niedrigere Taktfrequenz
Diese werden von P0-P15 gegliedertDiese werden von P0-P15 gegliedert Um so höher der Zustand um so höher Um so höher der Zustand um so höher
der Energiespareffektder Energiespareffekt
ACPI - SystemzuständeACPI - Systemzustände
Es gibt 5 Systemzustände (S0-S4)Es gibt 5 Systemzustände (S0-S4) S-Zustände sind systemweit S-Zustände sind systemweit Um so höher der S-Zustand um so Um so höher der S-Zustand um so
höher der Energiespareffekthöher der Energiespareffekt Um so höher der S-Zustand um so Um so höher der S-Zustand um so
höher die Latenzzeit zu S0höher die Latenzzeit zu S0 Jedem S-Zustand ist pro Gerät ein D-Jedem S-Zustand ist pro Gerät ein D-
Zustand zugewiesen Zustand zugewiesen
ACPI - S-ZuständeACPI - S-Zustände S0-ZustandS0-Zustand
• Äquivalent mit G0-ZustandÄquivalent mit G0-Zustand S1-ZustandS1-Zustand
• Befehlsausführung der CPU wird gestopptBefehlsausführung der CPU wird gestoppt• Kontext im System bleibt erhaltenKontext im System bleibt erhalten
S2-ZustandS2-Zustand• Prozessorkomplex schaltet sich ab (z.B. Prozessorkomplex schaltet sich ab (z.B.
Cache)Cache)
ACPI - S-ZuständeACPI - S-Zustände S3-Zustand (Suspend to RAM)S3-Zustand (Suspend to RAM)
• Die meisten Geräte werden abgeschaltet (D3)Die meisten Geräte werden abgeschaltet (D3)• Arbeitsspeicher wird normal mit Energie versorgtArbeitsspeicher wird normal mit Energie versorgt• Hardwarekonfiguration, Register- Cacheinhalt, Hardwarekonfiguration, Register- Cacheinhalt,
Grafikspeicher werden in Arbeitsspeicher Grafikspeicher werden in Arbeitsspeicher transferierttransferiert
S4-Zustand (Suspend to Disk)S4-Zustand (Suspend to Disk)• Zuerst wird Prozedere S3 ausgeführtZuerst wird Prozedere S3 ausgeführt• Arbeitsspeicherinhalt wird auf Festplatte gesichertArbeitsspeicherinhalt wird auf Festplatte gesichert
S5-ZustandS5-Zustand• S5 ist äquivalent zu G2 (Soft Off)S5 ist äquivalent zu G2 (Soft Off)
ACPI - BootvorgangszuständeACPI - Bootvorgangszustände Computer ist mit dem Bootvorgang Computer ist mit dem Bootvorgang
beschäftigtbeschäftigt Es wird überprüft ob vorher S4 Es wird überprüft ob vorher S4
ausgeführt wurdeausgeführt wurde Falls S4 ausgeführt wurde wird die Falls S4 ausgeführt wurde wird die
Sicherung des Arbeitsspeichers Sicherung des Arbeitsspeichers wiederhergestelltwiederhergestellt
ACPI – Verlassen der S-ACPI – Verlassen der S-ZuständeZustände
Es gibt 2 Möglichkeiten Es gibt 2 Möglichkeiten Systemzustände zu verlassenSystemzustände zu verlassen• Interaktion des Benutzers Interaktion des Benutzers
(Tastatur/Maus/Events)(Tastatur/Maus/Events)• Aufwecken durch andere Geräte Aufwecken durch andere Geräte
(Netzwerkkarte)(Netzwerkkarte) Geräte die Aufwecken können haben Geräte die Aufwecken können haben
als niedrigsten D-Zustand D2als niedrigsten D-Zustand D2
ACPI - SystemzuständeACPI - Systemzustände
ACPI - MetaspracheACPI - Metasprache ACPI definiert mächtige Metasprache ACPI definiert mächtige Metasprache
ASLASL ASL zu Bytecode kompiliert wird als AML ASL zu Bytecode kompiliert wird als AML
bezeichnetbezeichnet ASL/AML beschreibt:ASL/AML beschreibt:
• Funktion des GerätesFunktion des Gerätes• Unterstützte Zustände (P0-P15, D0-D3)Unterstützte Zustände (P0-P15, D0-D3)• Auszuführende Schritte um Aktion (z.B. D3) Auszuführende Schritte um Aktion (z.B. D3)
herbeizuführenherbeizuführen Jedes Gerät bringt eigenes AML auf Jedes Gerät bringt eigenes AML auf
FlashROM mit FlashROM mit
ACPI - MetaspracheACPI - MetaspracheMethod (_BST, 0, Serialized)Method (_BST, 0, Serialized) {{ If (USEC)If (USEC) {{ ShiftLeft (^^PCI0.PIB.EC0.ERCH, 0x08, BCAP)ShiftLeft (^^PCI0.PIB.EC0.ERCH, 0x08, BCAP) Or (BCAP, ^^PCI0.PIB.EC0.ERCL, BCAP)Or (BCAP, ^^PCI0.PIB.EC0.ERCL, BCAP) Store (^^PCI0.PIB.EC0.B1CV, BCVT)Store (^^PCI0.PIB.EC0.B1CV, BCVT) Store (^^PCI0.PIB.EC0.B1FC, BFCG)Store (^^PCI0.PIB.EC0.B1FC, BFCG) Store (^^PCI0.PIB.EC0.B1TC, BTCG)Store (^^PCI0.PIB.EC0.B1TC, BTCG) Store (0x0960, BTPR)Store (0x0960, BTPR) Store (^^PCI0.PIB.EC0.SOC1, Local0)Store (^^PCI0.PIB.EC0.SOC1, Local0) }} ElseElse {{ Acquire (PSMX, 0xFFFF)Acquire (PSMX, 0xFFFF) SMIR (0xE6, 0xFF)SMIR (0xE6, 0xFF) Store (BRC0, BCAP)Store (BRC0, BCAP) Store (MPCT, Local0)Store (MPCT, Local0) Release (PSMX)Release (PSMX) }} ..
.. ..
}}
ACPI - SchnittstelleACPI - Schnittstelle
ACPI - Gesamtkonzept (OSPM)ACPI - Gesamtkonzept (OSPM) ACPI Steuerinstanz ist das BetriebssystemACPI Steuerinstanz ist das Betriebssystem Konfiguration der GeräteKonfiguration der Geräte Verteilung von InterruptusVerteilung von Interruptus Wechseln zu verschiedenen Zuständen (z.B. S3)Wechseln zu verschiedenen Zuständen (z.B. S3) Bereitstellung von Informationsschnittstellen Bereitstellung von Informationsschnittstellen
(Akkuzustand etc.)(Akkuzustand etc.) Richtlinienumsetzung für optimales Richtlinienumsetzung für optimales
Powermanagement (Minimaler- oder maximaler Powermanagement (Minimaler- oder maximaler Energieverbrauch)Energieverbrauch)
Behandlung von Ereignissen (Events)Behandlung von Ereignissen (Events)
Fragerunde zu ACPIFragerunde zu ACPI
Powermanagement unter WindowsPowermanagement unter Windows
Microsoft beteiligt an SpezifikationMicrosoft beteiligt an Spezifikation Gewissenhafte ImplementierungGewissenhafte Implementierung Marktführerposition hilft WindowsMarktführerposition hilft Windows Einfacher Zugriff für Einfacher Zugriff für
Softwareentwickler mit Hilfe von Softwareentwickler mit Hilfe von Windows Management Windows Management Instrumentation (WMI)Instrumentation (WMI)
ACPI - Windows 98ACPI - Windows 98
Windows 98 erstes OS mit Windows 98 erstes OS mit ACPI UnterstützungACPI Unterstützung
Einführung der Einführung der EnergieoptionenEnergieoptionen
APM und ACPI wurden APM und ACPI wurden parallel betriebenparallel betrieben
ACPI funktionierte nicht ACPI funktionierte nicht reibungslosreibungslos
ACPI - Windows 2000ACPI - Windows 2000
Bessere ACPI Bessere ACPI Unterstützung als unter Unterstützung als unter Windows 98Windows 98
APM und ACPI APM und ACPI Parallelbetrieb möglichParallelbetrieb möglich
Immigration des Immigration des Ruhezustandes Ruhezustandes (Hibernate)(Hibernate)
ACPI - Windows XPACPI - Windows XP
Anpassung an ACPI Anpassung an ACPI Spezifikation 2.0Spezifikation 2.0
Keine APM Keine APM Unterstützung mehrUnterstützung mehr
Erweiterung der Energie- Erweiterung der Energie- optionenoptionen
ACPI Richtlinieneinsicht ACPI Richtlinieneinsicht hinzugefügthinzugefügt
ACPI - Windows XPACPI - Windows XP
ACPI - Windows VistaACPI - Windows Vista
ACPI 3.0 UnterstützungACPI 3.0 Unterstützung Dritthersteller PlugIn-Dritthersteller PlugIn-
SystemSystem Vielfältigere und Vielfältigere und
umfangreiche umfangreiche EinstellungsmöglichkeitenEinstellungsmöglichkeiten
ACPI unter LinuxACPI unter Linux ACPI Unterstützung erst sehr spät (1999)ACPI Unterstützung erst sehr spät (1999) Initiative von Intel Corps. mit ACPI CAInitiative von Intel Corps. mit ACPI CA Immigration von ACPI CA in Kernel 2.4 Immigration von ACPI CA in Kernel 2.4 Mittelmäßige ACPI UnterstützungMittelmäßige ACPI Unterstützung
• BIOS Hersteller erstellen ASL für WindowsBIOS Hersteller erstellen ASL für Windows• Hardwarehersteller richten sich nach WindowsHardwarehersteller richten sich nach Windows
Mit Linux Kernel 2.5, 2.6 wurden viele Mit Linux Kernel 2.5, 2.6 wurden viele Probleme behoben Probleme behoben
Linux - ACPICALinux - ACPICA
ACPI - Gnome PowerManagerACPI - Gnome PowerManager
Fragerunde zu BetriebsystemenFragerunde zu Betriebsystemen