Wechsel zwischen Leerlauf und aktivem Zustand
Während des Schlafes übergibt Windows regelmäßig die SoC-Plattform vom Leerlaufmodus in den aktiven Modus, um Werterstellungsaktivitäten wie das Empfangen einer E-Mail-Benachrichtigung oder das Ausführen einer Wartungsaufgabe auszuführen. Darüber hinaus können On-Demand-Übergänge in den aktiven Modus auftreten, als Reaktion auf Benutzereingaben, Unterbrechungen von Netzwerkgeräten und anderen Hardwareereignissen.
Nachdem der SoC den DRIPS-Zustand eingegeben hat, befindet sich die Plattform in der Regel im niedrigsten Leistungsmodus. Während des Schlafs wechselt die Plattform regelmäßig zwischen diesem Leerlaufmodus (DRIPS) und dem aktiven Modus. Niedrige Leistung wird im Schlaf erreicht, indem sie die meisten Zeit im DRIPS-Modus und sehr kleine Zeit im aktiven Modus verbringen.
Übergang vom Leerlauf in den aktiven Zustand
Windows überläuft den SoC aus folgenden Gründen auf den aktiven Modus:
- Ein On-Demand-Wake-Ereignis aufgrund einer Unterbrechung eines Netzwerkgeräts (WLAN, mobiles Breitband oder Ethernet). Das Netzwerkgerät generiert eine Unterbrechung, wenn ein übereinstimmende WoL-Muster erkannt wird oder wenn sich der Medien- oder Verbindungszustand ändert. Die Unterbrechung aktiviert das SoC mithilfe einer out-of-band GPIO, in-Band-USB-Fortsetzen-Signalisierung oder PCI PME-Unterbrechung.
- Ein On-Demand-Wake-Ereignis aufgrund eines Plattformgeräts, das von einer Quelle unterbrochen wird, z. B. die Batterietankanzeige, den Akkuladecontroller oder die wärmetechnischen Sensoren.
- Ein On-Demand-Wake-Ereignis aufgrund einer Unterbrechung, die durch benutzereingaben bei einer Tastatur, touchpad, externe USB-Peripherie, Power Button oder Deckelschalter verursacht wurde.
Sobald der SoC aktiviert ist und die Plattform den DRIPS-Zustand beendet, beginnen die CPUs erneut mit dem Ausführen von Code. Der Bildschirm bleibt jedoch deaktiviert, es sei denn, die Unterbrechung war ein Ergebnis der Benutzereingabe oder verbindung mit einer Stromquelle. Der Treiber für das Gerät, das die Unterbrechung verursacht, ist für die Meldung der Benutzerpräsenz an das Betriebssystem verantwortlich, wenn die Unterbrechung der Benutzereingabe entspricht. Der Windows-Power-Manager bestimmt, ob der Bildschirm eingeschaltet werden soll; Der Systemdesigner muss nur sicherstellen, dass die Unterbrechung von jedem Gerät verbunden und programmiert ist, um den SoC vom DRIPS-Zustand zu aktivieren.
Systemdesigner müssen eng mit dem SoC-Anbieter zusammenarbeiten, um Geräteunterbrechungen für die SoC-Aktivierung herzustellen. Einige SoC-Geräte erfordern Geräteunterbrechungen, die mit speziellen "wake-fähigen" Eingaben verbunden werden oder für die Aktivierung mithilfe der System-Firmware konfiguriert sind.
Übergang vom aktiven Zustand in den Leerlauf
Windows übergibt die SoC-Plattform vom aktiven Modus in den Leerlaufmodus, nachdem alle Softwareaktivitäten beendet wurden, und die Geräte auf und aus dem SoC-Chip haben Niedrigleistungszustände eingegeben.
Die SoC wechselt zwischen Leerlauf- und aktiven Modi während des Schlafs basierend auf den in den vorherigen Abschnitt erläuterten Triggern. Wann immer die SoC aktiv ist, versucht Windows, ihn an den Idle-Zustand (DRIPS) zurückzugeben, um den Stromverbrauch zu verringern.
Der SoC wird auch aktiv sein, wenn das System die moderne Standby-Einstellung als Reaktion auf die Benutzereingabe beendet, z. B. eine Power-Taste drücken. Der SoC wird automatisch in den Idle-Zustand (DRIPS) eingefügt, wenn alle folgenden Bedingungen wahr sind:
- Alle Geräte außerhalb des SoC wurden heruntergefahren.
- Alle Netzwerk- und Radiogeräte haben ihren Zustand mit niedriger Leistung eingegeben, um auf Pakete zu warten, die WoL-Muster übereinstimmen oder Unterbrechungen anstehen.
- Alle Hostcontroller auf dem SoC wurden heruntergefahren.
- Alle App-Hintergrundaufgaben wurden abgeschlossen.
- Alle CPU- und GPU-Aktivitäten wurden beendet, und alle CPUs sind leer.
Fast alle modernen Standby-Stromprobleme sind mit der Sicherstellung, dass alle diese fünf Bedingungen erfüllt sind. Windows enthält ein integriertes Diagnosetool namens SleepStudy , um zu ermitteln, welche dieser Bedingungen nicht erfüllt werden, wenn der SoC verhindert wird, den Idle-Zustand (DRIPS) einzugeben.