Le processeur est-il actif en mode veille?

39

Supposons que sur un système d'exploitation Windows, vous permutiez l'ordinateur de passer en mode veille et de le ranger. Pour autant que je sache, aucun programme ni processus ne sera exécuté.

Mais le processeur serait-il toujours en marche ou actif en arrière-plan d'une manière ou d'une autre et utilisant le pouvoir?

Parce que lorsque vous effectuez une action, par exemple avec des ordinateurs modernes fonctionnant sous Windows 7 / 8.1 / 10, c’est-à-dire en ouvrant le couvercle, en appuyant sur un bouton ou en touchant la souris, il s’allume immédiatement sans avoir à appuyer sur le bouton d’alimentation. Alors, est-ce parce que la CPU attendait activement ces événements alors qu'elle était à faible consommation d'énergie?

cpx
la source

Réponses:

57

Le processeur est-il actif en mode veille?

Ça dépend. Il existe différents états de veille (S1 à S4) et l'état de la CPU n'est pas le même dans tous.

  • La CPU est arrêtée en état de veille S1
  • La CPU est mise hors tension en état de veille S2 ou supérieur.

La veille correspond normalement à l'état de veille S3, mais le BIOS peut parfois être configuré pour utiliser l'état de veille S1 à la place (utilisé lorsque la reprise depuis S3 ne fonctionne pas correctement).

powercfg -a peut être utilisé pour voir quels états de veille un PC prend en charge.

Exemple de sortie:

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.

États de sommeil du système

Les états S1, S2, S3 et S4 sont les états en veille. Un système dans l'un de ces états n'effectue aucune tâche de calcul et semble être désactivé. Contrairement à un système en état d'arrêt (S5), un système en veille conserve l'état de la mémoire, que ce soit sur le matériel ou sur le disque. Le système d'exploitation n'a pas besoin d'être redémarré pour que l'ordinateur soit à nouveau opérationnel.

Certains périphériques peuvent sortir le système d'un état de veille lorsque certains événements se produisent, par exemple un appel entrant vers un modem. De plus, sur certains ordinateurs, un indicateur externe indique à l'utilisateur que le système est simplement en veille.

