Freigeben über


Gerätezustand mit niedriger Leistung

Geräteleistungszustände D1, D2 und D3 sind die Energiesparzustände des Geräts. Ab Windows 8 ist D3 in zwei Unterstates unterteilt: D3hot und D3cold.

D1 und D2 sind zwischengeschaltete Energiesparzustände. Viele Geräteklassen definieren diese Zustände nicht. Alle Geräte müssen D3hot definieren.

In den folgenden Abschnitten werden D1, D2 und D3 beschrieben:

Geräte-Energiezustand D1

Der Geräteleistungszustand D1 ist der leistungsarme Zustand des Geräts. Das Repository weist die folgenden Merkmale auf:

Stromverbrauch
Der Verbrauch ist kleiner als im D0-Zustand, aber größer oder gleich dem im D2-Zustand. Häufig ist D1 ein Uhr-Gate-Zustand, in dem das Gerät nur genügend Energie erhält, um den Hardwarekontext des Geräts zu erhalten. In der Regel beschreibt die Spezifikation für eine Bus- oder Geräteklasse, die D1 unterstützt, diesen Zustand ausführlicher.

Gerätekontext
Im Allgemeinen wird der Gerätekontext von der Hardware beibehalten und muss nicht vom Treiber wiederhergestellt werden. Die Spezifikation für eine Bus- oder Geräteklasse, die D1 unterstützt, bietet in der Regel detaillierte Anforderungen für die Beibehaltung dieses Kontexts.

Verhalten des Gerätetreibers
Treiber müssen alle von der Hardware verloren gegangenen Kontexte speichern und wiederherstellen oder neu initialisieren. In der Regel verlieren Geräte jedoch wenig Kontext bei der Eingabe dieses Zustands.

Wiederherstellungszeit
Im Allgemeinen sollte die Zeit, die zum Wiederherstellen des Geräts von D0 von D1 benötigt wird, kleiner sein als die Wiederherstellung von D2 auf D0.

Wake-up-Funktion
Ein Gerät in D1 kann möglicherweise die Aktivierung anfordern. Um Informationen darüber anzugeben, ob dieser Zustand ein Wakesignal unterstützen kann, verwendet ein Bustreiber die DEVICE_CAPABILITIES Struktur oder ab Windows 8 die GUID_D3COLD_SUPPORT_INTERFACE Treiberschnittstelle.

In der Regel erfordern Geräte, die D1 verwenden, da das Fortsetzen aus diesem Zustand nicht erforderlich ist, dass der Treiber den vollständigen Hardwarekontext des Geräts wiederherstellen kann. Um die Wahrnehmung der Verzögerung des Benutzers zu minimieren, sollte das Wiederherstellen eines Geräts von D0 von D1 die geringste Verzögerung verursachen. Die Minimierung der Verzögerung im Zustandsübergang ist wichtiger als die Reduzierung des Stromverbrauchs.

Geräte-Energiezustand D2

D2 ist ein zwischengeschalteter Gerätezustand mit den folgenden Merkmalen:

Stromverbrauch
Der Verbrauch ist kleiner oder gleich dem im D1-Zustand.

Gerätekontext
Im Allgemeinen gehen die meisten Gerätekontexte von der Hardware verloren. Häufig behält dieser Zustand den Teil des Kontexts bei, der zum Signalisieren von Wake-Ereignissen verwendet wird. Die Spezifikation für eine Bus- oder Geräteklasse, die D2 unterstützt, bietet in der Regel detaillierte Anforderungen für die Beibehaltung dieses Kontexts.

Verhalten des Gerätetreibers
Gerätetreiber müssen alle von der Hardware verloren gegangenen Kontexte speichern und wiederherstellen oder neu initialisieren. Ein typisches Gerät verliert den meisten Kontext, wenn es D2 eingibt.

Wiederherstellungszeit
Das Wiederherstellen des Geräts von D2 zu D0 dauert mindestens so lange, wie das Gerät von D1 zu D0 wiederhergestellt wird. Ein Grafikadapter mit einem großen Framepuffer ist ein Beispiel für ein Gerät mit einem großen Hardwarekontext, der nach einem Übergang von D2 zu D0 wiederhergestellt werden kann. Für ein solches Gerät ist die Wiederherstellungszeit von D2 möglicherweise viel größer als die Wiederherstellungszeit von D1.

