Transizione tra stati inattive e attivi
Durante la sospensione, Windows passa periodicamente la piattaforma SoC dalla modalità inattiva alla modalità attiva per eseguire attività di aggiunta di valore, ad esempio la ricezione di una notifica tramite posta elettronica o l'esecuzione di un'attività di manutenzione. Inoltre, le transizioni su richiesta alla modalità attiva possono verificarsi in risposta agli input dell'utente, agli interrupt dai dispositivi di rete e ad altri eventi hardware.
Dopo che il SoC è entrato nello stato DRIPS, la piattaforma sarà in genere nella modalità di alimentazione più bassa. Durante la sospensione, la piattaforma passerà periodicamente da questa modalità di inattività (DRIPS) alla modalità attiva. La bassa potenza viene ottenuta in sospensione spendendo la maggior parte del tempo nella modalità DRIPS e quantità molto ridotte di tempo nella modalità attiva.
Transizione da inattiva ad attiva
Windows eseguirà la transizione del SoC alla modalità attiva per i motivi seguenti:
- Evento di riattivazione su richiesta dovuto a un'interruzione da un dispositivo di rete (Wi-Fi, banda larga mobile o Ethernet). Il dispositivo di rete genera un'interruzione quando viene rilevato un modello WoL corrispondente o quando cambia lo stato del supporto o della connessione. L'interrupt riattiva il SoC usando un GPIO fuori banda, una ripresa usb in banda o un interrupt PCI PME.
- Un evento di riattivazione su richiesta dovuto a un'interruzione del dispositivo della piattaforma da una fonte, ad esempio il misuratore del carburante della batteria, il controller di carica della batteria o i sensori termico.
- Un evento di riattivazione su richiesta a causa di un interrupt causato dall'input dell'utente in corrispondenza di una tastiera, un touchpad, una periferica USB esterna, un pulsante di alimentazione o un interruttore del coperchio.
Non appena il SoC si riattiva e la piattaforma esce dallo stato DRIPS, le CPU avviano di nuovo l'esecuzione del codice. Tuttavia, lo schermo rimane spento a meno che l'interrupt non sia stato il risultato dell'input dell'utente o la connessione a una fonte di alimentazione. Il driver per il dispositivo che causa l'interruzione è responsabile della segnalazione della presenza dell'utente al sistema operativo se l'interrupt corrisponde all'input dell'utente. Windows Power Manager determina se lo schermo deve essere acceso; La finestra di progettazione del sistema deve solo garantire che l'interruzione da ogni dispositivo sia connessa e programmata per riattivare il SoC dallo stato DRIPS.
I progettisti di sistema devono collaborare con il fornitore soC per connettere gli interrupt dei dispositivi per la riattivazione SoC. Alcuni dispositivi SoC richiedono l'interruzione del dispositivo per essere connessi a input speciali "con supporto per la riattivazione" o configurati per la riattivazione usando il firmware di sistema.
Transizione da attivo a inattiva
Windows passa la piattaforma SoC dalla modalità attiva alla modalità inattiva dopo che tutte le attività software sono state arrestate e i dispositivi sul chip SoC hanno immesso stati a basso consumo.
Il SoC passa tra le modalità inattive e attive durante la sospensione in base ai trigger illustrati nella sezione precedente. Ogni volta che il SoC è attivo, Windows tenterà in modo aggressivo di restituirlo allo stato di inattività (DRIPS) per ridurre il consumo di energia.
Il SoC sarà attivo anche quando il sistema esce dallo standby moderno in risposta all'input dell'utente, ad esempio quando si preme un pulsante di alimentazione. Il SoC verrà reinserci nello stato di inattività (DRIPS) automaticamente quando vengono soddisfatte tutte le condizioni seguenti:
- Tutti i dispositivi al di fuori del SoC sono stati spenti.
- Tutti i dispositivi di rete e radio hanno immesso lo stato di bassa potenza per attendere i pacchetti corrispondenti ai modelli WoL o agli interrupt di riattivazione.
- Tutti i controller host nel SoC sono stati spenti.
- Tutte le attività in background dell'app sono state completate.
- Tutte le attività CPU e GPU sono state arrestate e tutte le CPU sono inattive.
Quasi tutti i problemi di alimentazione di standby moderni sono correlati alla verifica che tutte queste cinque condizioni siano state soddisfatte. Windows include uno strumento di diagnostica predefinito denominato SleepStudy per individuare quali di queste condizioni non vengono soddisfatte quando il SoC non viene impedito di entrare nello stato di inattività (DRIPS).