43 votes

Est-ce que le processeur est actif en mode Veille?

Supposez que sur un OS Windows, vous basculez l'ordinateur en mode veille et que vous l'éteignez. Autant que je sache, aucun programme ou processus ne sera en cours d'exécution.

Mais le processeur serait-il toujours en cours d'exécution ou actif en arrière-plan d'une manière ou d'une autre et utilisant l'énergie ?

Parce que lorsque vous effectuez une action peut-être avec des ordinateurs modernes exécutant Windows 7/8.1/10 c'est-à-dire ouvrir le couvercle, appuyer sur un bouton, toucher la souris, il s'allume immédiatement sans avoir à appuyer sur le bouton d'alimentation. Donc, est-ce parce que le CPU attendait activement ces événements tout en étant en mode basse consommation ?

63voto

DavidPostill Points 140654

Le CPU est-il actif en mode veille?

Cela dépend. Il existe différentes états de veille (S1 à S4) et l'état du CPU n'est pas le même dans tous ces états.

  • Le CPU est arrêté en mode veille S1
  • Le CPU est éteint en mode veille S2 ou supérieur.

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

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

Exemple de sortie:

F:\test>powercfg -a
Les états de veille suivants sont disponibles sur ce système : 
Veille (S3) Hibernation Veille hybride
Les états de veille suivants ne sont pas disponibles sur ce système : 
Veille (S1)
    Le micrologiciel du système ne prend pas en charge cet état de veille.
Veille (S2)
    Le micrologiciel du système ne prend pas en charge cet état de veille.

États de veille du système

Les états S1, S2, S3 et S4 sont des états de veille. Un système dans l'un de ces états n'exécute aucune tâche de calcul et semble être éteint. Contrairement à un système à l'arrêt (S5), cependant, un système en veille conserve l'état de la mémoire, soit dans le matériel, soit sur le disque. Il n'est pas nécessaire de redémarrer le système d'exploitation pour ramener l'ordinateur à l'état de fonctionnement.

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

Avec chaque état de veille successif, de S1 à S4, une plus grande partie de l'ordinateur est éteinte. Tous les ordinateurs conformes à l'ACPI éteignent leurs horloges de processeur en S1 et perdent le contexte matériel du système en S4 (sauf si un fichier d'hibernation est écrit avant l'arrêt), comme indiqué dans les sections ci-dessous. Les détails des états de veille intermédiaires peuvent varier en fonction de la manière dont le fabricant a conçu la machine. Par exemple, sur certaines machines, certains puces sur la carte mère peuvent perdre de l'énergie en S3, alors que sur d'autres, de telles puces conservent de l'énergie jusqu'en S4. De plus, certains périphériques peuvent être capables de réveiller le système uniquement à partir de S1 et non des états de veille plus profonds.

État de veille S1

L'état de veille du système S1 est un état de veille avec les caractéristiques suivantes:

Consommation électrique

  • Moins de consommation que en S0 et plus que dans les autres états de veille. L'horloge du processeur est éteinte et les horloges du bus sont arrêtées. Reprise logicielle

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

Latence matérielle

  • Typiquement pas plus de deux secondes.

Contexte matériel

  • Tous les contextes sont conservés et maintenus par le matériel.

État de veille S2

L'état de veille du système S2 est similaire à S1 sauf que le contexte CPU et le contenu du cache système sont perdus car le processeur perd son alimentation. L'état S2 a les caractéristiques suivantes:

Consommation électrique

  • Consommation moins importante que dans l'état S1 et plus que dans S3. Le processeur est éteint. Les horloges du bus sont arrêtées; certains bus peuvent perdre de l'énergie. Reprise logicielle

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

Latence matérielle

  • Deux secondes ou plus; supérieure ou égale à la latence pour S1.

Contexte matériel

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

État de veille S3

L'état de veille du système S3 est un état de veille avec les caractéristiques suivantes :

Consommation électrique

  • Moins de consommation que en état S2. Le processeur est éteint et certains puces sur la carte mère peuvent également être éteintes.

Reprise logicielle

  • 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 indistinguible de S2.

Contexte matériel

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

État de veille S4

L'état de veille du système S4, l'état d'hibernation, est l'état de veille le moins consommateur d'énergie et possède la latence de réveil la plus longue. Pour réduire la consommation d'énergie au minimum, le matériel éteint tous les périphériques. Cependant, le contexte du système d'exploitation est conservé dans un fichier d'hibernation (une image de la mémoire) que le système écrit sur le disque avant d'entrer en état S4. Au redémarrage, le chargeur lit ce fichier et saute à l'emplacement précédent du système, avant l'hibernation.

