Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Состояние питания устройства D1, D2 и D3 — это состояния низкой мощности устройства. Начиная с Windows 8 D3 делится на две подстатки, D3hot и D3cold.
D1 и D2 являются промежуточными состояниями низкой мощности. Многие классы устройств не определяют эти состояния. Все устройства должны определять D3hot.
В следующих разделах описаны D1, D2 и D3:
Состояние питания устройства D1
Состояние питания устройства D1 — это самое высокопроизводительное состояние устройства с низкой мощностью. Оно имеет следующие характеристики.
Энергопотребление
Потребление меньше, чем в состоянии D0, но больше или равно ей в состоянии D2. Часто состояние D1 является тактово-ограниченным, в котором устройство получает ровно столько энергии, сколько необходимо для сохранения аппаратного контекста устройства. Как правило, спецификация для класса шины или устройства, поддерживающая D1, подробно описывает это состояние.
Контекст устройства
В общем случае контекст устройства сохраняется оборудованием и не требуется восстановить драйвером. Спецификация для класса шины или устройства, поддерживающего D1, обычно предоставляет подробные требования для сохранения этого контекста.
Поведение драйвера устройства
Драйверы должны сохранять и восстанавливать или повторно инициализировать любой контекст, потерянный оборудованием. Как правило, устройства теряют мало контекста при входе в это состояние.
Время восстановления
Как правило, время, необходимое для восстановления устройства до D0 от D1, должно быть меньше, чем восстановление от D2 до D0.
Возможность пробуждения
Устройство в D1 может запрашивать пробуждение. Чтобы предоставить сведения о том, может ли это состояние поддерживать сигнал пробуждения, драйвер шины использует структуру DEVICE_CAPABILITIES или, начиная с Windows 8, интерфейс драйвера GUID_D3COLD_SUPPORT_INTERFACE .
Как правило, устройства, использующие D1, делают это, так как возобновление из этого состояния не требует драйвера для восстановления полного аппаратного контекста устройства. Чтобы свести к минимуму восприятие задержки пользователя, восстановление устройства до D0 от D1 должно повлечь за собой наименьшую возможную задержку. Минимизация задержки при переходе состояния является более важной, чем сокращение потребления энергии.
Состояние питания устройства D2
D2 — это промежуточное состояние низкой мощности устройства со следующими характеристиками:
Энергопотребление
Потребление меньше или равно потреблению в состоянии D1.
Контекст устройства
Как правило, большинство контекста устройства утеряно из-за аппаратного обеспечения. Часто это состояние сохраняет часть контекста, который используется для сигнала о событиях пробуждения. Спецификация для класса шины или устройства, поддерживающего D2, обычно предоставляет подробные требования для сохранения этого контекста.
Поведение драйвера устройства
Драйверы устройств должны сохранять и восстанавливать или повторно инициализировать любой контекст, потерянный оборудованием. Обычное устройство теряет большую часть контекста при вводе D2.
Время восстановления
Восстановление устройства из состояния D2 в D0 занимает не меньше времени, чем необходимо для восстановления устройства из состояния D1 в D0. Графический адаптер с большим буфером кадров является примером устройства с большим объемом аппаратного контекста для восстановления после перехода с D2 на D0. Для такого устройства время восстановления от D2 может быть гораздо больше времени восстановления от D1.
Возможность пробуждения
Устройство в D2 может запрашивать пробуждение. Чтобы предоставить сведения о том, может ли это состояние поддерживать сигнал пробуждения, драйвер шины использует структуру DEVICE_CAPABILITIES или, начиная с Windows 8, интерфейс драйвера GUID_D3COLD_SUPPORT_INTERFACE .
Как правило, драйверы поддерживают D2, потому что их устройства не могут выходить из состояния D3. Для этих устройств потребление энергии в состоянии D2 снижается до самого низкого уровня, с которого устройство может восстановиться в ответ на сигнал пробуждения. В отличие от состояния D1, которое реализуется для уменьшения задержки, предполагаемой пользователем, цель реализации состояния D2 — экономия энергии. В результате время восстановления от D2 до D0 обычно превышает значение от D1 до D0. Например, в состоянии D2 снижение питания на шине может привести к отключению некоторых функций устройства, поэтому требуется дополнительное время для перезапуска и восстановления устройства.
Многие классы устройства не определяют это состояние.
Устройство Power State D3
D3 — это состояние устройства с наименьшим энергопотреблением. Все устройства должны поддерживать это состояние.
Начиная с Windows 8 операционная система подразделяет D3 на два отдельных и отдельных подстата, D3hot и D3cold. Более ранние версии Windows определяют состояние D3, но не подстатки D3hot и D3cold. Однако все версии спецификации интерфейса управления питанием шины PCI определяют отдельные подстатки D3hot и D3cold, а версии 4 и более поздние версии спецификации расширенной конфигурации и интерфейса питания определяют подстатки D3hot и D3cold.
Хотя версии Windows до Windows 8 явно не определяют подстатки D3hot и D3cold D3, эти подстатики существуют неявно в этих более ранних версиях Windows. Устройство неявно находится в подстате D3hot, если устройство явно находится в состоянии D3, а компьютер находится в состоянии питания системы S0. В D3hot устройство подключено к источнику питания (хотя устройство может быть настроено на низкое потребление тока), и можно обнаружить наличие устройства на шине. Устройство неявно находится в подстате D3cold, если оно явно находится в состоянии D3, и компьютер находится в состоянии SX с низким уровнем мощности (состояние, отличное от S0). В этом неявном подрежиме D3cold устройство может получать микроток, но устройство и компьютер полностью выключаются до тех пор, пока не произойдет событие пробуждения.
Начиная с Windows 8, устройство может входить в подсостояние D3cold и покидать его, пока компьютер находится в состоянии S0. Для поддержки этого нового поведения необходимо явно определить D3hot и D3cold как отдельные подсостояния D3.
D3hot — это единственное подсостояние D3, в которое устройство может перейти непосредственно из D0. Устройство выполняет переход с D0 на D3hot под управлением программного обеспечения драйвером устройства. В режиме D3hot устройство можно обнаружить на шине, к которой оно подключается. Шина должна оставаться в состоянии D0, пока устройство находится в подстате D3hot. Из D3hot устройство может либо вернуться в D0, либо перейти в D3cold. D3cold можно вводить только из D3hot.
D3cold — это подсостояние D3, в котором устройство физически подключено к шине, но наличие устройства на шине не может быть обнаружено (т. е. до включения устройства снова). В D3cold одно или оба из следующих утверждений истины:
- Шина, к которой подключается устройство, находится в режиме пониженного энергопотребления.
- Устройство находится в состоянии низкого энергопотребления, в котором оно не отвечает, когда драйвер шины пытается обнаружить его на шине.
Переход от D3hot к D3cold происходит без взаимодействия с драйвером устройства. Вместо этого драйвер устройства указывает, готов ли он к переходу на D3cold, прежде чем начать переход с D0 на D3hot. Впоследствии переход от D3hot к D3cold может произойти или не произойти, в зависимости от того, соблюдены ли все условия для этого перехода.
Два таких условия: все устройства, использующие один и тот же источник питания, находятся в D3hot и подготовлены к переходу D3cold. Когда последнее из этих устройств входит в D3hot, родительский драйвер шины или драйвер фильтра ACPI отключает источник питания на эти устройства, что говорит о том, что устройства входят в D3cold.
Устройство, которое находится в D3cold, может покинуть это подсостояние, только перейдя в D0. Прямой переход от D3cold к D3hot отсутствует.
Если компьютер находится в состоянии S0 и устройство входит в подсостояние D3hot, драйвер устройства обычно не может заранее определить, будет ли следующий переход устройства на D3cold или D0. Одним из исключений является подготовка компьютера к выходу из состояния S0. В этом случае следующий переход — D3cold.
В следующих разделах описаны D3hot и D3cold:
Дополнительные сведения см. в разделе "Поддержка D3cold" в драйвере.
Подсостояние D3hot
D3hot имеет следующие характеристики:
Энергопотребление Питание в основном удаляется с устройства, но не с компьютера в целом. Компьютер, который находится в состоянии S0, может продолжать работать в этом состоянии или может подготовиться к переходу из S0 в состояние S0 с низкой мощностью Sx.
Контекст устройства
Драйвер устройства несет ответственность за восстановление контекста устройства. Драйвер должен сохранить и затем восстановить весь контекст устройства или повторно инициализировать устройство при переходе в состояние D0.
Поведение драйвера устройства
Драйвер устройства несет исключительно ответственность за восстановление контекста устройства, как правило, из последней рабочей конфигурации.
Время восстановления
Общее время восстановления является самым высоким из состояний питания устройства, за исключением D3cold, но обычно не намного больше времени восстановления от D2.
Возможность пробуждения
Устройство в подстате D3hot может как запрашивать пробуждение, так и не запрашивать его. Для указания, может ли это субсостояние поддерживать сигнал для пробуждения, драйвер шины использует структуру DEVICE_CAPABILITIES или, начиная с Windows 8, интерфейс драйвера GUID_D3COLD_SUPPORT_INTERFACE.
В D3hot доступен только минимальный ток подтекания. Драйверы и оборудование должны быть подготовлены к отсутствии питания. Спецификация шины, поддерживающей D3hot, обычно предоставляет подробные требования к источникам питания, которые можно использовать в этом состоянии. Чтобы вернуть устройство в рабочее состояние, драйверы устройства должны иметь возможность восстановить и повторно инициализировать устройство без использования BIOS, чтобы запустить любой код в опциональном ПЗУ, который может быть доступен для устройства.
Все классы устройств определяют подсостояние D3hot.
Субсостояние D3cold
D3cold имеет следующие характеристики:
Энергопотребление
Питание полностью удалено с устройства и, возможно, из всей системы. Устройство может быть способно потреблять ток из побочных источников в зависимости от его конструкции.
Контекст устройства
Драйвер устройства несет ответственность за восстановление контекста устройства. Драйвер должен сохранить и затем восстановить контекст устройства или повторно инициализировать устройство при переходе в состояние D0.
Поведение драйвера устройства
Драйвер устройства несет исключительно ответственность за восстановление контекста устройства, как правило, из последней рабочей конфигурации.
Время восстановления
Общее время восстановления — это самый высокий из состояний питания устройства.
Возможность пробуждения
В подстате D3cold устройство может активировать сигнал пробуждения для пробуждения спящего компьютера. Эта возможность сообщается в структуре DEVICE_CAPABILITIES и начиная с Windows 8 подпрограммой GetIdleWakeInfo в интерфейсе драйвера GUID_D3COLD_SUPPORT_INTERFACE . После того, как сигнал пробуждает компьютер, драйвер устройства инициирует переход устройства с D3cold на D0. Дополнительные сведения см. в следующих замечаниях.
Начиная с Windows 8, устройство в субсостоянии D3cold, возможно, может активировать сигнал пробуждения компьютера, находящегося в состоянии питания S0. Эта возможность сообщается подпрограммой GetIdleWakeInfo . Структура DEVICE_CAPABILITIES не содержит сведения об этой возможности. После поступления сигнала пробуждения драйвер устройства инициирует переход устройства с D3cold на D0. В этом случае компьютер проснется при поступлении сигнала, и только устройство должно проснуться.
Во многих существующих аппаратных платформах устройство, которое находится в состоянии dx с низкой мощностью, может активировать сигнал пробуждения для пробуждения спящего компьютера. Однако то же устройство может не активировать сигнал пробуждения, если компьютер работает в состоянии S0. Таким образом, драйвер для этого устройства не должен инициировать переход устройства с D0 на состояние Dx с низкой мощностью, если компьютер находится в состоянии S0. В противном случае после выхода устройства из D0 он будет недоступен, пока компьютер не покидает состояние S0. Это устройство должно оставить состояние D0 только в том случае, если компьютер готовится оставить состояние S0.
Если устройство, находящееся в маломощном состоянии Dx, может активировать сигнал пробуждения на компьютер, работающий в состоянии S0, то оно не обязательно должно оставаться в состоянии D0, когда компьютер находится в S0. Если компьютер находится в S0, и устройство находится в D0, но не используется, драйвер может подготовить устройство для активации сигнала пробуждения, а затем инициировать переход устройства с D0 на состояние с низким энергопотреблением Dx.
Некоторые классы устройств определяют подсостояние D3cold.
Дополнительные сведения см. в разделе "Поддержка D3cold" в драйвере.