La CPU è attiva in modalità sospensione?


39

Supponiamo che su un sistema operativo Windows, attivi o disattivi il computer in modalità sospensione. Per quanto ne so non ci saranno programmi o processi in esecuzione.

Ma il processore sarebbe ancora in esecuzione o sarebbe attivo in background in qualche modo e utilizzando la potenza?

Perché quando esegui qualsiasi azione, magari con i computer moderni che eseguono Windows 7 / 8.1 / 10, ovvero aprendo il coperchio, premi un pulsante, toccando il mouse si accende immediatamente senza dover premere il pulsante di accensione. Quindi, è perché la CPU stava attivamente aspettando quegli eventi mentre era in basso consumo?

Risposte:


57

La CPU è attiva in modalità sospensione?

Dipende. Esistono diversi stati di sospensione (da S1 a S4) e lo stato della CPU non è lo stesso in tutti.

  • La CPU viene arrestata nello stato di sospensione S1
  • La CPU è spenta in stato di sospensione S2 o superiore.

La sospensione è normalmente lo stato di sospensione S3, ma a volte il BIOS può essere configurato per utilizzare lo stato di sospensione S1 (utilizzato quando il ripristino da S3 non funziona correttamente).

powercfg -a può essere utilizzato per vedere quali stati di sospensione supportano un PC.

Esempio di output:

F:\test>powercfg -a
The following sleep states are available on this system: 
Standby (S3) Hibernate Hybrid Sleep
The following sleep states are not available on this system: 
Standby (S1)
    The system firmware does not support this standby state.
Standby (S2)
    The system firmware does not support this standby state.

Stati di sonno del sistema

Gli stati S1, S2, S3 e S4 sono gli stati di sospensione. Un sistema in uno di questi stati non sta eseguendo attività di calcolo e sembra essere spento. A differenza di un sistema in stato di arresto (S5), tuttavia, un sistema inattivo mantiene lo stato di memoria, sia nell'hardware che sul disco. Non è necessario riavviare il sistema operativo per riportare il computer allo stato operativo.

Alcuni dispositivi possono riattivare il sistema da uno stato di sospensione quando si verificano determinati eventi, come una chiamata in arrivo a un modem. Inoltre, su alcuni computer, un indicatore esterno indica all'utente che il sistema sta semplicemente dormendo.

Con ogni successivo stato di sospensione, da S1 a S4, una parte maggiore del computer viene spenta. Tutti i computer compatibili con ACPI spengono i loro clock del processore su S1 e perdono il contesto hardware del sistema su S4 (a meno che non sia scritto un file di ibernazione prima dell'arresto), come elencato nelle sezioni seguenti. I dettagli degli stati di sonno intermedi possono variare a seconda di come il produttore ha progettato la macchina. Ad esempio, su alcuni computer alcuni chip sulla scheda madre potrebbero perdere potenza su S3, mentre su altri tali chip mantengono la potenza fino a S4. Inoltre, alcuni dispositivi potrebbero essere in grado di riattivare il sistema solo da S1 e non da stati di sonno più profondi.

Stato alimentazione sistema S1

Lo stato di alimentazione del sistema S1 è uno stato di sospensione con le seguenti caratteristiche:

Consumo di energia

  • Consumo inferiore rispetto a S0 e maggiore rispetto agli altri stati di sonno. L'orologio del processore è spento e gli orologi del bus sono fermi. Ripresa del software

  • Il controllo si riavvia da dove era stato interrotto.

Latenza hardware

  • In genere non più di due secondi.

Contesto hardware del sistema

  • Tutto il contesto è mantenuto e gestito dall'hardware.

Stato alimentazione sistema S2

Lo stato di alimentazione del sistema S2 è simile a S1, tranne per il fatto che il contesto della CPU e il contenuto della cache di sistema vengono persi perché il processore perde potenza. Lo stato S2 ha le seguenti caratteristiche:

Consumo di energia

  • Consumo inferiore rispetto allo stato S1 e maggiore rispetto a S3. Il processore è spento. Gli orologi del bus sono fermati; alcuni autobus potrebbero perdere energia. Ripresa del software

  • Dopo il risveglio, il controllo inizia dal vettore di ripristino del processore.

Latenza hardware

  • Due secondi o più; maggiore o uguale alla latenza per S1.

Contesto hardware del sistema

  • Il contesto della CPU e il contenuto della cache di sistema vengono persi.

Stato alimentazione sistema S3

Lo stato di alimentazione del sistema S3 è uno stato di sospensione con le seguenti caratteristiche:

Consumo di energia

  • Consumo inferiore rispetto allo stato S2. Il processore è spento e anche alcuni chip sulla scheda madre potrebbero essere spenti.

Ripresa del software

  • Dopo l'evento di riattivazione, il controllo inizia dal vettore di ripristino del processore.

Latenza hardware

  • Quasi indistinguibile da S2.

Contesto hardware del sistema

  • Viene conservata solo la memoria di sistema. Il contesto della CPU, il contenuto della cache e il contesto del chipset vengono persi.

Stato alimentazione sistema S4

Lo stato di alimentazione del sistema S4, lo stato di ibernazione, è lo stato di sospensione a basso consumo e ha la latenza di attivazione più lunga. Per ridurre al minimo il consumo di energia, l'hardware spegne tutti i dispositivi. Il contesto del sistema operativo, tuttavia, viene mantenuto in un file di ibernazione (un'immagine di memoria) che il sistema scrive sul disco prima di entrare nello stato S4. Al riavvio, il caricatore legge questo file e passa al precedente percorso di preibernazione del sistema.