Si un ordinateur en état S1, S2 ou S3 perd toute alimentation secteur ou batterie, il perd le contexte matériel du système et doit donc redémarrer pour revenir en S0. Un ordinateur en état S4, cependant, peut redémarrer à partir de son emplacement précédent même après avoir perdu l'alimentation secteur ou batterie car le contexte du système d'exploitation est conservé dans le fichier d'hibernation. Un ordinateur en état d'hibernation ne consomme aucune énergie (à l'exception du courant résiduel éventuel).

L'état S4 a les caractéristiques suivantes:

Consommation électrique

  • Off, sauf pour le courant de veille du bouton d'alimentation et des dispositifs similaires. Reprise logicielle

  • Le système redémarre à partir du fichier d'hibernation enregistré. Si le fichier d'hibernation ne peut pas être chargé, un redémarrage est nécessaire. La reconfiguration du matériel pendant que le système est en état S4 peut entraîner des modifications qui empêchent le chargement correct du fichier d'hibernation.

Latence matérielle

  • Longue et indéfinie. Seule une interaction physique ramène le système à l'état de fonctionnement. Cette interaction peut inclure l'utilisateur appuyant sur l'interrupteur ON ou, si le matériel approprié est présent et l'activation du réveil est activée, une sonnerie entrante pour le modem ou une activité sur un LAN. La machine peut également se réveiller d'un timer de reprise si le matériel le supporte. Contexte matériel du système

  • Aucun n'est conservé dans le matériel. Le système écrit une image de la mémoire dans le fichier d'hibernation avant de s'éteindre. Lorsque le système d'exploitation est chargé, il lit ce fichier et saute à son emplacement précédent.

Source États de veille du système


Lecture complémentaire

28voto

Bob Points 58080

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

Connected Standby n'utilise pas les états de veille ACPI traditionnels. Son objectif est de maintenir actifs les périphériques de connectivité, permettant au système d'exploitation de répondre aux notifications, par exemple à un email entrant, un message instantané, etc. De plus, la machine se "réveille" pendant quelques centaines de millisecondes toutes les 30 secondes. Le CPU devrait répondre (se réveiller) plus rapidement que s'il était en mode veille S3 traditionnel.

[Connected Standby requires] La capacité de passer entre les modes inactif et actif en moins de 100 millisecondes. Le mode actif permet au code de s'exécuter sur le(s) CPU, mais n'autorise pas nécessairement l'accès au dispositif de stockage ou à d'autres contrôleurs ou périphériques principaux. Le mode inactif peut être un état à horloge ou énergie coupée, mais devrait être l'état qui présente la consommation d'énergie la plus basse pour le SoC et la DRAM.

source

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

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

Pour les SoCs Intel (x86), cela tombe sous l'un des nouveaux états S0ix (non-standard), spécifiquement S0i3. Dans cet état, le CPU n'exécute aucun code, mais le SoC dans son ensemble reste assez actif pour rester connecté au réseau et répondre à tout événement.


En ce qui concerne l'ACPI, il s'agit toujours de l'état S0 (actif). Windows utilise le drapeau ACPI_S0_LOW_POWER_IDLE pour déterminer si le DRIPS est pris en charge. La spécification ACPI (6.0, avril 2015, §5.2.9, tableau 5-35, pg. 127) définit ce drapeau comme suit :

Un informe OSPM que la plateforme est capable d’atteindre des économies d’énergie en S0 similaires ou supérieures à celles généralement réalisées en S3. En effet, lorsque ce bit est défini, il indique que le système n'obtiendra aucun bénéfice en économisant de l'énergie en passant à S3.

Selon Microsoft:

Les systèmes prenant en charge la veille moderne n'utilisent pas S1-S3.

6voto

Donny Davis Points 1

Il existe de nombreux types de modes veille gérés par ACPI https://fr.wikipedia.org/wiki/Interfaces_et_alimentation_avancées

Le CPU fonctionne généralement en mode veille, bien qu'avec une fréquence d'horloge basse - il n'écoute que des entrées spécifiques et ne lance aucun autre processus activement. J'ai essayé de le mesurer d'abord en exécutant procmon et en mettant l'ordinateur portable en veille, mais il n'a pas du tout fonctionné pendant cette période.

Il existe 4 états globaux, G0-G3, où G0 est En cours d'exécution et G3 est Arrêt mécanique Selon l'article lié, le sous-état G1 S2 éteint le CPU et déplace son cache vers la RAM. La RAM est celle qui est alimentée dans tous les types de veille - elle est éteinte en mode hibernation et en arrêt standard. Dans la plupart des états de veille, tous les dispositifs d'entrée externes sont allumés et enverront des événements de réveil à l'ordinateur. L'ordinateur peut également se réveiller tout seul pour traiter des routines nécessitant des appels de réveil.

1voto

user176315 Points 63

Je n'ai rien de technique à ajouter à ces réponses déjà excellentes. Mais la manière la 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 "le mettre de côté") est de mettre l'ordinateur portable en mode veille et de le débrancher (notez d'abord le niveau de la batterie). Revenez sur la machine quelques heures plus tard et vérifiez si le niveau de la batterie a diminué pendant ce temps.

J'ai découvert à mes dépens que le mode veille épuise ma batterie à un rythme assez rapide. J'ai fermé le capot de mon ordinateur portable avant un voyage, pensant avoir configuré "fermer le capot" pour déclencher l'hibernation dans les paramètres avancés de l'alimentation, mais il est entré en mode veille à la place. Quelques heures plus tard, la machine ne voulait pas reprendre parce que la batterie s'était complètement déchargée (c'était une vieille batterie faible).

En revanche, je peux mettre en hibernation mon ordinateur portable et le débrancher indéfiniment, et il ne consommera pas la batterie plus rapidement que le déchargement naturel qui se produit sur plusieurs jours.

Mais comme les autres messages l'ont indiqué : cela peut varier d'une situation à l'autre.

0voto

user34660 Points 99

En réponse à la question est-ce que c'est parce que le CPU attendait activement, il n'est pas nécessaire que le CPU fasse l'attente; le matériel effectue l'attente et envoie une interruption au CPU qui le réveille.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X