Skip to content

2. Спящий режим (Sleep S3 & Modern Standby S0ix) ​

Спящий режим переводит систему в состояние пониженного энергопотребления с сохранением рабочего сеанса пользователя. В современных системах применяются две различные архитектурные модели:

  1. Классический ACPI S3 (Suspend-to-RAM): питание подается исключительно на модули оперативной памяти (DRAM Self-Refresh), процессор и периферия обесточиваются, а аппаратный контекст регистров CPU сохраняется в таблицу FACS прошивки.
  2. Modern Standby (S0 Low Power Idle / S0ix): система непрерывно остается в состоянии S0, но платформа динамически погружается в субсостояния глубокого аппаратного простоя (DRIPS) под управлением координатора зависимостей питания PDC и плагина PEP.

2.1 Архитектурная схема перехода в сон S3 и пробуждения ​

100%

2.2 Декомпилированный C-код входа в сон: HaliAcpiSleep ​

HaliAcpiSleephal.dll
IRQL: HIGH_LEVEL (15)HAL ACPI Hardware State SwitchInternal
__int64 __fastcall HaliAcpiSleep(ULONG SleepState, PVOID Handler, PVOID Context, ULONG ProcessorCount, volatile signed __int32 *SyncBarrier)
Кем вызывается:ntoskrnl.exe: PopInvokeSystemStateHandler
Низкоуровневая процедура аппаратного переключения чипсета и ядер процессора в ACPI S-состояния (S1–S4). Выполняет межъядерную синхронизацию, сброс кэшей (WBINVD), запись в регистры управления питанием PM1a_CNT/PM1b_CNT и обработку возобновления выполнения при пробуждении.

2.3 Модель Modern Standby (S0 Low Power Idle / S0ix) ​

В отличие от классического S3, в режиме Modern Standby:

  1. Отсутствие циклов обесточивания ОЗУ: оперативная память работает в штатном режиме, что позволяет системе просыпаться мгновенно (< 500 мс).
  2. PDC (Power Dependency Coordinator): системный координатор отслеживает системные сущности (аудиопотоки, загрузку обновлений, таймеры push-уведомлений WNS).
  3. PEP (Power Engine Plugin): специализированный драйвер SoC от производителя чипсета (Intel / AMD / Qualcomm), переводящий шины PCIe, контроллеры дисплея и ядра CPU в состояние глубокого простоя DRIPS (Deepest Runtime Idle Platform State).
  4. Режимы активности (Connected vs Disconnected):
    • Connected Standby: сетевой адаптер периодически просыпается по триггерам паттернов (Wake-on-Pattern) для получения входящих звонков и сообщений.
    • Disconnected Standby: сетевой стек полностью отключается для максимальной экономии заряда аккумулятора.

Interactive documentation of Windows NT (Build 10.0.19045.2965 x64) • Source Code