À chaque état de veille successif, de S1 à S4, une plus grande partie de l’ordinateur est éteinte. Tous les ordinateurs compatibles ACPI éteignent leurs horloges de processeur en S1 et perdent le contexte matériel du système en S4 (sauf si un fichier de veille prolongée est écrit avant l'arrêt), comme indiqué dans les sections suivantes. Les détails des états de veille intermédiaires peuvent varier en fonction de la façon dont le fabricant a conçu la machine. Par exemple, sur certaines machines, certaines puces de la carte mère risquent de perdre de la puissance en S3, tandis que sur d'autres, ces puces le restent jusqu'à S4. En outre, certains périphériques peuvent ne réactiver le système que de S1 et non de profonds états de veille.

État d'alimentation du système S1

L'état d'alimentation du système S1 est un état de veille présentant les caractéristiques suivantes:

Consommation d'énergie

  • Consommation inférieure à S0 et supérieure à celle des autres états de sommeil. L'horloge du processeur est éteinte et les horloges de bus sont arrêtées. Reprise de logiciel

  • Le contrôle redémarre là où il s'était arrêté.

Latence matérielle

  • Typiquement pas plus de deux secondes.

Contexte matériel du système

  • Tout le contexte retenu et maintenu par le matériel.

État d'alimentation du système S2

L'état d'alimentation système S2 est similaire à S1, à la différence que le contexte de la CPU et le contenu de la mémoire cache du système sont perdus car le processeur est mis hors tension. L'état S2 présente les caractéristiques suivantes:

Consommation d'énergie

  • Consommation inférieure à celle de l'état S1 et supérieure à celle de S3. Le processeur est éteint. Les horloges de bus sont arrêtées; certains bus risquent de perdre de la puissance. Reprise de logiciel

  • Après le réveil, le contrôle commence à partir du vecteur de réinitialisation du processeur.

Latence matérielle

  • Deux secondes ou plus; supérieur ou égal à la latence pour S1.

Contexte matériel du système

  • Le contexte de la CPU et le contenu du cache système sont perdus.

État d'alimentation du système S3

L'état d'alimentation du système S3 est un état de veille présentant les caractéristiques suivantes:

Consommation d'énergie

  • Moins de consommation qu'en état S2. Le processeur est éteint et certaines puces de la carte mère pourraient également l'être.

Reprise de logiciel

  • Après l'événement de réveil, le contrôle démarre à partir du vecteur de réinitialisation du processeur.

Latence matérielle

  • Presque impossible à distinguer de S2.

Contexte matériel du système

  • Seule la mémoire système est conservée. Le contexte de la CPU, le contenu du cache et le contexte du chipset sont perdus.

État d'alimentation du système S4

État d'alimentation du système S4, l'état de veille prolongée, correspond à l'état de veille le moins alimenté et à la latence de réveil la plus longue. Pour réduire la consommation d'énergie au minimum, le matériel met tous les périphériques hors tension. Cependant, le contexte du système d'exploitation est conservé dans un fichier de veille prolongée (une image de mémoire) que le système écrit sur le disque avant de passer à l'état S4. Au redémarrage, le chargeur lit ce fichier et passe à l'emplacement de préhibernation précédent du système.

Si un ordinateur à l'état S1, S2 ou S3 perd toute alimentation secteur ou batterie, il perd le contexte matériel du système et doit par conséquent redémarrer pour revenir à S0. Cependant, un ordinateur à l'état S4 peut redémarrer à partir de son emplacement précédent même après avoir perdu la batterie ou le secteur, car le contexte du système d'exploitation est conservé dans le fichier de veille prolongée. Un ordinateur en mode veille prolongée n’utilise pas d’alimentation (à l’exception possible du courant de maintien).

L'état S4 présente les caractéristiques suivantes:

Consommation d'énergie

  • Éteint, sauf pour le courant de maintien du bouton d'alimentation et les appareils similaires. Reprise de logiciel

  • Le système redémarre à partir du fichier de veille prolongée enregistré. Si le fichier de veille prolongée ne peut pas être chargé, un redémarrage est requis. La reconfiguration du matériel alors que le système est à l'état S4 peut entraîner des modifications qui empêchent le chargement du fichier de mise en veille prolongée correctement.

Latence matérielle

  • Long et indéfini. Seule une interaction physique ramène le système à l'état de fonctionnement. Une telle interaction peut inclure l'utilisateur qui appuie sur le commutateur ON ou, si le matériel approprié est présent et le réveil activé, une sonnerie entrante pour le modem ou une activité sur un réseau local. La machine peut également se réveiller d’une minuterie de reprise si le matériel le prend en charge. Contexte matériel du système

  • Aucune retenue dans le matériel. Le système écrit une image de la mémoire dans le fichier de veille prolongée avant la mise hors tension. Lorsque le système d'exploitation est chargé, ce fichier est lu et accédé à son emplacement précédent.

États dormants du système source


Lectures complémentaires

DavidPostill
la source
powercfg - a can be used...: il y a un espace supplémentaire entre -et a.
Ruslan
25

L'excellente réponse de David est correcte pour les machines traditionnelles et les versions de Windows antérieures à 8. Cependant, Windows 8 a introduit un nouveau mode de veille pour les périphériques à faible consommation d'énergie (tablettes basées sur Atom, etc.) appelé InstantGo / Connected Standby . Il s'agit du mode "veille" par défaut lorsque vous éteignez l'écran sur une tablette Windows avec le matériel pris en charge.

Connecté en veille n'utilise pas les états de veille ACPI traditionnels. Son objectif est de garder les périphériques de connectivité actifs , ce qui permet au système d'exploitation de répondre aux notifications, par exemple, un courrier électronique entrant, un message instantané, etc. En outre, la machine se "réveille" pendant quelques centaines de millisecondes toutes les 30 secondes. Le processeur devrait répondre (se réveiller) plus rapidement qu’à partir d’une veille S3 traditionnelle.

[Connecté en veille nécessite] Possibilité de basculer entre les modes inactif et actif en moins de 100 millisecondes. Le mode actif permet au code de s'exécuter sur la ou les CPU (s), mais n'autorise pas nécessairement l'accès au périphérique de stockage ou à d'autres contrôleurs hôtes ou périphériques. Le mode inactif peut être un état à horloge ou à puissance, mais doit être celui qui présente la consommation d'énergie la plus faible pour le SoC et la DRAM.

la source

Notez que c'est beaucoup, beaucoup plus rapide que les deux secondes maximum spécifiées pour S1, ou les deux secondes ou plus pour S2 / S3, comme dans la réponse de David.

À cette fin, la CPU est maintenue dans un état spécial. Microsoft appelle DRIPS (Deepest Runtime Idle Platform State) sur le matériel pris en charge.

Sur les SoC Intel (x86), cela relève de l’un des nouveaux états S0ix (non standard) , à savoir S0i3. Dans cet état, la CPU n'exécute aucun code, mais le SoC dans son ensemble est encore suffisamment actif pour rester connecté au réseau et répondre à tous les événements.


En ce qui concerne ACPI, cet état est toujours considéré comme l'état S0 (actif). Windows utilise l' ACPI_S0_LOW_POWER_IDLEindicateur pour déterminer si DRIPS est pris en charge. La spécification ACPI ( 6.0 , avril 2015, § 5.2.2, tableau 5-35, p. 127) définit cet indicateur comme suit:

Un one informe OSPM que la plate-forme est capable de réaliser des économies d’énergie dans SO égales ou meilleures que celles habituellement réalisées dans S3. En effet, lorsque ce bit est défini, cela indique que le système ne réalisera aucun avantage en énergie en effectuant une transition de sommeil vers S3.

Selon Microsoft :

Les systèmes prenant en charge Modern Standby n'utilisent pas S1-S3.

Bob
la source
5

Il existe de nombreux types de modes de veille gérés par ACPI https://en.wikipedia.org/wiki/Configuration_avancée_et_Interface

La CPU fonctionne généralement en mode veille, mais avec une fréquence d'horloge faible. Elle n'écoute que des entrées spécifiques et n'exécute aucun autre processus. J'ai d'abord essayé de le mesurer en exécutant procmon et en mettant l'ordinateur portable en veille, mais cela n'a pas fonctionné du tout pendant cette période.

Il existe 4 états globaux, G0-G3, où G0 est en cours d'exécution et G3 est désactivé. Selon l'article lié, le sous-état G1 S2 désactive le processeur et déplace son cache vers la RAM. La RAM est celle qui est activée dans tous les types de sommeil - elle est désactivée en veille prolongée et en arrêt normal. Dans la plupart des états de veille, tous les périphériques d'entrée externes sont sous tension et enverront des événements de réveil à l'ordinateur. L'ordinateur peut également se réactiver pour traiter les routines nécessitant un réveil téléphonique.

Koliat
la source
2
"déplace son cache vers la RAM" Etant donné que le cache est, eh bien, un cache, le vidage des lignes de cache en mauvais état et son extinction sont-ils suffisants?
ζ--
Le processeur est allumé, mais ne fonctionne pas.
ilkhd
0

Je n'ai rien de technique à ajouter à ces réponses déjà excellentes. Mais le moyen le plus simple de tester l'effet du mode veille sur votre propre ordinateur (je suppose que vous parlez d'un ordinateur portable, puisque vous dites "rangez-le") consiste à le mettre en mode veille et à le débrancher (remarquez la batterie niveau premier). Reprenez la machine quelques heures plus tard et voyez si le niveau de votre batterie s'est épuisé pendant cette période.

J'ai découvert à quel point le mode veille épuise ma batterie à un rythme raisonnable. J'ai refermé le couvercle de mon ordinateur portable avant de partir en pensant que j'avais configuré l'option «Fermer le couvercle» pour déclencher le mode veille prolongée dans les paramètres d'alimentation avancés. Quelques heures plus tard, la machine ne se remettait pas en marche car la batterie était complètement déchargée (c’était une vieille batterie faible).

En revanche, je peux hiberner mon ordinateur portable et le débrancher indéfiniment. La batterie ne se déchargera pas plus rapidement que la décharge de maintien naturelle qui se produit au fil des jours.

Mais comme les autres messages l'ont dit: YMMV.

utilisateur275514
la source