Estados de Low-Power de dispositivo
Los estados de energía del dispositivo D1, D2 y D3 son los estados de bajo consumo 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 alimentación del dispositivo D1
El estado de alimentación del dispositivo D1 es el estado de bajo consumo del dispositivo con tecnología más alta. 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 puerta 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 hardware conserva el contexto del dispositivo y el controlador no necesita 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. Sin embargo, normalmente, 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 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 de este estado no requiere que el controlador restaure el contexto de hardware completo del dispositivo. Para minimizar la percepción del retraso del usuario, la restauración de 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 alimentación del dispositivo D2
D2 es un estado intermedio de bajo consumo 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 y cuando se 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 puede 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 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 podría provocar que un dispositivo desactive alguna de sus funciones, lo que requiere tiempo adicional para reiniciar y restaurar el dispositivo.
Muchas clases de dispositivo no definen este estado.
Estado de alimentación del dispositivo D3
D3 es el estado de bajo consumo del dispositivo de bajo consumo. Todos los dispositivos deben admitir este estado.
A partir de Windows 8, el sistema operativo subdivide D3 en dos subestados separados 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 del bus PCI definen subestados D3hot y D3cold independientes, y las versiones 4 y posteriores de la especificación avanzada de configuración e interfaz de energía definen los subestados D3hot y D3cold.
Aunque las versiones de Windows antes de 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 es posible que el dispositivo esté configurado para dibujar corriente baja) y se pueda detectar la presencia del dispositivo en el bus. Un dispositivo se encuentra implícitamente en el subestado D3cold si se encuentra 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 el 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 bajo consumo 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 con el controlador del 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, puede producirse o no una transición de D3hot a D3cold, 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á A D3cold o D0. La única excepción es cuando el equipo se prepara 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:
Consumo de energía La alimentación 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 preparándose para pasar de S0 a un estado de 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 desde 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 substate D3hot puede o no ser capaz de solicitar reactivación. Para proporcionar información sobre si este subestado puede admitir una señal de reactivación, un controlador de autobús usa la estructura de DEVICE_CAPABILITIES o, a partir de Windows 8, la interfaz del controlador de GUID_D3COLD_SUPPORT_INTERFACE.
En D3hot, solo está disponible la corriente de goteo 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 las 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.
El controlador de bus primario no quitará la alimentación del sistema del bus primario de ningún dispositivo que entre en D3hot a menos que el equipo en su conjunto cambie al estado S0.
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 desde 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 reactiva 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 en un equipo que se encuentra en el estado de alimentación del sistema S0. Esta funcionalidad se notifica mediante la rutina GetIdleWakeInfo . La estructura DEVICE_CAPABILITIES no contiene información sobre esta funcionalidad. Una vez que llega 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 está ejecutando 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 bajo consumo cuando el equipo está en estado S0. De lo contrario, después de que el dispositivo deje 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.