Vue d’ensemble de Power Management Framework

Windows 7 et les versions antérieures du système d’exploitation prennent uniquement en charge la gestion de l’alimentation au niveau de l’appareil, ce qui permet à un pilote de prendre en charge les états D dans un appareil. La spécification ACPI (Advanced Configuration and Power Interface) définit les états d’alimentation de l’appareil D0 (entièrement activé) à D3 (complètement désactivé), et définit les états d’alimentation du système S0 (entièrement activé) à S5 (complètement désactivé). Ces versions de Windows ne fournissent pas de mécanismes permettant de gérer indépendamment l’alimentation fournie aux composants individuels d’un appareil. Dans ces versions de Windows, certains pilotes peuvent implémenter des contrôles d’alimentation personnalisés pour les composants, mais ces contrôles compliquent généralement les pilotes et peuvent être réalisables uniquement si les paramètres d’alimentation des composants sont contrôlés au sein de l’appareil.

À compter de Windows 8, l’infrastructure de gestion de l’alimentation au moment de l’exécution (PoFx) ajoute la prise en charge de la gestion de l’alimentation au niveau des composants. Un composant, ou sous-appareil, est une unité matérielle fonctionnelle d’un appareil qui peut être activée ou basculer vers un état d’alimentation faible indépendamment des autres composants du même appareil. Par exemple, un périphérique audio peut avoir des composants distincts pour la lecture et l’enregistrement dont les états d’alimentation peuvent être gérés indépendamment les uns des autres. Si le composant de lecture est utilisé, mais que le composant d’enregistrement est inactif, le composant d’enregistrement peut être passé à un état de faible consommation sans interférer avec l’activité du composant de lecture.

Un pilote de périphérique s’inscrit auprès de PoFx pour gérer indépendamment la consommation d’énergie dans les composants individuels d’un appareil. PoFx fournit le contrôle affiné nécessaire pour prolonger la durée pendant laquelle un ordinateur portable, une tablette, un téléphone ou un autre appareil mobile Windows peut fonctionner sur une charge de batterie. PoFx réduit la consommation d’énergie d’une manière qui maintient l’apparence d’un appareil mobile toujours allumé et toujours connecté.

Un pilote prend généralement en charge un certain nombre d’états d’alimentation des composants( F0, F1, etc.), où F0 est l’état complet. Tous les composants prennent en charge l’état F0. Le pilote qui est le propriétaire de la stratégie d’alimentation (PPO) pour les composants d’un appareil est chargé de définir les états d’alimentation Fx supplémentaires de faible consommation qu’un composant peut avoir. (En règle générale, le pilote de fonction d’un appareil est le PPO.) Ce pilote détermine le nombre d’états Fx de faible puissance par composant et les attributs de chaque état Fx. Le fx indique que ce pilote définit peut varier d’un composant à l’autre dans le même appareil.

PoFx fournit une interface de pilote de périphérique (DDI) grâce à laquelle un pilote peut fournir des informations status et de fonctionnalités sur les composants d’un appareil. Ces informations incluent :

  • Niveau d’activité actuel de chaque composant
  • Temps nécessaire au composant pour passer d’un état d’alimentation à un autre
  • Latence qui peut être tolérée par les clients de l’appareil lorsque le composant se réveille d’un état de faible consommation

En outre, PoFx obtient des informations à l’échelle du système sur les domaines d’alimentation et d’horloge auxquels le composant appartient. (Les appareils d’un domaine d’alimentation particulier partagent une rampe d’alimentation commune ; les appareils d’un domaine d’horloge particulier partagent un signal d’horloge commun.)

Sur la base de ces informations, PoFx prend des décisions intelligentes sur le moment où un composant doit entrer dans un état de faible puissance et sur l’état de faible puissance à entrer. Le processus de décision implique des informations provenant d’autres composants et d’autres appareils, et prend en compte les dépendances entre les appareils et les composants dans les différents domaines d’alimentation et d’horloge.

Pour commencer à utiliser PoFx, consultez Informations de référence sur la gestion de l’alimentation des appareils et Gestion de l’alimentation au niveau des composants.