Wake-up-Funktion
Ein Gerät in D2 kann möglicherweise die Aktivierung anfordern. Um Informationen darüber anzugeben, ob dieser Zustand ein Wakesignal unterstützen kann, verwendet ein Bustreiber die DEVICE_CAPABILITIES Struktur oder ab Windows 8 die GUID_D3COLD_SUPPORT_INTERFACE Treiberschnittstelle.

In der Regel unterstützen Treiber, die D2 unterstützen, da ihre Geräte das Reaktivieren von D3 nicht unterstützen können. Für diese Geräte sinkt der Stromverbrauch im D2-Zustand auf die niedrigste Ebene, von der das Gerät als Reaktion auf ein Wake-Signal wiederhergestellt werden kann. Im Gegensatz zum D1-Zustand, der implementiert wird, um die vom Benutzer wahrgenommene Verzögerung zu reduzieren, besteht das Ziel bei der Implementierung des D2-Zustands darin, Energie zu sparen. Daher überschreitet die Wiederherstellungszeit von D2 bis D0 in der Regel die Von D1 bis D0. Im D2-Zustand kann z. B. eine reduzierte Stromversorgung auf dem Bus dazu führen, dass ein Gerät einige seiner Funktionen deaktiviert, wodurch zusätzliche Zeit zum Neustarten und Wiederherstellen des Geräts erforderlich ist.

Viele Geräteklassen definieren diesen Zustand nicht.

Geräte-Energiezustand D3

D3 ist der niedergeschaltete Gerätezustand mit niedriger Leistung. Alle Geräte müssen diesen Zustand unterstützen.

Ab Windows 8 unterteilt das Betriebssystem D3 in zwei separate und unterschiedliche Unterstates, D3hot und D3cold. Frühere Versionen von Windows definieren den D3-Zustand, jedoch nicht die Unterzustände D3hot und D3cold. Alle Versionen der PCI Bus Power Management Interface Specification definieren jedoch separate D3hot- und D3cold-Unterstates und Versionen 4 und höher der Advanced Configuration and Power Interface Specification definieren D3hot- und D3cold-Unterstates.

Obwohl Versionen von Windows vor Windows 8 nicht explizit die D3hot- und D3cold-Unterstates von D3 definieren, sind diese Unterstates implizit in diesen früheren Versionen von Windows vorhanden. Ein Gerät befindet sich implizit im D3hot-Unterstatus, wenn sich das Gerät explizit im D3-Zustand befindet und sich der Computer im S0-Systembetriebszustand befindet. In D3hot ist ein Gerät mit einer Stromquelle verbunden (obwohl das Gerät möglicherweise so konfiguriert ist, dass er einen niedrigen Strom zeichnet), und das Vorhandensein des Geräts auf dem Bus kann erkannt werden. Ein Gerät befindet sich implizit im D3cold-Unterstatus, wenn es explizit im D3-Zustand enthalten ist und sich der Computer in einem Sx-Zustand mit niedriger Leistung befindet (ein anderer Zustand als S0). In diesem impliziten D3cold-Unterstatus erhält das Gerät möglicherweise einen Trickle-Strom, das Gerät und der Computer werden jedoch effektiv deaktiviert, bis ein Wake-Ereignis eintritt.

Ab Windows 8 kann ein Gerät den D3cold-Unterstatus eingeben und verlassen, während der Computer wieder Standard im S0-Zustand ist. Um dieses neue Verhalten zu unterstützen, muss D3hot und D3cold explizit als unterschiedliche Unterstates von D3 definiert werden.

D3hot ist der einzige Unterstatus von D3, den das Gerät direkt von D0 eingeben kann. Ein Gerät wechselt vom D0 zu D3hot unter Der Softwaresteuerung durch den Gerätetreiber. In D3hot kann das Gerät auf dem Bus erkannt werden, mit dem es verbunden ist. Der Bus muss im D0-Zustand neu Standard, während sich das Gerät im D3hot-Unterzustand befindet. Von D3hot kann das Gerät entweder zu D0 zurückkehren oder D3cold eingeben. D3cold kann nur von D3hot eingegeben werden.

