Поддержка D3cold в драйвере
Начиная с Windows 8, состояние питания устройства D3 (off) делится на два отдельных подстата, D3hot и D3cold. D3 — это наименьшее энергетическое состояние устройства, а D3cold является наименьшим подсостоянием D3. Перемещение бездействующих устройств в подсостояние D3cold может снизить потребление энергии и продлить время, которое мобильная аппаратная платформа может работать от одного заряда батареи.
В D3hot устройство в основном отключено. Однако устройство не отключается от основного источника питания, а родительский контроллер шины может обнаружить наличие устройства на шине. В D3cold основной источник питания удаляется с устройства, а контроллер шины не может обнаружить наличие устройства. Для получения дополнительной информации см. описания D3hot и D3cold в состояниях устройства Low-Power.
В более ранних версиях Windows состояние питания устройства D3 неявно разделено на подстатки D3hot и D3cold, но устройство не может ввести D3cold, если компьютер не готовится выйти из состояния питания системы S0 и ввести одно из спящих состояний S1 до S4. Устройства могут перейти в состояния низкого энергопотребления Dx, когда компьютер остается в S0, причем эти состояния ограничены от D1 до D3hot.
Windows 8 — это первая версия Windows, которая поддерживает переходы устройства в подстаток D3cold, когда компьютер находится в состоянии S0 и не готовится перейти в спящее состояние. Устройство, поддерживающее D3cold таким образом, помогает сэкономить мощность следующим образом:
- Устройство потребляет меньше энергии в D3cold, чем в любом другом состоянии пониженного энергопотребления Dx.
- Если это устройство совместно использует шину с другими устройствами, и все эти устройства поддерживают D3cold, то после того как все устройства на шине входят в D3cold, контроллер шины может войти в состояние Dx с низкой мощностью.
- Если это устройство использует общий источник питания с другими устройствами, и все эти устройства поддерживают D3cold, то когда последнее из этих устройств переходит в D3hot, источник питания можно отключить, и тогда все эти устройства одновременно переходят в D3cold.
И наоборот, устройство, которое не может бездействовать в состоянии D3cold, может запретить другим устройствам переходить в состояние D3cold или другие состояния Dx с низким энергопотреблением.
В следующих разделах содержатся дополнительные сведения о поддержке D3cold в драйвере устройства.
В этом разделе
Тема | Описание |
---|---|
Активирование переходов в D3cold | Все версии Windows позволяют устройству находиться в D3cold во время сна компьютера (в одном из системных состояний с низкой мощностью S1–S4). Прежде чем компьютер переходит из S0, драйверы функций, драйверы шины и драйверы фильтров работают вместе, чтобы перевести устройство в D3hot. Когда компьютер входит в состояние SX с низкой мощностью, этот переход имеет побочный эффект перемещения устройства из D3hot в D3cold. |
Возможности устройства D3cold | Прежде чем драйвер, который является владельцем политики питания (PPO) для устройства, переведет устройство в D3cold (пока компьютер остается в S0), драйвер должен убедиться, что устройство будет отвечать и продолжать работать корректно после введения устройства в D3cold. |
Использование интерфейса драйвера GUID_D3COLD_SUPPORT_INTERFACE | Начиная с Windows 8 драйверы могут вызывать подпрограммы в интерфейсе D3COLD_SUPPORT_INTERFACE, чтобы определить возможности устройств D3cold и разрешить этим устройствам использовать D3cold. Две основные подпрограммы в этом интерфейсе — это SetD3ColdSupport и GetIdleWakeInfo. |
Сюрпризное пробуждение | Неожиданное пробуждение - это переход на D0. После того как устройство входит в состояние D3cold, может возникнуть неожиданное пробуждение как побочный эффект, когда драйвер другого устройства на той же шине питания запрашивает переход из D3cold в D0. Драйвер для первого устройства должен получать уведомление о неожиданном пробуждении, чтобы предотвратить сохранение устройства в неинициализированном состоянии D0. |