Estados de baja potencia del dispositivo

Los estados de energía del dispositivo D1, D2 y D3 son los estados de baja potencia del dispositivo. A partir de Windows 8, D3 se divide en dos subestados, D3hot y D3cold.

D1 y D2 son estados intermedios de baja potencia. Muchas clases de dispositivos no definen estos estados. Todos los dispositivos deben definir D3hot.

En las secciones siguientes se describen D1, D2 y D3:

Estado de energía del dispositivo D1

El estado de energía del dispositivo D1 es el estado de baja potencia del dispositivo de mayor potencia. Tiene las características siguientes:

Consumo de energía
El consumo es menor que en el estado D0, pero mayor o igual que en el estado D2. Con frecuencia, D1 es un estado de reloj en el que el dispositivo recibe suficiente energía para conservar el contexto de hardware del dispositivo. Normalmente, la especificación de una clase de bus o dispositivo que admite D1 describe este estado con más detalle.

Contexto del dispositivo
En general, el controlador conserva el contexto del dispositivo y no es necesario restaurarlo. La especificación de una clase de bus o dispositivo que admite D1 normalmente proporciona requisitos detallados para conservar este contexto.

Comportamiento del controlador de dispositivo
Los controladores deben guardar y restaurar o reinicializar cualquier contexto perdido por el hardware. Normalmente, sin embargo, los dispositivos pierden poco contexto al entrar en este estado.

Tiempo de restauración
En general, el tiempo necesario para restaurar el dispositivo a D0 desde D1 debe ser menor que la restauración de D2 a D0.

Funcionalidad de reactivación
Es posible que un dispositivo de D1 pueda solicitar reactivación. Para proporcionar información sobre si este estado puede admitir una señal de reactivación, un controlador de bus usa la estructura de DEVICE_CAPABILITIES o, a partir de Windows 8, la interfaz del controlador GUID_D3COLD_SUPPORT_INTERFACE.

Normalmente, los dispositivos que usan D1 lo hacen porque la reanudación desde este estado no requiere que el controlador restaure el contexto de hardware completo del dispositivo. Para minimizar la percepción del retraso del usuario, restaurar un dispositivo a D0 desde D1 debe incurrir en el menor retraso posible. Minimizar el retraso en la transición de estado es más importante que reducir el consumo de energía.

Estado de energía del dispositivo D2

D2 es un estado intermedio de baja potencia del dispositivo con las siguientes características:

Consumo de energía
El consumo es menor o igual que en el estado D1.

Contexto del dispositivo
En general, la mayoría del contexto del dispositivo se pierde por el hardware. Con frecuencia, este estado conserva la parte del contexto que se usa para indicar eventos de reactivación. La especificación de una clase de bus o dispositivo que admite D2 normalmente proporciona requisitos detallados para conservar este contexto.

Comportamiento del controlador de dispositivo
Los controladores de dispositivo deben guardar y restaurar o reinicializar cualquier contexto perdido por el hardware. Un dispositivo típico pierde la mayoría del contexto cuando entra en D2.

Tiempo de restauración
La restauración del dispositivo de D2 a D0 tarda al menos siempre que restaure el dispositivo de D1 a D0. Un adaptador de gráficos que tiene un búfer de fotogramas grande es un ejemplo de un dispositivo que tiene una gran cantidad de contexto de hardware para restaurar después de una transición de D2 a D0. Para este tipo de dispositivo, el tiempo de restauración de D2 podría ser mucho mayor que el tiempo de restauración de D1.

Funcionalidad de reactivación
Es posible que un dispositivo de D2 pueda solicitar reactivación. Para proporcionar información sobre si este estado puede admitir una señal de reactivación, un controlador de bus usa la estructura de DEVICE_CAPABILITIES o, a partir de Windows 8, la interfaz del controlador GUID_D3COLD_SUPPORT_INTERFACE.

Normalmente, los controladores que admiten D2 lo hacen porque sus dispositivos no pueden admitir la reactivación de D3. Para estos dispositivos, el consumo de energía en el estado D2 cae al nivel más bajo desde el que el dispositivo puede recuperarse en respuesta a una señal de reactivación. A diferencia del estado D1, que se implementa para reducir el retraso percibido por el usuario, el objetivo de implementar el estado D2 es conservar la potencia. Como resultado, el tiempo de restauración de D2 a D0 suele superar el de D1 a D0. Por ejemplo, en el estado D2, la reducción de la alimentación en el bus puede provocar que un dispositivo desactive algunas de sus funciones, lo que requiere tiempo adicional para reiniciar y restaurar el dispositivo.

Muchas clases de dispositivo no definen este estado.