D3cold ist ein Unterstatus von D3, in dem das Gerät physisch mit dem Bus verbunden ist, aber das Vorhandensein des Geräts auf dem Bus kann nicht erkannt werden (d. d. s., bis das Gerät wieder eingeschaltet ist). In D3cold gilt eine oder beide der folgenden Werte:

  • Der Bus, mit dem das Gerät verbunden ist, befindet sich in einem Energiesparzustand.
  • Das Gerät befindet sich in einem Energiesparzustand, in dem das Gerät nicht reagiert, wenn der Bustreiber versucht, sein Vorhandensein auf dem Bus zu erkennen.

Der Übergang von D3hot zu D3cold erfolgt ohne Gerätetreiberinteraktion. Stattdessen gibt der Gerätetreiber an, ob er für einen D3cold-Übergang vorbereitet ist, bevor er den Übergang von D0 zu D3hot initiiert. Danach kann ein Übergang von D3hot zu D3cold auftreten, je nachdem, ob alle Bedingungen zu diesem Übergang berechtigt sind.

Zwei solche Bedingungen sind, dass alle Geräte, die dieselbe Stromversorgung verwenden, in D3hot sind und für einen D3cold-Übergang vorbereitet sind. Wenn der letzte dieser Geräte D3hot eingibt, deaktiviert der übergeordnete Bustreiber oder ACPI-Filtertreiber die Stromversorgung für diese Geräte, d. h., die Geräte geben D3cold ein.

Ein Gerät, das sich in D3cold befindet, kann diesen Unterstatus nur verlassen, indem er D0 eingibt. Es gibt keinen direkten Übergang von D3cold zu D3hot.

Wenn sich der Computer im S0-Zustand befindet und ein Gerät in den D3hot-Unterstatus wechselt, kann der Gerätetreiber in der Regel nicht im Voraus feststellen, ob der nächste Übergang des Geräts auf D3cold oder D0 festgelegt wird. Die einzige Ausnahme ist, wenn der Computer den S0-Zustand verlässt. In diesem Fall ist der nächste Übergang zu D3cold.

In den folgenden Abschnitten werden D3hot und D3cold beschrieben:

Weitere Informationen finden Sie unter Unterstützen von D3cold in einem Treiber.

D3hot-Unterstatus

D3hot hat die folgenden Merkmale:

Der Stromverbrauch wird hauptsächlich vom Gerät entfernt, aber nicht vom Gesamten des Computers. Der Computer, der sich im S0-Zustand befindet, kann in diesem Zustand weiterhin ausgeführt werden, oder es wird möglicherweise vorbereitet, von S0 in einen Sx-Zustand mit niedriger Leistung zu wechseln.

Gerätekontext
Der Gerätetreiber ist allein für die Wiederherstellung des Gerätekontexts verantwortlich. Der Treiber muss den gesamten Gerätekontext beibehalten und dann wiederherstellen oder das Gerät beim Übergang zum D0-Zustand erneut initialisieren.

Verhalten des Gerätetreibers
Der Gerätetreiber ist allein für die Wiederherstellung des Gerätekontexts verantwortlich, in der Regel aus der neuesten Arbeitskonfiguration.

Wiederherstellungszeit
Die Gesamtwiederherstellungszeit ist die höchste der Gerätestromzustände, mit Ausnahme von D3cold, ist jedoch in der Regel nicht viel größer als die Wiederherstellungszeit von D2.

Wake-up-Funktion
Ein Gerät im D3hot-Unterstatus kann die Aktivierung anfordern oder nicht. Um Informationen darüber anzugeben, ob dieser Unterzustand ein Wakesignal unterstützen kann, verwendet ein Bustreiber die DEVICE_CAPABILITIES Struktur oder ab Windows 8 die GUID_D3COLD_SUPPORT_INTERFACE Treiberschnittstelle.

