Transición entre estados inactivos y activos
Durante la suspensión, Windows realiza periódicamente la transición de la plataforma SoC del modo inactivo al modo activo para realizar actividades de adición de valor, como recibir una notificación por correo electrónico o realizar una tarea de mantenimiento. Además, las transiciones a petición al modo activo pueden producirse en respuesta a las entradas del usuario, las interrupciones de los dispositivos de red y otros eventos de hardware.
Una vez que el SoC haya entrado en el estado DRIPS, la plataforma normalmente estará en su modo de potencia más bajo. Durante la suspensión, la plataforma cambiará entre este modo inactivo (DRIPS) y el modo activo periódicamente. La baja potencia se logra en suspensión al pasar la mayor parte del tiempo en el modo DRIPS y muy pequeñas cantidades de tiempo en el modo activo.
Transición de inactivo a activo
Windows pasará el SoC al modo activo por los siguientes motivos:
- Un evento de reactivación a petición debido a una interrupción de un dispositivo de red (Wi-Fi, banda ancha móvil o Ethernet). El dispositivo de red genera una interrupción cuando se detecta un patrón WoL coincidente o cuando cambia el estado de conexión o multimedia. La interrupción activa el SoC mediante un GPIO fuera de banda, señalización de reanudación USB en banda o interrupción PME pci.
- Un evento de reactivación a petición debido a una interrupción del dispositivo de plataforma de una fuente, como el medidor de combustible de la batería, el controlador de carga de la batería o los sensores térmicos.
- Un evento de reactivación a petición debido a una interrupción causada por la entrada del usuario en un teclado, panel táctil, periférico USB externo, botón de encendido o conmutador de tapa.
En cuanto el SoC se reactiva y la plataforma sale del estado DRIPS, las CPU comienzan a ejecutar código de nuevo. Sin embargo, la pantalla permanece apagada a menos que la interrupción fuera resultado de la entrada del usuario o de la conexión a una fuente de alimentación. El controlador del dispositivo que provoca la interrupción es responsable de notificar la presencia del usuario al sistema operativo si la interrupción corresponde a la entrada del usuario. El administrador de energía de Windows determina si la pantalla debe encenderse; el diseñador del sistema solo necesita asegurarse de que la interrupción de cada dispositivo está conectada y programada para reactivar el SoC desde el estado DRIPS.
Los diseñadores del sistema deben trabajar estrechamente con el proveedor de SoC para conectar las interrupciones del dispositivo para la reactivación de SoC. Algunos dispositivos SoC requieren que las interrupciones del dispositivo estén conectadas a entradas especiales "compatibles con reactivación" o configuradas para reactivación mediante firmware del sistema.
Transición de activo a inactivo
Windows realiza la transición de la plataforma SoC del modo activo al modo inactivo después de que se detenga toda la actividad de software y los dispositivos encendidos y apagados del chip soC hayan entrado en estados de bajo consumo.
El SoC realiza transiciones entre los modos inactivos y activos durante la suspensión en función de los desencadenadores explicados en la sección anterior. Cada vez que el SoC está activo, Windows intentará de forma agresiva devolverlo al estado inactivo (DRIPS) para reducir el consumo de energía.
El SoC también estará activo cuando el sistema salga del modo de espera moderno en respuesta a la entrada del usuario, como una pulsación de botón de encendido. El SoC se devolverá automáticamente en el estado inactivo (DRIPS) cuando se cumplan todas las condiciones siguientes:
- Todos los dispositivos fuera del SoC se han apagado.
- Todos los dispositivos de red y radio han entrado en su estado de baja potencia para esperar a que los paquetes coincidan con patrones WoL o interrupciones de reactivación.
- Todos los controladores de host del SoC se han apagado.
- Todas las tareas en segundo plano de la aplicación se han completado.
- Toda la actividad de CPU y GPU se ha detenido y todas las CPU están inactivas.
Casi todos los problemas modernos de energía en espera están relacionados con asegurarse de que se han cumplido todas estas cinco condiciones. Windows incluye una herramienta de diagnóstico integrada denominada SleepStudy para ayudar a detectar cuál de estas condiciones no se cumple cuando se impide que el SoC entre en estado inactivo (DRIPS).