Estado de energía del dispositivo D3

D3 es el estado de bajo consumo de energía del dispositivo. Todos los dispositivos deben admitir este estado.

A partir de Windows 8, el sistema operativo subdivide D3 en dos subestados independientes y distintos, D3hot y D3cold. Las versiones anteriores de Windows definen el estado D3, pero no los subestados D3hot y D3cold. Sin embargo, todas las versiones de la especificación de interfaz de administración de energía de PCI Bus definen subestados D3hot y D3cold independientes, y las versiones 4 y posteriores de la especificación de configuración avanzada e interfaz de energía definen los subestados D3hot y D3cold.

Aunque las versiones de Windows anteriores a Windows 8 no definen explícitamente los subestados D3hot y D3cold de D3, estos subestados existen implícitamente en estas versiones anteriores de Windows. Un dispositivo se encuentra implícitamente en el subestado D3hot si el dispositivo está explícitamente en el estado D3 y el equipo está en estado de alimentación del sistema S0. En D3hot, un dispositivo está conectado a una fuente de alimentación (aunque el dispositivo puede configurarse para dibujar corriente baja) y se puede detectar la presencia del dispositivo en el bus. Un dispositivo se encuentra implícitamente en el subestado D3cold si está explícitamente en el estado D3 y el equipo está en un estado Sx de bajo consumo (un estado distinto de S0). En este subestado D3cold implícito, el dispositivo puede recibir una corriente complicada, pero el dispositivo y el equipo están desactivados de forma eficaz hasta que se produzca un evento de reactivación.

A partir de Windows 8, un dispositivo puede entrar y dejar el subestado D3cold mientras el equipo permanece en estado S0. Para admitir este nuevo comportamiento, D3hot y D3cold deben definirse explícitamente como subestados distintos de D3.

D3hot es el único subestado de D3 que el dispositivo puede entrar directamente desde D0. Un dispositivo realiza una transición de D0 a D3hot bajo el control de software por parte del controlador del dispositivo. En D3hot, el dispositivo se puede detectar en el bus al que se conecta. El bus debe permanecer en estado D0 mientras el dispositivo está en el subestado D3hot. Desde D3hot, el dispositivo puede volver a D0 o entrar en D3cold. D3cold solo se puede introducir desde D3hot.

D3cold es un subestado de D3 en el que el dispositivo está conectado físicamente al bus, pero no se puede detectar la presencia del dispositivo en el bus (es decir, hasta que el dispositivo se vuelva a activar). En D3cold, se cumple uno o ambos de los siguientes elementos:

  • El bus al que se conecta el dispositivo está en estado de bajo consumo.
  • El dispositivo está en un estado de baja potencia en el que el dispositivo no responde cuando el controlador de bus intenta detectar su presencia en el bus.

La transición de D3hot a D3cold se produce sin interacción del controlador de dispositivo. En su lugar, el controlador de dispositivo indica si está preparado para una transición D3cold antes de iniciar la transición de D0 a D3hot. Posteriormente, una transición de D3hot a D3cold puede ocurrir o no, dependiendo de si todas las condiciones tienen derecho a habilitar esta transición.

Dos de estas condiciones son que todos los dispositivos que usan la misma fuente de alimentación están en D3hot y están preparados para una transición D3cold. Cuando el último de estos dispositivos entra en D3hot, el controlador de bus primario o el controlador de filtro ACPI apaga la fuente de alimentación en estos dispositivos, que es decir, que los dispositivos entran en D3cold.

Un dispositivo que se encuentra en D3cold solo puede dejar este subestado escribiendo D0. No hay ninguna transición directa de D3cold a D3hot.

Cuando el equipo está en estado S0 y un dispositivo entra en el subestado D3hot, el controlador del dispositivo normalmente no puede determinar de antemano si la siguiente transición del dispositivo será D3cold o D0. La única excepción es cuando el equipo está preparando para dejar el estado S0. En este caso, la siguiente transición es a D3cold.

En las secciones siguientes se describen D3hot y D3cold:

Para obtener más información, vea Compatibilidad con D3cold en un controlador.

Subestado D3hot

D3hot tiene las siguientes características:

La energía de consumo de energía se quita principalmente del dispositivo, pero no del equipo en su conjunto. El equipo, que está en estado S0, podría seguir ejecutándose en este estado, o podría estar preparando la preparación para pasar de S0 a un estado Sx de bajo consumo.

Contexto del dispositivo
El controlador de dispositivo es el único responsable de restaurar el contexto del dispositivo. El controlador debe conservar y, a continuación, restaurar todo el contexto del dispositivo o reinicializar el dispositivo tras la transición al estado D0.

