Udostępnij przez


Stany zasilania urządzenia

Stan zasilania urządzenia opisuje stan zasilania urządzenia w komputerze, niezależnie od innych urządzeń w komputerze. Stany zasilania urządzenia mają nazwy D0, D1, D2 i D3. D0 jest w pełni włączonym stanem, a D1, D2 i D3 są stanami niskiego zużycia energii. Numer stanu jest odwrotnie związany z zużyciem energii: wyższe ponumerowane stany zużywają mniej energii. Począwszy od systemu Windows 8, stan D3 jest podzielony na dwa podstany, D3hot i D3cold.

Następujące atrybuty charakteryzują stany zasilania urządzenia:

  • Zużycie energii: ile mocy używa urządzenie?

  • Kontekst urządzenia: ile jego kontekstu operacyjnego zachowuje urządzenie w tym stanie?

  • Zachowanie sterownika urządzenia: Jakie sterowniki urządzenia muszą wykonać, aby przywrócić urządzenie do w pełni funkcjonalnego stanu?

  • Czas przywracania: jak długo trwa przywracanie urządzenia do w pełni funkcjonalnego stanu? Większość typów urządzeń ma skromne czasy przywracania, które różnią się niewiele od jednej klasy urządzeń do następnej. Tylko kilka typów urządzeń, takich jak GPU, ma duże konteksty sprzętowe, których przywrócenie zajmuje więcej czasu.

  • Możliwość wybudzania: czy urządzenie może z tego stanu wysłać żądanie wybudzenia? Ogólnie rzecz biorąc, jeśli urządzenie może zażądać wznawiania z danego stanu zasilania (na przykład D2), może również zażądać wznawiania z dowolnego stanu zasilania wyższego (D1).

Dokładne definicje stanów zasilania są specyficzne dla urządzenia. Nie wszystkie urządzenia definiują wszystkie stany; wiele urządzeń definiuje tylko stany D0 i D3. Aby uzyskać więcej informacji, zobacz Specyfikację referencyjną zarządzania energią klasy urządzeń, aby dowiedzieć się, które stany zasilania urządzenia są zdefiniowane dla określonego urządzenia i jakie są wymagania operacyjne dla każdego stanu. (Specyfikacje referencyjne są dostępne na stronie internetowej ACPI /Power Management ).

Stan zasilania urządzenia nie musi być zgodny ze stanem zasilania systemu. Na przykład niektóre urządzenia mogą być w stanie wyłączonym (D3), mimo że system jest w stanie roboczym systemu (S0).

Stan zasilania urządzenia może wydawać się niezwiązany ze stanem zasilania magistrali nadrzędnej urządzenia. Na przykład urządzenie USB może być w stanie D2 (selektywne wstrzymanie), gdy jego nadrzędny kontroler hosta jest w stanie D3. Te dwa stany wydają się być niespójne tylko dlatego, że definicje stanów Dx są różne na USB i w magistrali (zazwyczaj PCI lub PCI Express), z którymi jest podłączony kontroler hosta USB.

Niektóre urządzenia mogą mieć kilka różnych trybów niskiego zasilania w jednym stanie zasilania urządzenia. Takie urządzenie może używać tych trybów, jeśli jego sterownik może automatycznie przełączać urządzenie z jednego trybu na inny bez zmiany stanu zasilania urządzenia. Ogólnie rzecz biorąc, jeśli jednak nie ma zauważalnej różnicy między trybami, urządzenie powinno używać tylko najniższego trybu zasilania. Jeśli tryb niskiego zasilania, taki jak tryb o niskiej szybkości, niekorzystnie wpływa na wydajność lub nie jest niewidoczny dla oprogramowania innego niż sterownik urządzenia, sprzęt nie powinien automatycznie go używać. Aby uzyskać szczegółowe informacje, zobacz Specyfikację referencyjną zarządzania energią klasy urządzeń.

Sterownik lub menedżer zasilania może zażądać przejścia stanu zasilania urządzenia, a wszystkie sterowniki muszą być przygotowane do obsługi środowisk IRPs, które żądają takich przejść. Aby uzyskać więcej informacji, zobacz następujące artykuły:

Wysyłanie IRP_MN_QUERY_POWER lub IRP_MN_SET_POWER dla stanów zasilania urządzenia

Obsługa IRP_MN_QUERY_POWER dla stanów zasilania urządzeń

Obsługa IRP_MN_SET_POWER dla stanów zasilania urządzeń

Podobnie jak system, urządzenie może przejść ze stanu roboczego (D0) do dowolnego stanu niskiego zasilania (D1, D2 lub D3) i ze stanu niskiego zasilania do stanu pracy. Na poniższym diagramie przedstawiono wykres stanu przedstawiający prawidłowe przejścia stanu zasilania urządzenia.

diagram przedstawiający prawidłowe przejścia stanu zasilania urządzenia.

Ten wykres przedstawia podział D3 na D3hot i D3cold. Funkcje D3hot i D3cold są definiowane począwszy od systemu Windows 8. Wszystkie urządzenia muszą obsługiwać stan D0 i podstan D3hot. Inne stany pokazane na diagramie są opcjonalne.

Na poprzednim wykresie przejście z D3hot do D3cold jest jedynym bezpośrednim przejściem między stanami niskiego zużycia energii urządzenia. Wszystkie inne przejścia między stanami niskiego zużycia energii wymagają pośredniego przejścia do D0, co umożliwia sterownikowi urządzenia skonfigurowanie sprzętu urządzenia, zgodnie z potrzebami, aby wprowadzić następny stan niskiego zasilania lub pozostać w D0. Jednak urządzenie opuszcza stan D3hot i wchodzi w stan D3cold, gdy zasilanie urządzenia zostanie wyłączone, co nie wymaga interwencji sterownika urządzenia. Ten sterownik wykonuje wszelkie niezbędne konfiguracje sprzętu urządzenia przed wejściem urządzenia do D3hot; do przygotowania urządzenia do przejścia z D3hot do D3cold nie jest wymagana żadna inna konfiguracja. Aby uzyskać więcej informacji, zobacz Obsługa D3cold w sterowniku.

Mapowanie stanu D portu głównego PCI do punktu końcowego

W systemach Windows 10 ogólny stan zasilania platformy zależy od stanów zasilania (D-states) zintegrowanych urządzeń SoC (System on Chip), w tym portów głównych PCI. W zależności od opracowywanej platformy wymagania dotyczące stanu D dla portów głównych PCI mogą się różnić w każdym stanie zasilania platformy. Zapoznaj się z dokumentacją specyficzną dla platformy IHV, aby zapoznać się z wymaganiami dotyczącymi stanu zasilania platformy i urządzeń.

W poniższej tabeli przedstawiono mapowanie stanu zasilania portów głównych PCI i dołączonych punktów końcowych. Stany D punktów końcowych wymienionych w tabeli muszą zostać osiągnięte, aby port główny mógł przejść do docelowego stanu D.

Stan D docelowego portu głównego Stan D punktu końcowego
D0 D0, D0:F1
D0:F1 D3hot
D3hot D3cold (patrz poniższa uwaga)

Uwaga

Stan zasilania PCI D3cold wymaga obsługi systemu BIOS i sterownika urządzenia. Jeśli brakuje obsługi, punkt końcowy PCI może uzyskać tylko stan D3Hot. Aby uzyskać więcej informacji, zobacz Obsługa funkcji D3Cold w sterowniku.