Se un computer nello stato S1, S2 o S3 perde tutta l'alimentazione CA o della batteria, perde il contesto hardware del sistema e quindi deve riavviarsi per tornare a S0. Un computer nello stato S4, tuttavia, può riavviarsi dalla posizione precedente anche dopo aver perso la batteria o l'alimentazione CA perché il contesto del sistema operativo viene mantenuto nel file di ibernazione. Un computer in stato di ibernazione non consuma energia (con la possibile eccezione della corrente di mantenimento).

Lo stato S4 ha le seguenti caratteristiche:

Consumo di energia

  • Off, ad eccezione della corrente di mantenimento al pulsante di accensione e dispositivi simili. Ripresa del software

  • Il sistema si riavvia dal file di ibernazione salvato. Se non è possibile caricare il file di ibernazione, è necessario riavviare. La riconfigurazione dell'hardware mentre il sistema si trova nello stato S4 potrebbe comportare modifiche che impediscono il corretto caricamento del file di ibernazione.

Latenza hardware

  • Lungo e indefinito. Solo l'interazione fisica riporta il sistema allo stato operativo. Tale interazione potrebbe includere l'utente che preme l'interruttore ON o, se è presente l'hardware appropriato e la sveglia è abilitata, uno squillo in arrivo per il modem o l'attività su una LAN. La macchina può anche svegliarsi da un timer di ripristino se l'hardware lo supporta. Contesto hardware del sistema

  • Nessuno conservato nell'hardware. Il sistema scrive un'immagine della memoria nel file di ibernazione prima di spegnersi. Quando viene caricato il sistema operativo, legge questo file e passa alla posizione precedente.

Stati di sospensione del sistema di origine


Ulteriori letture


powercfg - a can be used...: c'è uno spazio in più tra -e a.
Ruslan,

25

La risposta eccellente di David è corretta per le macchine tradizionali e le versioni di Windows precedenti alla 8. Tuttavia, Windows 8 ha introdotto una nuova modalità di sospensione per dispositivi a basso consumo (tablet basati su Atom, ecc.). Questo è noto come InstantGo / Connected Standby . Questa è la modalità "sospensione" predefinita quando si spegne lo schermo su un tablet Windows con hardware supportato.

Connected Standby non utilizza gli stati di sospensione ACPI tradizionali. Il suo obiettivo è mantenere attive le periferiche di connettività , consentendo al sistema operativo di rispondere alle notifiche, ad esempio un'e-mail in arrivo, un messaggio istantaneo, ecc. Inoltre, la macchina si "sveglia" per un paio di centinaia di millisecondi ogni 30 secondi. La CPU dovrebbe rispondere (svegliarsi) più velocemente rispetto a una sospensione S3 tradizionale.