Comportamiento del controlador de dispositivo
El controlador de dispositivo es el único responsable de restaurar el contexto del dispositivo, normalmente a partir de la configuración de trabajo más reciente.

Tiempo de restauración
El tiempo total de restauración es el más alto de cualquiera de los estados de energía del dispositivo, excepto D3cold, pero normalmente no es mucho mayor que el tiempo de restauración de D2.

Funcionalidad de reactivación
Un dispositivo en el subestado D3hot puede o no poder solicitar reactivación. Para proporcionar información sobre si este subestado puede admitir una señal de reactivación, un controlador de bus usa la estructura de DEVICE_CAPABILITIES o, a partir de Windows 8, la interfaz del controlador GUID_D3COLD_SUPPORT_INTERFACE.

En D3hot, solo está disponible la corriente de truco mínima. Los controladores y el hardware deben estar preparados para la ausencia de energía. La especificación de un bus que admite D3hot normalmente proporciona requisitos detallados para fuentes de alimentación que se pueden usar en este estado. Para devolver el dispositivo al estado de trabajo, los controladores del dispositivo deben poder restaurar y reinicializar el dispositivo sin depender del BIOS para ejecutar ningún código en la opción ROM que pueda estar disponible para el dispositivo.

Todas las clases de dispositivo definen el subestado D3hot.

Subestado D3cold

D3cold tiene las siguientes características:

Consumo de energía
La alimentación se ha quitado completamente del dispositivo y posiblemente de todo el sistema. El dispositivo puede ser capaz de dibujar corriente de fuentes de banda lateral, dependiendo de su construcción.

Contexto del dispositivo
El controlador de dispositivo es el único responsable de restaurar el contexto del dispositivo. El controlador debe conservar y, a continuación, restaurar el contexto del dispositivo o reinicializar el dispositivo tras la transición al estado D0.

Comportamiento del controlador de dispositivo
El controlador de dispositivo es el único responsable de restaurar el contexto del dispositivo, normalmente a partir de la configuración de trabajo más reciente.

Tiempo de restauración
El tiempo total de restauración es el más alto de cualquiera de los estados de energía del dispositivo.

Funcionalidad de reactivación
En el subestado D3cold, es posible que un dispositivo pueda desencadenar una señal de reactivación para reactivar un equipo en suspensión. Esta funcionalidad se notifica en la estructura de DEVICE_CAPABILITIES y, a partir de Windows 8, mediante la rutina GetIdleWakeInfo en la interfaz del controlador GUID_D3COLD_SUPPORT_INTERFACE. Una vez que la señal activa el equipo, el controlador del dispositivo inicia la transición del dispositivo de D3cold a D0. Para más información, consulte la sección Comentarios que se muestra más adelante.

A partir de Windows 8, un dispositivo en el subestado D3cold podría desencadenar una señal de reactivación a un equipo que se encuentra en el estado de alimentación del sistema S0. La rutina GetIdleWakeInfo notifica esta funcionalidad. La estructura DEVICE_CAPABILITIES no contiene información sobre esta funcionalidad. Una vez que llegue la señal de reactivación, el controlador del dispositivo inicia la transición del dispositivo de D3cold a D0. En este caso, el equipo está despierto cuando llega la señal y solo el dispositivo necesita reactivarse.

En muchas plataformas de hardware existentes, un dispositivo que se encuentra en un estado Dx de bajo consumo puede desencadenar una señal de reactivación para reactivar un equipo en suspensión. Sin embargo, es posible que el mismo dispositivo no pueda desencadenar una señal de reactivación si el equipo se ejecuta en el estado S0. Por lo tanto, el controlador para este dispositivo no debe iniciar la transición del dispositivo de D0 a un estado Dx de baja potencia cuando el equipo está en estado S0. De lo contrario, después de que el dispositivo salga de D0, no estará disponible hasta que el equipo deje el estado S0. Este dispositivo debe dejar el estado D0 solo cuando el equipo se prepara para dejar el estado S0.

Si un dispositivo que está en un estado Dx de bajo consumo puede desencadenar una señal de reactivación a un equipo que se ejecuta en el estado S0, el dispositivo no es necesario permanecer en D0 cuando el equipo está en S0. Si el equipo está en S0 y el dispositivo está en D0 pero está inactivo, el controlador puede armar el dispositivo para desencadenar una señal de reactivación y, a continuación, iniciar la transición del dispositivo de D0 a este estado dx de baja potencia.

Algunas clases de dispositivo definen el subestado D3cold.

Para obtener más información, vea Compatibilidad con D3cold en un controlador.