Stati di basso consumo del dispositivo

Gli stati di alimentazione del dispositivo D1, D2 e D3 sono gli stati di basso consumo del dispositivo. A partire da Windows 8, D3 è suddiviso in due sottostate, D3hot e D3cold.

D1 e D2 sono stati intermedi a basso consumo. Molte classi di dispositivi non definiscono questi stati. Tutti i dispositivi devono definire D3hot.

Le sezioni seguenti descrivono D1, D2 e D3:

Stato di alimentazione del dispositivo D1

Lo stato di alimentazione del dispositivo D1 è lo stato a basso consumo di energia del dispositivo più alto. Le caratteristiche sono le seguenti:

Consumo energetico
Il consumo è minore di nello stato D0, ma maggiore o uguale a quello nello stato D2. Spesso, D1 è uno stato a controllo orario in cui il dispositivo riceve una potenza sufficiente per mantenere il contesto hardware del dispositivo. In genere, la specifica per un bus o una classe di dispositivo che supporta D1 descrive questo stato in modo più dettagliato.

Contesto del dispositivo
In generale, il contesto del dispositivo viene mantenuto dall'hardware e non deve essere ripristinato dal driver. La specifica per un bus o una classe di dispositivo che supporta D1 fornisce in genere requisiti dettagliati per mantenere questo contesto.

Comportamento del driver di dispositivo
I driver devono salvare e ripristinare o reinizializzare qualsiasi contesto perso dall'hardware. In genere, tuttavia, i dispositivi perdono poco contesto quando si entra in questo stato.

Tempo di ripristino
In generale, il tempo necessario per ripristinare il dispositivo in D0 da D1 deve essere inferiore al ripristino da D2 a D0.

Funzionalità di riattivazione
Un dispositivo in D1 potrebbe essere in grado di richiedere la riattivazione. Per fornire informazioni su se questo stato può supportare un segnale di riattivazione, un conducente del bus usa la struttura DEVICE_CAPABILITIES o, a partire da Windows 8, l'interfaccia del driver GUID_D3COLD_SUPPORT_INTERFACE.

In genere, i dispositivi che usano D1 lo fanno perché la ripresa da questo stato non richiede il driver per ripristinare il contesto hardware completo del dispositivo. Per ridurre al minimo la percezione del ritardo dell'utente, il ripristino di un dispositivo su D0 da D1 dovrebbe comportare il minor ritardo possibile. Ridurre al minimo il ritardo nella transizione di stato è più importante rispetto alla riduzione del consumo di energia.

Stato alimentazione dispositivo D2

D2 è uno stato intermedio di basso consumo del dispositivo con le caratteristiche seguenti:

Consumo energetico
Il consumo è minore o uguale a quello nello stato D1.

Contesto del dispositivo
In generale, la maggior parte del contesto di dispositivo viene persa dall'hardware. Spesso, questo stato mantiene la parte del contesto usato per segnalare gli eventi di riattivazione. La specifica per una classe bus o dispositivo che supporta D2 in genere fornisce requisiti dettagliati per mantenere questo contesto.

Comportamento del driver di dispositivo
I driver di dispositivo devono salvare e ripristinare o reinizializzare qualsiasi contesto perso dall'hardware. Un dispositivo tipico perde la maggior parte del contesto quando entra in D2.

Tempo di ripristino
Il ripristino del dispositivo da D2 a D0 richiede almeno il ripristino del dispositivo da D1 a D0. Una scheda grafica con un buffer frame di grandi dimensioni è un esempio di un dispositivo con una grande quantità di contesto hardware da ripristinare dopo una transizione da D2 a D0. Per un dispositivo di questo tipo, il tempo di ripristino da D2 potrebbe essere molto superiore al tempo di ripristino di D1.

Funzionalità di riattivazione
Un dispositivo in D2 potrebbe essere in grado di richiedere la riattivazione. Per fornire informazioni su se questo stato può supportare un segnale di riattivazione, un conducente del bus usa la struttura DEVICE_CAPABILITIES o, a partire da Windows 8, l'interfaccia del driver GUID_D3COLD_SUPPORT_INTERFACE.

In genere, i driver che supportano D2 lo fanno perché i dispositivi non possono supportare la riattivazione da D3. Per questi dispositivi, il consumo di energia nello stato D2 scende al livello più basso da cui il dispositivo può recuperare in risposta a un segnale di riattivazione. A differenza dello stato D1, implementato per ridurre il ritardo percepito dall'utente, l'obiettivo nell'implementazione dello stato D2 è risparmiare energia. Di conseguenza, il tempo di ripristino da D2 a D0 in genere supera quello da D1 a D0. Nello stato D2, ad esempio, la riduzione dell'alimentazione sul bus potrebbe causare la disattivazione di alcune funzionalità di un dispositivo, richiedendo così tempo aggiuntivo per riavviare e ripristinare il dispositivo.

