États de l’alimentation de l’appareil

Un état d’alimentation de l’appareil décrit l’état d’alimentation d’un appareil sur un ordinateur, indépendamment des autres appareils de l’ordinateur. Les états d’alimentation des appareils sont nommés D0, D1, D2 et D3. D0 est l’état complet, et D1, D2 et D3 sont des états à faible alimentation. Le numéro d’état est inversement lié à la consommation d’énergie : les états numérotés plus élevés utilisent moins de puissance. À compter de Windows 8, l’état D3 est divisé en deux sous-états, D3hot et D3cold.

Les états d’alimentation des appareils sont caractérisés par les attributs suivants :

  • Consommation d’énergie : Quelle puissance l’appareil utilise-t-il ?

  • Contexte de l’appareil : Quelle est la quantité de son contexte opérationnel que l’appareil conserve-t-il dans cet état ?

  • Comportement du pilote de périphérique : Que doivent faire les pilotes de l’appareil pour restaurer l’appareil à l’état opérationnel complet ?

  • Temps de restauration : Combien de temps faut-il pour restaurer l’appareil à l’état opérationnel complet ? La plupart des types d’appareils ont des temps de restauration modestes qui diffèrent peu d’une classe d’appareil à l’autre. Seuls quelques types d’appareils, tels que les GPU, ont des contextes matériels volumineux qui prennent plus de temps à restaurer.

  • Fonctionnalité de mise en éveil : l’appareil peut-il demander le réveil à partir de cet état ? En règle générale, si un appareil peut demander le réveil à partir d’un état d’alimentation donné (par exemple, D2), il peut également demander le réveil à partir de n’importe quel état plus alimenté (D1).

Les définitions exactes des états d’alimentation sont spécifiques à l’appareil. Tous les appareils ne définissent pas tous les états ; de nombreux appareils définissent uniquement les états D0 et D3. Pour plus d’informations, consultez la spécification de référence de gestion de l’alimentation de la classe d’appareil pour savoir quels états d’alimentation d’appareil sont définis pour un appareil spécifique et quelles sont les exigences opérationnelles pour chaque état. (Les spécifications de référence sont disponibles à l’adresse SITE WEB ACPI / Gestion de l’alimentation.)

L’état d’alimentation d’un appareil n’a pas besoin de correspondre à l’état d’alimentation du système. Par exemple, certains appareils peuvent être à l’état désactivé (D3), même si le système est dans l’état de fonctionnement du système (S0).

L’état d’alimentation d’un appareil peut sembler non lié à l’état d’alimentation du bus parent de l’appareil. Par exemple, un périphérique USB peut être dans l’état D2 (suspension sélective) lorsque son contrôleur hôte parent est dans l’état D3. Ces deux états semblent incohérents uniquement parce que les définitions des états Dx sont différentes sur USB et sur le bus (généralement PCI ou PCI Express) auquel le contrôleur hôte USB est connecté.

Certains appareils sont capables de différents modes d’alimentation faible au sein d’un seul état d’alimentation de l’appareil. Un tel appareil peut utiliser ces modes si son pilote peut basculer automatiquement l’appareil d’un mode vers un autre sans changer l’état d’alimentation de l’appareil. En règle générale, toutefois, s’il n’existe aucune différence perceptible entre les modes, l’appareil ne doit utiliser que le mode d’alimentation le plus bas. Si un mode à faible puissance, tel qu’un mode à faible vitesse, affecte négativement les performances ou n’est pas transparent pour les logiciels autres que le pilote de périphérique, le matériel ne doit pas l’utiliser automatiquement. Pour plus d’informations, consultez la spécification de référence de gestion de l’alimentation de la classe d’appareil.

Un pilote ou le gestionnaire d’alimentation peut demander une transition d’état d’alimentation de l’appareil, et tous les pilotes doivent être prêts à gérer les fournisseurs d’intégration qui demandent ces transitions. Pour plus d’informations, consultez les articles suivants :

Envoi de IRP_MN_QUERY_POWER ou de IRP_MN_SET_POWER pour les états d’alimentation de l’appareil

Gestion des IRP_MN_QUERY_POWER pour les états d’alimentation des appareils

Gestion des IRP_MN_SET_POWER pour les états d’alimentation de l’appareil

Comme le système, un appareil peut passer de l’état de travail (D0) à un état de faible alimentation (D1, D2 ou D3) et de tout état de faible puissance à l’état de fonctionnement. Le diagramme suivant est un graphique d’état qui montre les transitions d’état d’alimentation de l’appareil valides.

diagramme illustrant les transitions d’état d’alimentation de l’appareil valides.

Ce graphique montre la sous-division de D3 en D3hot et D3cold. D3hot et D3cold sont définis à partir de Windows 8. Tous les appareils sont nécessaires pour prendre en charge l’état D0 et le sous-état D3hot. Les autres états indiqués dans le diagramme sont facultatifs.

Dans le graphique précédent, la transition de D3hot à D3cold est la seule transition directe entre les états de faible puissance de l’appareil. Toutes les autres transitions entre les états à faible alimentation nécessitent une transition intermédiaire vers D0, ce qui permet au pilote de périphérique de configurer le matériel de l’appareil, selon les besoins, d’entrer l’état de faible alimentation suivant ou de rester dans D0. Toutefois, un appareil quitte D3hot et entre dans D3cold lorsque l’alimentation de l’appareil est arrêtée, ce qui ne nécessite aucune intervention du pilote de périphérique. Ce pilote effectue toute configuration nécessaire du matériel de l’appareil avant que l’appareil entre D3hot ; aucune configuration supplémentaire n’est nécessaire pour préparer l’appareil pour la transition de D3hot à D3cold. Pour plus d'informations, consultez Prise en charge de D3cold dans un pilote.

Mappage de port racine PCI vers l’état D du point de terminaison

Sur les systèmes Windows 10, l’état global de l’alimentation de la plateforme dépend des états d’alimentation (états D) des appareils intégrés SoC (Système sur puce), y compris les ports racines PCI. En fonction de la plateforme en cours de développement, les exigences d’état D pour les ports racines PCI peuvent varier pour chaque état d’alimentation de la plateforme. Les oem sont encouragés à consulter la documentation spécifique à la plateforme IHV pour connaître les exigences relatives à l’état de la plateforme et de l’alimentation des appareils.

Le tableau ci-dessous énumère le mappage d’état d’alimentation des ports racines PCI et de ses points de terminaison attachés. Les états D des points de terminaison répertoriés ci-dessous doivent être atteints pour que le port racine entre l’état D cible.

État D de la cible de port racine Point de terminaison D-State
D0 D0, D0 :F1
D0 :F1 D3hot
D3hot D3cold (voir la remarque ci-dessous)

Remarque

L’état de l’alimentation PCI D3cold nécessite la prise en charge du BIOS et du pilote de périphérique. Si la prise en charge est manquante, le point de terminaison PCI ne pourra atteindre que D3Hot. Pour plus d’informations, consultez Prise en charge de D3Cold dans un pilote.