Visão geral da Estrutura de Gerenciamento de Energia
O Windows 7 e versões anteriores do sistema operacional fornecem suporte apenas para gerenciamento de energia no nível do dispositivo, o que permite que um driver dê suporte a estados D em um dispositivo. A especificação ACPI (Advanced Configuration and Power Interface) define os estados de energia do dispositivo D0 (totalmente ativado) até D3 (totalmente desativado) e define os estados de energia do sistema S0 (totalmente ativado) até S5 (totalmente desativado). Essas versões do Windows não fornecem mecanismos para gerenciar independentemente a energia fornecida aos componentes individuais em um dispositivo. Nessas versões do Windows, alguns drivers podem implementar controles de energia personalizados para componentes, mas esses controles normalmente adicionam complexidade aos drivers e podem ser viáveis somente se as configurações de energia do componente forem controladas dentro do dispositivo.
A partir do Windows 8, a PoFx (estrutura de gerenciamento de energia) em tempo de execução adiciona suporte para o gerenciamento de energia no nível do componente. Um componente, ou subdispositivo, é uma unidade de hardware funcional em um dispositivo que pode ser ativado ou alternado para um estado de baixa potência independentemente dos outros componentes no mesmo dispositivo. Por exemplo, um dispositivo de áudio pode ter componentes separados para reprodução e gravação cujos estados de energia podem ser gerenciados independentemente uns dos outros. Se o componente de reprodução estiver sendo usado, mas o componente de gravação estiver ocioso, o componente de gravação poderá ser alternado para um estado de baixa potência sem interferir na atividade do componente de reprodução.
Um driver de dispositivo se registra no PoFx para gerenciar independentemente o uso de energia nos componentes individuais em um dispositivo. A PoFx fornece o controle refinado necessário para estender o tempo que um computador portátil, tablet, telefone ou outro dispositivo móvel do Windows pode executar com uma carga de bateria. O PoFx reduz o uso de energia de uma maneira que mantém a aparência de um dispositivo móvel que está sempre ligado e sempre conectado.
Um driver normalmente dá suporte a alguns estados de energia de componente, F0, F1 e assim por diante, em que F0 é o estado totalmente ativado. Todos os componentes dão suporte ao estado F0. O driver que é o PPO (proprietário da política de energia) para os componentes em um dispositivo é responsável por definir quaisquer estados adicionais de energia fx de baixa potência que um componente possa ter. (Normalmente, o driver de função de um dispositivo é o PPO.) Esse driver determina o número de estados fx de baixa potência por componente e os atributos de cada estado fx. O Fx afirma que esse driver define pode variar de componente para componente no mesmo dispositivo.
O PoFx fornece uma DDI (interface de driver de dispositivo) por meio da qual um driver pode fornecer informações de status e funcionalidades sobre os componentes em um dispositivo. Essas informações incluem:
- O nível de atividade atual de cada componente
- O tempo exigido pelo componente para alterar de um estado de energia para outro
- A quantidade de latência que pode ser tolerada pelos clientes do dispositivo quando o componente é ativado de um estado de baixa energia
Além disso, a PoFx obtém informações em todo o sistema sobre os domínios de energia e relógio aos quais o componente pertence. (Os dispositivos em um domínio de energia específico compartilham um power rail comum; os dispositivos em um domínio de relógio específico compartilham um sinal de relógio comum.)
Com base nessas informações, a PoFx toma decisões inteligentes sobre quando um componente deve entrar em um estado de baixa potência e qual estado de baixa energia deve ser inserido. O processo de decisão envolve informações de outros componentes e outros dispositivos e leva em conta as dependências entre os dispositivos e componentes nos vários domínios de energia e relógio.
Para começar a usar o PoFx, consulte Referência de gerenciamento de energia do dispositivo e Gerenciamento de Energia em Nível de Componente.