Molte classi di dispositivi non definiscono questo stato.

Stato alimentazione dispositivo D3

D3 è lo stato a basso consumo di energia del dispositivo. Tutti i dispositivi devono supportare questo stato.

A partire da Windows 8, il sistema operativo suddivide D3 in due sottostate separate e distinte, D3hot e D3cold. Le versioni precedenti di Windows definiscono lo stato D3, ma non le sottostate D3hot e D3cold. Tuttavia, tutte le versioni di PCI Bus Power Management Interface Specification definiscono sottostate D3hot e D3cold separate e versioni 4 e successive di Advanced Configuration and Power Interface Specification definiscono le sottostate D3hot e D3cold.

Anche se le versioni di Windows precedenti a Windows 8 non definiscono in modo esplicito le sottostate D3hot e D3cold di D3, queste sottostate esistono in modo implicito in queste versioni precedenti di Windows. Un dispositivo è implicitamente nello stato secondario D3hot se il dispositivo è in modo esplicito nello stato D3 e il computer si trova nello stato di alimentazione del sistema S0. In D3hot, un dispositivo è connesso a una fonte di alimentazione (anche se il dispositivo potrebbe essere configurato per disegnare bassa corrente) e la presenza del dispositivo sul bus può essere rilevata. Un dispositivo è implicitamente nello stato secondario D3cold se è in modo esplicito nello stato D3 e il computer si trova in uno stato Sx a basso consumo (uno stato diverso da S0). In questo sottostato D3cold implicito, il dispositivo potrebbe ricevere un dispositivo corrente, ma il dispositivo e il computer vengono effettivamente disattivati fino a quando non si verifica un evento di riattivazione.

A partire da Windows 8, un dispositivo può entrare e lasciare lo stato D3cold mentre il computer rimane nello stato S0. Per supportare questo nuovo comportamento, D3hot e D3cold devono essere definiti in modo esplicito come substate distinti di D3.

D3hot è l'unico substate di D3 che il dispositivo può entrare direttamente da D0. Un dispositivo esegue una transizione da D0 a D3hot sotto il controllo software da parte del driver di dispositivo. In D3hot il dispositivo può essere rilevato sul bus a cui si connette. Il bus deve rimanere nello stato D0 mentre il dispositivo si trova nello stato secondario D3hot. Da D3hot, il dispositivo può tornare a D0 o immettere D3cold. D3cold può essere immesso solo da D3hot.

D3cold è uno stato secondario di D3 in cui il dispositivo è fisicamente connesso al bus, ma la presenza del dispositivo sul bus non può essere rilevata (ovvero fino a quando il dispositivo non viene riattivato). In D3cold, una o entrambe le condizioni seguenti sono vere:

  • Il bus a cui si connette il dispositivo è in uno stato a basso consumo.
  • Il dispositivo è in uno stato a basso consumo in cui il dispositivo non risponde quando il conducente del bus tenta di rilevare la sua presenza sul bus.

La transizione da D3hot a D3cold si verifica senza alcuna interazione del driver di dispositivo. Il driver di dispositivo indica invece se è preparato per una transizione D3cold prima di avviare la transizione da D0 a D3hot. Successivamente, una transizione da D3hot a D3cold può verificarsi o meno, a seconda che tutte le condizioni siano corrette per abilitare questa transizione.

Due condizioni di questo tipo sono che tutti i dispositivi che usano la stessa fonte di alimentazione sono in D3hot e sono preparati per una transizione D3cold. Quando l'ultimo di questi dispositivi entra D3hot, il driver del bus padre o il driver di filtro ACPI disattiva l'alimentazione a questi dispositivi, ovvero che i dispositivi entrano in D3cold.

Un dispositivo in D3cold può lasciare questo sottostato solo immettendo D0. Non esiste alcuna transizione diretta da D3cold a D3hot.

Quando il computer si trova nello stato S0 e un dispositivo entra nello stato secondario D3hot, il driver di dispositivo in genere non è in grado di determinare in anticipo se la transizione successiva del dispositivo sarà D3cold o D0. L'unica eccezione è quando il computer si prepara a lasciare lo stato S0. In questo caso, la transizione successiva è D3cold.

Le sezioni seguenti descrivono D3hot e D3cold:

Per altre informazioni, vedere Supporto di D3cold in un driver.

Substate D3hot

D3hot ha le caratteristiche seguenti:

L'alimentazione elettrica viene rimossa principalmente dal dispositivo, ma non dal computer nel suo complesso. Il computer, che si trova nello stato S0, potrebbe continuare a essere in esecuzione in questo stato oppure potrebbe prepararsi a passare da S0 a uno stato Sx a basso consumo.

Contesto del dispositivo
Il driver di dispositivo è esclusivamente responsabile del ripristino del contesto di dispositivo. Il driver deve mantenere e quindi ripristinare tutto il contesto di dispositivo o deve reinizializzare il dispositivo al momento della transizione allo stato D0.

