Partilhar via


Preparar o hardware para o modo de espera moderno

Na entrada para o modo de espera moderno, os componentes de hardware devem estar preparados para fazer a transição para a operação de baixa potência. Depois que os componentes de software e os aplicativos tiverem sido preparados para operação de baixo consumo de energia, os componentes de hardware, incluindo seus drivers de dispositivo de software, devem ser preparados da mesma forma para operação de baixo consumo.

O restante deste artigo explica como preparar os dispositivos fora e dentro do System on a Chip (SoC) para operar em um modo de baixo consumo de energia depois que a plataforma de hardware entra em modo de espera.

Transição de hardware para o modo de baixo consumo de energia

Todos os dispositivos fora do SoC e dentro do SoC devem entrar em modo de baixo consumo de energia, a fim de alcançar uma longa duração da bateria durante o período de suspensão. Depois que uma plataforma de hardware entra em suspensão, os dispositivos na plataforma mudam para modos de baixo consumo de energia em um processo ordenado que começa com os dispositivos fora do SoC.

Primeiro, todos os dispositivos fora do SoC ou do núcleo de silício devem entrar em um modo de baixo consumo de energia. O modo de energia pode ser um estado de ociosidade com clock fechado — por exemplo, colocar um controlador de toque ligado por I²C em modo de suspensão. Ou, o modo de energia pode ser um estado chamado de D3cold, com alimentação desligada de 0 watts. Uma câmera web conectada por USB geralmente faz a transição para D3cold durante o modo de espera moderno. Para obter mais informações, consulte Suporte D3cold para dispositivos USB.

Cada classe de dispositivo e barramento de conexão tem sua própria terminologia e requisitos para a transição de um dispositivo para o modo de menor energia. No entanto, é fundamental que um designer de sistema planeje um modo de operação de baixo consumo de energia para cada dispositivo na plataforma durante o modo de espera moderno. A duração da bateria do sistema e a capacidade de colocar o próprio SoC em um modo de baixo consumo de energia dependem do gerenciamento correto de energia de cada dispositivo fora do próprio SoC.

Em seguida, os dispositivos de rede e rádio são colocados num modo de baixo consumo de energia em modo de suspensão. Durante o sono, esses dispositivos muitas vezes ainda têm energia aplicada para manter a conectividade e são necessários para despertar o SoC, se necessário. Os dispositivos de comunicação e rádio normalmente entram no estado de baixa potência D2/D3, não obstante a entrada em cada estado seja específica tanto à classe do dispositivo quanto ao barramento.

Depois que todos os dispositivos fora do SoC, incluindo dispositivos de comunicação, tiverem sido desligados, os controladores host no SoC serão desligados. Quase todos os SoC têm controladores host USB, I²C, GPIO, SDIO e UART. Cada um desses componentes no SoC deve ser desligado para que o SoC entre em um modo de baixo consumo de energia.

O processo de preparação do hardware para baixo consumo de energia durante o modo de suspensão pode ser visualizado como uma pirâmide invertida, como mostrado no diagrama a seguir. A menor potência é alcançada quando todo o chip SoC é desligado, mas isso só pode ocorrer depois que cada conjunto de dispositivos acima dele na pirâmide foi desligado.

Pirâmide de potência

Desligando os dispositivos fora do SoC

Cada dispositivo fora do chip SoC deve entrar em um modo de baixo consumo de energia para dois objetivos principais:

  • Reduza o consumo de energia do dispositivo.
  • Permita que o próprio SoC se desligue, permitindo que o controlador host dentro do SoC, ao qual o dispositivo está conectado, se desligue.

O método para desligar cada dispositivo fora do SoC varia de acordo com a classe do dispositivo e o barramento conectado.

Alguns dispositivos fora do SoC são colocados em um estado de 0 watt, sem consumo de energia chamado D3cold. Os dispositivos comuns para D3cold incluem câmeras e sensores. O driver deve salvar o estado de registro do dispositivo e, em seguida, fazer a transição do dispositivo para o estado de energia D3. A energia será removida pelo firmware ACPI alternando uma linha GPIO ou desligando um trilho de alimentação do IC de gerenciamento de energia (PMIC).

Alguns dispositivos fora do SoC são colocados em um modo ocioso de baixo consumo de energia, no qual o estado de registro é mantido, ou o dispositivo pode simplesmente ser acionado por relógio. Por exemplo, muitos controladores táteis apresentam um estado controlado por relógio que consome menos de 1 miliwatt de potência. As vantagens típicas de usar um estado com bloqueio de relógio são o tempo de ativação mais rápido e o custo mais baixo por não precisar conectar o dispositivo a um trilho de alimentação comutável.

