États d’alimentation de l’appareil

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

Les états d’alimentation de l’appareil sont caractérisés par les attributs suivants :

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

  • Contexte de l’appareil : quelle proportion de son contexte opérationnel l’appareil conserve-t-il dans cet état ?

  • Comportement des pilotes 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 durées 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 très volumineux qui prennent beaucoup plus de temps à restaurer.

  • Fonctionnalité de mise en éveil : la demande d’appareil peut-elle se réveiller à partir de cet état ? En règle générale, si un appareil peut demander une mise en éveil à partir d’un état d’alimentation donné (par exemple, D2), il peut également demander une mise en éveil à partir de n’importe quel état d’alimentation supérieure (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. Consultez la spécification de référence de la 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 sur le site web ACPI/Power Management .)

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 à 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 à l’état D2 (interruption sélective) lorsque son contrôleur hôte parent est à l’état D3. Ces deux états semblent être 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é.

Notez que certains appareils sont capables de plusieurs modes de faible consommation différents dans un seul état d’alimentation d’appareil. Un tel appareil peut utiliser ces modes si son pilote peut automatiquement basculer l’appareil d’un mode à un autre sans modifier l’état d’alimentation de l’appareil. En règle générale, toutefois, s’il n’existe aucune différence perceptible par l’utilisateur entre les modes, l’appareil doit utiliser uniquement le mode d’alimentation le plus faible. Si un mode de faible consommation, tel qu’un mode basse vitesse, nuit aux 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 la 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 IRP qui demandent de telles transitions. Pour plus d'informations, voir les rubriques suivantes :

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 des appareils

Comme le système, un appareil peut passer de l’état de fonctionnement (D0) à n’importe quel état de faible consommation (D1, D2 ou D3) et de n’importe quel état de faible consommation à 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 subdivision de D3 en D3hot et D3cold. D3hot et D3cold sont définis à partir de Windows 8. Tous les appareils doivent 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 consommation d’appareil. Toutes les autres transitions entre les états de faible consommation 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, soit pour passer à l’état de faible consommation suivant, soit pour rester dans D0. Toutefois, un appareil quitte D3hot et entre 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 en D3hot ; aucune configuration supplémentaire n’est requise 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 l’état D du port racine PCI vers le point de terminaison

Sur les systèmes Windows 10, l’état d’alimentation global de la plateforme dépend des états d’alimentation (états D) des appareils intégrés SoC (System on Chip), y compris les ports racine PCI. En fonction de la plateforme en cours de développement, les exigences d’état D pour les ports racine 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 d’état d’alimentation de la plateforme et de l’appareil.

Le tableau ci-dessous énumère le mappage de l’état d’alimentation des ports racine 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 cible du port racine État D du point de terminaison

D0

D0, D0:F1

D0:F1

D3hot

D3hot

D3cold*

*L’état d’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 peut atteindre que D3Hot. Pour plus d’informations, consultez Prise en charge de D3Cold dans un pilote.