[Connected Standby richiede] La capacità di passare tra le modalità inattiva e attiva in meno di 100 millisecondi. La modalità attiva consente l'esecuzione del codice sulle CPU, ma non consente necessariamente l'accesso al dispositivo di archiviazione o ad altri controller host o periferiche. La modalità di inattività può essere in stato gated clock o gated power, ma dovrebbe essere lo stato con il consumo energetico più basso per SoC e DRAM.

fonte

Si noti che questo è molto, molto più veloce di un massimo di due secondi specificato per S1 o di due secondi o più per S2 / S3, come nella risposta di David.

A tal fine, la CPU viene mantenuta in uno stato speciale che Microsoft chiama DRIPS (Deepest Runtime Idle Platform State) sull'hardware supportato.

Sui SoC Intel (x86), questo rientra in uno dei nuovi stati (non standard) S0ix , in particolare S0i3. In questo stato, la CPU non esegue alcun codice, ma il SoC nel suo insieme è ancora abbastanza attivo da rimanere connesso alla rete e rispondere a qualsiasi evento.


Per quanto riguarda ACPI, questo è ancora considerato lo stato S0 (attivo). Windows utilizza il ACPI_S0_LOW_POWER_IDLEflag per determinare se il DRIPS è supportato. La specifica ACPI ( 6.0 , aprile 2015, §5.2.9, tabella 5-35, pag. 127) definisce questo flag come:

Uno informa OSPM che la piattaforma è in grado di ottenere un risparmio energetico in S0 simile o migliore di quelli tipicamente raggiunti in S3. In effetti, quando questo bit è impostato, indica che il sistema non otterrà alcun vantaggio in termini di potenza effettuando una transizione del sonno in S3.

Secondo Microsoft :

I sistemi che supportano Modern Standby non utilizzano S1-S3.


5

Esistono molti tipi di modalità di attesa gestite da ACPI https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

La CPU di solito funziona in modalità standby, sebbene con una frequenza di clock bassa: ascolta solo input specifici e non esegue attivamente altri processi. Ho provato a misurarlo prima eseguendo procmon e impostando il laptop in modalità di sospensione, ma non è stato eseguito per questo periodo.

Esistono 4 stati globali, G0-G3, in cui G0 è in esecuzione e G3 è meccanico disattivato Secondo l'articolo collegato, il sottostato G1 S2 spegne la CPU e sposta la cache nella RAM. La RAM è quella che si accende in tutti i tipi di sospensione: è spenta in letargo e in arresto standard. Nella maggior parte degli stati di sospensione, tutti i dispositivi di input esterni sono accesi e invieranno eventi di sveglia al computer. Il computer può anche riattivarsi per elaborare routine che richiedono chiamate di sveglia.


2
"sposta la sua cache nella RAM" Dato che la cache è, beh, una cache, non è solo svuotare le righe della cache sporche e quindi spegnerla a sufficienza?
ζ--

La CPU è accesa ma non in esecuzione.
ilkhd,

0

Non ho nulla di tecnico da aggiungere a queste risposte già eccellenti. Ma il modo più semplice per testare l'effetto della modalità sleep sul tuo computer (suppongo tu stia parlando di un laptop, dato che dici "mettilo via") è di mettere il laptop in modalità sleep e scollegarlo (nota la batteria primo livello). Riprendi la macchina alcune ore dopo e vedi se il livello della batteria si è esaurito durante quel periodo.

Ho scoperto nel modo più duro che la modalità di sospensione scarica la batteria a un ritmo ragionevole. Ho chiuso il coperchio del mio laptop prima di un viaggio - pensando di aver configurato "chiudi il coperchio" per innescare l'ibernazione nelle impostazioni avanzate di alimentazione - ma invece è entrato in modalità di sospensione. Alcune ore dopo, la macchina non riprendeva perché la batteria era completamente scarica (era una batteria vecchia e scarica).

Al contrario, posso ibernare il mio laptop e scollegarlo indefinitamente, e non scaricherà la batteria più velocemente della scarica di gocciolamento naturale che si verifica nel corso dei giorni.

Ma come hanno detto gli altri post: YMMV.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.