Geralmente, todos os dispositivos fora do SoC devem ser capazes de entrar em um modo de baixa potência que consuma menos de 1 miliwatt de energia. Os dispositivos que não conseguem atingir este nível de potência com um estado interno fechado por relógio devem implementar o power-gating através do D3cold.

Os dispositivos de rede e rádio são a exceção notável à diretriz de 1 miliwatt. Os dispositivos de rede e rádio podem necessitar de mais energia para manter uma ligação à rede ou para ouvir dispositivos sem fios. Alguns designers de sistema referem-se a essas transições de estado de energia como tempo de execução D3 (RTD3).

Gerenciamento de energia direcionado para dispositivos PCIe

As placas PCIe fora do SoC devem habilitar um mecanismo de gerenciamento de energia direcionado chamado Device-S4 para garantir que possam entrar em um modo de baixa energia. Sem o Device-S4, se um usuário conectar um dispositivo a uma porta raiz PCIe com slots acessíveis ao usuário em um sistema Modern Standby de desktop e o driver do dispositivo não suportar tempo de execução D3 (RTD3), o dispositivo PCIe pode impedir que o sistema entre em DRIPS. Para evitar esse problema, os OEMs devem configurar as portas raiz do dispositivo PCIe para o modo "Device-S4". Para que Device-S4 seja ativado para um determinado dispositivo PCIe, devem ser cumpridos os seguintes requisitos:

  1. A porta raiz PCIe do dispositivo deve ser especificada como uma restrição para DRIPS.
  2. A Porta Raiz PCIe pai deve aplicar a redefinição fundamental do dispositivo para todos os dispositivos a jusante da Porta Raiz na transição D0-D3> da Porta Raiz e desativar a redefinição fundamental do dispositivo para esses dispositivos na transição D3-D0>. Para obter mais informações sobre redefinições fundamentais PCIe, consulte a Seção 6.6.1 da Especificação PCI Express Base. A implementação do reset fundamental pode ser realizada por mecanismos ACPI suplementares. Para obter mais informações, consulte este guia sobre gerenciamento de energia PCI. Para indicar que a plataforma honra este requisito fundamental de redefinição, o firmware deve definir _DSD com suporte para GUID {FDF06FAD-F744-4451-BB64-ECD792215B10}. Sem isso, os DRIPS direcionados não serão acionados para dispositivos sob esse PCIe Root Port. Para obter mais informações, consulte o ACPI Device Specific Data (_DSD) para portas raiz PCIe.
  3. Os recursos de energia devem ser exclusivos de uma determinada porta raiz PCIe, ou seja, não devem ser compartilhados com nenhuma outra porta raiz.

Tenha em atenção que as placas PCIe que requerem módulos de suporte de compatibilidade (CSM) não funcionarão em sistemas modernos em modo de espera. O CSM não é suportado no BIOS em sistemas Modern Standby devido ao requisito de Inicialização Segura UEFI. Para obter mais informações, consulte a Especificação do Programa de Compatibilidade de Hardware do Windows.

Para obter mais informações sobre o gerenciamento de energia para classes de dispositivo específicas, os designers de sistema são incentivados a revisar o gerenciamento de energia específico do dispositivo para o modo de espera moderno, bem como a documentação específica do dispositivo no Microsoft Collaborate.

Desligando dispositivos de rede

Desligar os dispositivos de rede e rádio é outra parte fundamental da preparação do hardware para operações de baixo consumo de energia durante o sono. Dispositivos de rede e rádio são diferentes de outros dispositivos fora do SoC porque eles devem permanecer ligados com a energia aplicada para ouvir eventos interessantes e acordar o SoC. Por exemplo, o rádio Wi-Fi deve ser capaz de ouvir pacotes que correspondam aos padrões WoL e acordar o SoC quando um pacote correspondente for detetado.

O Windows faz a transição de dispositivos de rede para o estado D2/D3 durante o modo de suspensão, se se espera que eles despertem o SoC. A pilha de rede do Windows configurará padrões WoL e descarregamentos de protocolo antes de colocar o dispositivo no estado D2/D3 de baixo consumo de energia. Todos os dispositivos de rede, incluindo Wi-Fi, banda larga móvel (MBB) e Ethernet com fio, devem ser capazes de entrar no estado D2/D3 durante o modo de suspensão. Se não for necessário um dispositivo de rede para despertar o sistema, o Windows fará a transição do dispositivo para o estado D3. O dispositivo de rede pode ser colocado no estado D3 se o usuário tiver ativado o modo avião ou desativado o dispositivo de rede específico.

Cada dispositivo tem um método físico diferente para despertar o SoC do seu modo de menor energia. Espera-se que os dispositivos de rede em SDIO ou UART sinalizem uma linha GPIO para despertar o SoC. Espera-se que os dispositivos de rede conectados via USB ou HSIC usem sinalização de retomada USB em banda para despertar o SoC. Espera-se que os dispositivos de rede em barramentos PCI ou PCIe usem sinalização PME em banda para despertar o SoC.

