Introducción a Power Management Framework

Windows 7 y versiones anteriores del sistema operativo solo proporcionan compatibilidad con la administración de energía de nivel de dispositivo, lo que permite que un controlador admita estados D en un dispositivo. La especificación Advanced Configuration and Power Interface (ACPI) define los estados de alimentación del dispositivo D0 (totalmente encendido) a través de D3 (totalmente desactivado) y define los estados de alimentación del sistema S0 (totalmente activado) a través de S5 (totalmente desactivado). Estas versiones de Windows no proporcionan mecanismos para administrar de forma independiente la alimentación proporcionada a los componentes individuales de un dispositivo. En estas versiones de Windows, algunos controladores pueden implementar controles de energía personalizados para los componentes, pero estos controles suelen agregar complejidad a los controladores y pueden ser factibles solo si la configuración de energía de componentes se controla dentro del dispositivo.

A partir de Windows 8, el marco de administración de energía en tiempo de ejecución (PoFx) agrega compatibilidad con la administración de energía de nivel de componente. Un componente, o subdispositivo, es una unidad de hardware funcional en un dispositivo que se puede activar o cambiar a un estado de bajo consumo independientemente de los demás componentes del mismo dispositivo. Por ejemplo, un dispositivo de audio puede tener componentes independientes para la reproducción y grabación cuyos estados de energía se pueden administrar de forma independiente entre sí. Si se usa el componente de reproducción, pero el componente de grabación está inactivo, el componente de grabación se puede cambiar a un estado de bajo consumo sin interferir con la actividad del componente de reproducción.

Un controlador de dispositivo se registra con PoFx para administrar de forma independiente el uso de energía en los componentes individuales de un dispositivo. PoFx proporciona el control específico necesario para ampliar el tiempo que un equipo portátil Windows, tableta, teléfono u otro dispositivo móvil puede ejecutarse con una carga de batería. PoFx reduce el uso de energía de una manera que mantiene la apariencia de un dispositivo móvil que siempre está activado y siempre conectado.

Normalmente, un controlador admite cierto número de estados de potencia de componentes, F0, F1, etc., donde F0 es el estado totalmente activado. Todos los componentes admiten el estado F0. El controlador que es el propietario de la directiva de energía (PPO) para los componentes de un dispositivo es responsable de definir cualquier estado adicional de energía fx de bajo consumo que un componente pueda tener. (Normalmente, el controlador de función de un dispositivo es el PPO). Este controlador determina el número de estados fx de bajo consumo por componente y los atributos de cada estado Fx. El fx indica que este controlador define puede variar de componente a componente en el mismo dispositivo.

PoFx proporciona una interfaz de controlador de dispositivo (DDI) a través de la cual un controlador puede proporcionar información sobre el estado y las funcionalidades sobre los componentes de un dispositivo. Esta información incluye lo siguiente:

  • Nivel de actividad actual de cada componente
  • El tiempo requerido por el componente para cambiar de un estado de energía a otro
  • La cantidad de latencia que pueden tolerar los clientes del dispositivo cuando el componente se activa desde un estado de bajo consumo

Además, PoFx obtiene información en todo el sistema sobre los dominios de encendido y reloj a los que pertenece el componente. (Los dispositivos de un dominio de energía determinado comparten un raíl de alimentación común; los dispositivos de un dominio de reloj determinado comparten una señal de reloj común).

En función de esta información, PoFx toma decisiones inteligentes sobre cuándo un componente debe entrar en un estado de baja potencia y qué estado de baja potencia entrar. El proceso de decisión implica información de otros componentes y otros dispositivos, y tiene en cuenta las dependencias entre los dispositivos y los componentes de los distintos dominios de encendido y reloj.

Para empezar a usar PoFx, consulte Referencia de administración de energía de dispositivos y Administración de energía de nivel de componente.