Comportamento del driver di dispositivo
Il driver di dispositivo è responsabile esclusivamente del ripristino del contesto di dispositivo, in genere dalla configurazione di lavoro più recente.

Tempo di ripristino
Il tempo di ripristino totale è il più alto di uno degli stati di alimentazione del dispositivo, ad eccezione di D3cold, ma in genere non è molto maggiore del tempo di ripristino da D2.

Funzionalità di riattivazione
Un dispositivo nello stato secondario D3hot può o non essere in grado di richiedere la riattivazione. Per fornire informazioni su se questo sottostato può supportare un segnale di riattivazione, un driver del bus usa la struttura DEVICE_CAPABILITIES o, a partire da Windows 8, l'interfaccia del driver GUID_D3COLD_SUPPORT_INTERFACE.

In D3hot è disponibile solo l'attuale trucco minimo. I driver e l'hardware devono essere preparati per l'assenza di alimentazione. La specifica per un bus che supporta D3hot in genere fornisce requisiti dettagliati per le fonti di alimentazione che possono essere usate in questo stato. Per ripristinare lo stato di funzionamento del dispositivo, i driver del dispositivo devono essere in grado di ripristinare e reinizializzare il dispositivo senza dipendere dal BIOS per eseguire qualsiasi codice nell'opzione ROM che potrebbe essere disponibile per il dispositivo.

Tutte le classi del dispositivo definiscono lo stato secondario D3hot.

Sottostato D3cold

D3cold presenta le caratteristiche seguenti:

Consumo energetico
L'alimentazione è stata completamente rimossa dal dispositivo e possibilmente dall'intero sistema. Il dispositivo può essere in grado di disegnare la corrente da origini side-band, a seconda della sua costruzione.

Contesto del dispositivo
Il driver di dispositivo è esclusivamente responsabile del ripristino del contesto di dispositivo. Il driver deve mantenere e quindi ripristinare il contesto di dispositivo o deve reinizializzare il dispositivo in fase di transizione allo stato D0.

Comportamento del driver di dispositivo
Il driver di dispositivo è responsabile esclusivamente del ripristino del contesto di dispositivo, in genere dalla configurazione di lavoro più recente.

Tempo di ripristino
Il tempo di ripristino totale è il massimo di uno degli stati di alimentazione del dispositivo.

Funzionalità di riattivazione
Nella sottostate D3cold un dispositivo potrebbe essere in grado di attivare un segnale di riattivazione per riattivare un computer in sospensione. Questa funzionalità viene segnalata nella struttura DEVICE_CAPABILITIES e, a partire da Windows 8, dalla routine GetIdleWakeInfo nell'interfaccia del driver GUID_D3COLD_SUPPORT_INTERFACE. Dopo che il segnale riattiva il computer, il driver di dispositivo avvia la transizione del dispositivo da D3cold a D0. Per altre informazioni, vedere le osservazioni seguenti.

A partire da Windows 8, un dispositivo nello stato secondario D3cold potrebbe essere in grado di attivare un segnale di riattivazione a un computer che si trova nello stato di alimentazione del sistema S0. Questa funzionalità viene segnalata dalla routine GetIdleWakeInfo . La struttura DEVICE_CAPABILITIES non contiene informazioni su questa funzionalità. Dopo l'arrivo del segnale di riattivazione, il driver del dispositivo avvia la transizione del dispositivo da D3cold a D0. In questo caso, il computer viene sveglio quando arriva il segnale e solo il dispositivo deve riattivarsi.

In molte piattaforme hardware esistenti, un dispositivo con stato Dx a basso consumo può attivare un segnale di riattivazione per riattivare un computer in sospensione. Tuttavia, lo stesso dispositivo potrebbe non essere in grado di attivare un segnale di riattivazione se il computer è in esecuzione nello stato S0. Pertanto, il driver per questo dispositivo non deve avviare la transizione del dispositivo da D0 a uno stato Dx a basso consumo quando il computer si trova nello stato S0. In caso contrario, dopo che il dispositivo lascia D0, non sarà disponibile fino a quando il computer non lascia lo stato S0. Questo dispositivo deve lasciare lo stato D0 solo quando il computer si prepara a lasciare lo stato S0.

Se un dispositivo in stato Dx a basso consumo può attivare un segnale di riattivazione a un computer in esecuzione nello stato S0, il dispositivo non deve rimanere in D0 quando il computer è in S0. Se il computer è in S0 e il dispositivo si trova in D0 ma è inattiva, il driver può armezzare il dispositivo per attivare un segnale di riattivazione e quindi avviare la transizione del dispositivo da D0 a questo stato Dx a basso consumo.

Alcune classi del dispositivo definiscono lo stato secondario D3cold.

Per altre informazioni, vedere Supporto di D3cold in un driver.