Além disso, espera-se que um dispositivo de rádio, como um dispositivo Bluetooth ou NFC, faça a transição para o estado D2 se o utilizador tiver ligado o rádio para este dispositivo. No estado D2, um rádio Bluetooth recebe eventos de entrada de ratos e teclados emparelhados. Se um evento de entrada for detetado, o rádio Bluetooth alterna uma linha GPIO conectada ao SoC, o que faz com que o SoC acorde do modo de baixo consumo de energia.

Cada dispositivo de rede ou rádio tem sua própria implementação de desligamento para standby moderno. Os designers de sistema são incentivados a ler os documentos específicos da classe do dispositivo no site do Microsoft Collaborate.

Desligando controladores host no-SoC

Depois de todos os dispositivos fora do SoC, incluindo os de rede e rádio, terem sido desligados, os controladores anfitriões aos quais estão ligados devem ser desligados. Os controladores de host comuns incluem USB, PCI, SDIO, GPIO e I²C.

O driver para cada controlador host pode desligar o hardware somente depois que cada dispositivo conectado ao controlador host estiver desligado. Um exemplo comum é o controlador host USB. O controlador host USB pode desligar somente depois que todos os dispositivos USB conectados a ele entraram em um estado de suspensão seletiva. Se um controlador anfitrião USB tiver um rato e teclado USB ligados, o controlador anfitrião só poderá desligar depois de o rato e o teclado terem desligado. Se o mouse ou o teclado permanecerem ligados, o controlador host USB também permanecerá ligado.

Para que o próprio SoC desligue, todos os controladores host no SoC devem desligar para entrar em modo de repouso. É por isso que é fundamental que todos os dispositivos realizem o gerenciamento de energia do dispositivo. O SoC em si só pode desligar quando cada controlador host tiver desligado. Os controladores host podem desligar somente depois que todos os dispositivos conectados a eles tiverem desligado.

Desligando CPUs e GPUs

Em termos de gerenciamento de energia, CPUs e GPUs no chip SoC são diferentes de outros dispositivos. CPUs e GPUs são desativados como parte do desligamento do SoC em si e podem ser desativados sempre que não houver atividade de software direcionada a eles.

A maior parte da atividade de software no sistema será interrompida através das etapas de preparação detalhadas em Preparar software para o modo de espera moderno. Os aplicativos da Microsoft Store serão pausados como parte da fase PLM. Os aplicativos de desktop serão pausados como parte da conclusão da fase DAM. As únicas atividades da CPU que permanecem depois que a plataforma entra na fase de resiliência são operações ociosas do próprio Windows. Da mesma forma, há pouca atividade da GPU porque todos os aplicativos foram pausados e a tela está desligada.

O Windows gerencia continuamente o estado de energia das CPUs no sistema, mesmo quando a tela está ligada e o usuário está trabalhando com o PC. O mesmo gerenciamento de estado de energia da CPU coloca as CPUs em um modo de baixo consumo durante a suspensão. Quando todas as CPUs estão em um modo de baixo consumo de energia e todos os controladores host no SoC foram desligados, o próprio SoC pode ser desligado.

Desligando o SoC

Quando todos os controladores de host individuais, CPUs e GPUs no SoC tiverem sido desligados, o Windows determinará se é seguro desligar todo o SoC em si. O fornecedor do SoC fornece um plug-in de motor de energia (PEP) para informar ao Windows quando todo o estado do SoC foi salvo, para que o SoC esteja pronto para entrar em um modo de poupança de energia. Para SoCs baseados em Intel, o PEP é fornecido de fábrica.

Cada fornecedor de SoC tem uma implementação diferente de um estado de baixo consumo de energia em todo o SoC. Esses estados são tipicamente estados clock-gated ou power-gated, nos quais o conteúdo da memória é preservado em auto-refresh, e o sistema pode ser despertado por um temporizador programável e um pequeno número de pinos GPIO que consomem muito pouca energia. O Windows refere-se ao estado mais baixo de energia do SoC como estado de plataforma ociosa de tempo de execução mais profundo (DRIPS).

O estado DRIPS sempre tem as seguintes características:

  • DRIPS é o estado de consumo de energia mais baixo para o SoC no qual a memória é preservada em modo de auto-refresh.
  • O DRIPS permite que o SoC ative eventos de dispositivos de rede, rádio e entrada.
  • Nenhum código de CPU pode ser executado durante o estado DRIPS.
  • Quando o SoC está no estado DRIPS, a plataforma consome a menor quantidade de energia possível durante o modo de espera (com exceção das variações no consumo de energia causadas por dispositivos de rede e rádio).