In D3hot ist nur minimaler Tricklestrom verfügbar. Treiber und Hardware müssen für das Fehlen von Energie vorbereitet sein. Die Spezifikation für einen Bus, der D3hot unterstützt, bietet in der Regel detaillierte Anforderungen für Stromquellen, die in diesem Zustand verwendet werden können. Um das Gerät in den Arbeitszustand zurückzugeben, müssen die Treiber des Geräts das Gerät wiederherstellen und neu initialisieren können, ohne dass das BIOS code in der Option ROM ausführt, die für das Gerät verfügbar sein könnten.

Alle Geräteklassen definieren den D3hot-Unterstatus.

D3cold-Unterstatus

D3cold weist die folgenden Merkmale auf:

Stromverbrauch
Der Strom wurde vollständig vom Gerät und möglicherweise aus dem gesamten System entfernt. Je nach Konstruktion kann das Gerät den Strom aus Seitenbandquellen zeichnen.

Gerätekontext
Der Gerätetreiber ist allein für die Wiederherstellung des Gerätekontexts verantwortlich. Der Treiber muss den Gerätekontext beibehalten und dann wiederherstellen oder das Gerät beim Übergang zum D0-Zustand erneut initialisieren.

Verhalten des Gerätetreibers
Der Gerätetreiber ist allein für die Wiederherstellung des Gerätekontexts verantwortlich, in der Regel aus der neuesten Arbeitskonfiguration.

Wiederherstellungszeit
Die Gesamtwiederherstellungszeit ist die höchste der Geräte-Energiezustände.

Wake-up-Funktion
In der D3cold-Unterstate kann ein Gerät möglicherweise ein Wakesignal auslösen, um einen schlafenden Computer zu reaktivieren. Diese Funktion wird in der DEVICE_CAPABILITIES-Struktur gemeldet und ab Windows 8 durch die GetIdleWakeInfo-Routine in der GUID_D3COLD_SUPPORT_INTERFACE Treiberschnittstelle. Nachdem das Signal den Computer aktiviert hat, initiiert der Gerätetreiber den Übergang des Geräts von D3cold zu D0. Weitere Informationen finden Sie in den folgenden Hinweisen.

Ab Windows 8 kann ein Gerät im D3cold-Unterstatus möglicherweise ein Wakesignal auf einen Computer auslösen, der sich im S0-Systembetriebszustand befindet. Diese Funktion wird von der GetIdleWakeInfo-Routine gemeldet. Die DEVICE_CAPABILITIES-Struktur enthält keine Informationen zu dieser Funktion. Nachdem das Wake-Signal eingetroffen ist, initiiert der Gerätetreiber den Übergang des Geräts von D3cold zu D0. In diesem Fall ist der Computer wach, wenn das Signal eingeht, und nur das Gerät muss aktiviert werden.

In vielen vorhandenen Hardwareplattformen kann ein Gerät, das sich in einem Dx-Zustand mit niedriger Leistung befindet, ein Wakesignal auslösen, um einen schlafenden Computer zu reaktivieren. Dasselbe Gerät kann jedoch möglicherweise kein Wakesignal auslösen, wenn der Computer im S0-Zustand ausgeführt wird. Daher darf der Treiber für dieses Gerät den Übergang des Geräts von D0 zu einem Dx-Zustand mit niedriger Leistung nicht initiieren, wenn sich der Computer im S0-Zustand befindet. Andernfalls ist es nach verlassen des Geräts D0 nicht mehr verfügbar, bis der Computer den S0-Zustand verlässt. Dieses Gerät sollte den D0-Zustand nur verlassen, wenn der Computer den S0-Zustand verlässt.

Wenn ein Gerät, das sich in einem Dx-Zustand mit niedrigem Energieverbrauch befindet, ein Wakesignal auf einen Computer auslösen kann, der im S0-Zustand ausgeführt wird, muss das Gerät nicht erneut Standard in D0 ausgeführt werden, wenn sich der Computer in S0 befindet. Wenn sich der Computer in S0 befindet und sich das Gerät in D0 befindet, aber im Leerlauf ist, kann der Treiber das Gerät armieren, um ein Wake-Signal auszulösen, und dann den Übergang des Geräts von D0 zu diesem Dx-Zustand mit niedriger Leistung initiieren.

Einige Geräteklassen definieren den D3cold-Unterstatus.

Weitere Informationen finden Sie unter Unterstützen von D3cold in einem Treiber.