Partilhar via


Transição entre estados ociosos e ativos

Durante o modo de suspensão, o Windows faz a transição periódica da plataforma SoC do modo ocioso para o modo ativo para executar atividades de valor agregado, como receber uma notificação por e-mail ou executar uma tarefa de manutenção. Além disso, transições sob demanda para o modo ativo podem ocorrer em resposta a entradas do usuário, interrupções de dispositivos de rede e outros eventos de hardware.

Depois que o SoC entrar no estado DRIPS, a plataforma normalmente estará em seu modo de menor energia. Durante o sono, a plataforma alternará periodicamente entre o modo ocioso (DRIPS) e o modo ativo. A baixa potência é alcançada durante o estado de suspensão, passando a maior parte do tempo no modo DRIPS e um período de tempo muito curto no modo ativo.

Transição de ocioso para ativo

O Windows fará a transição do SoC para o modo ativo pelos seguintes motivos:

  • Um evento de ativação sob demanda devido a uma interrupção de um dispositivo de rede (Wi-Fi, banda larga móvel ou Ethernet). O dispositivo de rede gera uma interrupção quando um padrão WoL correspondente é detetado ou quando a mídia ou o estado da conexão muda. A interrupção desperta o SoC usando uma GPIO fora de banda, sinalização de retomada USB em banda ou interrupção PCI PME.
  • Um evento de despertar sob demanda devido à interrupção de um dispositivo de plataforma de uma fonte, como o medidor de combustível da bateria, o controlador de carga da bateria ou sensores térmicos.
  • Um evento de despertar sob demanda devido a uma interrupção causada pela entrada do usuário em um teclado, touchpad, periférico USB externo, botão liga/desliga ou interruptor de tampa.

Assim que o SoC é ativado e a plataforma sai do estado DRIPS, as CPUs começam a executar o código novamente. No entanto, a tela permanece desligada, a menos que a interrupção tenha sido resultado da entrada do usuário ou da conexão com uma fonte de alimentação. O driver do dispositivo que causa a interrupção é responsável por relatar a presença do usuário ao sistema operacional se a interrupção corresponder à entrada do usuário. O gerenciador de energia do Windows determina se a tela deve ser ligada; o designer do sistema precisa apenas garantir que a interrupção de cada dispositivo esteja conectada e programada para despertar o SoC do estado DRIPS.

Os projetistas de sistemas devem trabalhar em estreita colaboração com o fornecedor de SoC para conectar interrupções de dispositivo para ativação de SoC. Alguns dispositivos SoC exigem que as interrupções do dispositivo sejam conectadas a entradas especiais "capazes de despertar" ou configuradas para despertar usando o firmware do sistema.

Transição de ativo para ocioso

O Windows faz a transição da plataforma SoC do modo ativo para o modo ocioso depois que toda a atividade de software é interrompida e os dispositivos ligados e desligados do chip SoC entraram em estados de baixo consumo de energia.

O SoC transita entre os modos ocioso e ativo durante o sono com base nos gatilhos explicados na seção anterior. Sempre que o SoC estiver ativo, o Windows tentará agressivamente devolvê-lo ao estado ocioso (DRIPS) para reduzir o consumo de energia.

O SoC também estará ativo quando o sistema sair do modo de espera moderno em resposta à entrada do usuário, como pressionar um botão liga/desliga. O SoC será colocado de volta no estado ocioso (DRIPS) automaticamente quando todas as seguintes condições forem verdadeiras:

  • Todos os dispositivos fora do SoC foram desligados.
  • Todos os dispositivos de rede e rádio entraram em seu estado de baixa energia para aguardar pacotes correspondentes aos padrões WoL ou interrupções de despertar.
  • Todos os controladores host no SoC foram desligados.
  • Todas as tarefas em segundo plano do aplicativo foram concluídas.
  • Toda a atividade da CPU e GPU foi interrompida e todas as CPUs estão ociosas.

Quase todos os problemas modernos de energia em standby estão relacionados com a garantia de que todas estas cinco condições foram cumpridas. O Windows inclui uma ferramenta de diagnóstico interna chamada SleepStudy para ajudar a descobrir quais dessas condições não estão sendo atendidas quando o SoC é impedido de entrar no estado ocioso (DRIPS).