Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Реализация спецификации оборудования Advanced Configuration and Power Interface (ACPI) не требуется на платформах на основе SoC, но большая часть спецификации программного обеспечения ACPI является (или может быть обязательной). ACPI определяет универсальный расширяемый механизм передачи таблиц, а также определенные таблицы для описания платформы операционной системы.
Структуры таблиц и заголовки, включая поля идентификаторов и контрольных сумм, определяются в спецификации ACPI 5.0. Windows использует этот механизм передачи таблиц в дополнение к определенным таблицам, описанным в этой статье.
Идея этих таблиц заключается в том, чтобы предоставить универсальное программное обеспечение для поддержки стандартных блоков интеллектуальной собственности (IP), которые можно интегрировать в различные платформы различными способами. С помощью стратегии таблицы атрибуты переменной платформы определенной платформы предоставляются в таблице и используются универсальным программным обеспечением для адаптации к конкретному набору блоков IP-адресов, интегрированных в платформу. Поэтому это программное обеспечение можно написать один раз, тщательно протестировать, а затем оптимизировать с течением времени.
Указатель на описание корневой системы (RSDP)
Windows зависит от встроенного ПО UEFI для загрузки аппаратной платформы. Поэтому Windows будет использовать системную таблицу EFI для поиска RSDP, как описано в разделе 5.2.5.2, "Поиск RSDP в системах с поддержкой UEFI" спецификации ACPI 5.0. Встроенное ПО платформы заполняет адрес RSDT или XSDT в RSDP. (Если указаны оба адреса таблицы, Windows предпочитает XSDT.)
Таблица описания корневой системы (RSDT)
RSDT (или XSDT) включает указатели на другие таблицы описания системы, предоставляемые на платформе. В частности, эта таблица содержит указатели на следующие таблицы:
Фиксированная аппаратная таблица ACPI (FADT)
Таблица многоканального контроллера прерываний (MADT)
По желанию, таблица основных системных ресурсов (CSRT)
Таблица портов отладки 2 (DBG2)
Таблица загрузки графических ресурсов (BGRT)
Таблица данных производительности встроенного ПО (FPDT)
Таблица описания базовой системы (DSDT)
При необходимости дополнительные таблицы описания системы (SSDT)
Исправлена таблица описания ACPI (FADT)
Таблица фиксированного оборудования ACPI (FADT) содержит важные сведения о различных функциях фиксированного оборудования, доступных на платформе. Для поддержки платформ ACPI, требующих уменьшенного количества оборудования, ACPI 5.0 расширяет определение таблицы FADT следующим образом:
Поле "Флаги" в FADT (смещение 112) имеет два новых флага:
HARDWARE_REDUCED_ACPI смещение бита 20. Указывает, что оборудование ACPI недоступно на этой платформе. Этот флаг необходимо задать, если модель фиксированного аппаратного программирования ACPI не реализована.
LOW_POWER_S0_IDLE_CAPABLE смещение бита 21. Указывает, что платформа поддерживает состояния простоя с низкой мощностью в системном состоянии ACPI S0, которые более эффективны, чем любое состояние сна Sx. Если этот флаг задан, Windows не будет пытаться перейти в спящий режим и возобновить работу, а вместо этого будет использовать состояния простоя платформы и подключённый ждущий режим.
Поле Preferred_PM_Profile FADT (смещение 45 байт) имеет новую запись роли "Планшет". Эта роль влияет на политику управления питанием для отображения и ввода, а также влияет на отображение экранных клавиатур.
Поле "IA-PC флаги архитектуры загрузки" (смещение 109) имеет новый флаг "CMOS RTC Not Present" (битовое смещение 5), указывающий на то, что CMOS RTC в ПК либо не поддерживается, либо отсутствует по адресам старого типа. Если этот флаг задан, платформа должна реализовать устройство управления временем и сигнализацией ACPI. Дополнительные сведения см. в разделе "Время метода управления и устройство оповещения" в статье об определяемых устройствах ACPI.
Добавлены новые поля для поддержки традиционного спящего режима и возобновления работы на аппаратно-упрощённых платформах ACPI. Эти поля игнорируются Windows, но должны присутствовать в таблице для соответствия требованиям.
Если установлен флаг HARDWARE_REDUCED_ACPI, все поля, относящиеся к спецификации оборудования ACPI, игнорируются операционной системой.
Все остальные параметры FADT сохраняют свои значения из предыдущей версии ACPI 4.0. Дополнительные сведения см. в разделе 5.2.9 "Исправленная таблица описания ACPI (FADT)" спецификации ACPI 5.0.
Таблица множественного описания APIC (MADT)
В реализациях ACPI несколько таблиц описания APIC (MADT) и дескрипторов контроллера прерываний для конкретного компьютера используются для описания модели системных прерываний. Для платформ SoC на базе Arm ACPI 5.0 добавляет дескрипторы для универсального контроллера прерываний Arm Holdings (GIC) и дистрибьютора GIC. Windows включает встроенную поддержку для GIC и распределителя GIC. Дополнительные сведения об этих дескрипторах см. в разделах 5.2.12.14, "Структура GIC" и 5.2.12.15, "Структура распространителя GIC" спецификации ACPI 5.0.
Структуры дескриптора контроллера прерывания перечислены сразу после поля Flags в MADT. Для платформ Arm один дескриптор указан для каждого GIC, за которым следует один для каждого распространителя GIC. GIC, соответствующий загрузочному процессору, должен быть первой записью в списке дескрипторов контроллера прерываний.
Таблица описания универсального таймера (GTDT)
Как и в случае с контроллером прерываний, существует стандартная таблица описания таймера в ACPI. Для систем Arm, использующих таймер GIT, в Windows встроенная поддержка GIT может быть использована через GTDT ACPI.
Таблица основных системных ресурсов (CSRT)
Основные системные ресурсы (CSR) — это общие аппаратные функции, такие как контроллеры прерываний, таймеры и контроллеры DMA, к которым операционная система должна сериализовать доступ. Где существуют отраслевые стандарты для таких функций, как таймеры и контроллеры прерываний (как на архитектуре x86, так и в Arm), Windows включает поддержку этих функций, основываясь на стандартных таблицах, описанных в ACPI (например, MADT и GTDT). Однако до тех пор, пока отрасль не конвергентирует стандарты интерфейса контроллера DMA, необходимо поддерживать некоторые нестандартные устройства в операционной системе.
Windows поддерживает концепцию расширений HAL для решения этой проблемы. Расширения HAL — это модули SoC, реализованные как библиотеки DLL, которые адаптируют Windows HAL к определенному аппаратному интерфейсу определенного класса CSR, необходимого Для Windows. Чтобы определить и загрузить эти нестандартные модули CSR, корпорация Майкрософт определила новую таблицу ACPI. Эта таблица с зарезервированной подписью CSRT в спецификации ACPI должна быть включена в RSDT, если на платформе используются нестандартные CSR.
CSRT описывает группы ресурсов CSR, где каждая группа ресурсов определяет оборудование определенного типа. Windows использует идентификатор, предоставленный для группы ресурсов, для поиска и загрузки необходимого расширения HAL для этой группы. Группы ресурсов в CSRT также могут содержать отдельные дескрипторы ресурсов в зависимости от типа CSR и потребностей расширения HAL. Формат и использование этих дескрипторов ресурсов определяется средством записи расширений HAL, который может сделать расширение более переносимым и тем самым поддерживать различные платформы SoC, просто изменив дескрипторы ресурсов, содержащиеся в CSRT.
Для поддержки обслуживания расширений HAL и управления системными ресурсами, используемыми этими расширениями, каждая группа ресурсов, описанная в CSRT, также должна быть представлена как устройство в пространстве имен ACPI платформы. Дополнительные сведения см. в следующем разделе "Дифференцированная таблица описания системы (DSDT)". Идентификаторы устройства, используемые в заголовке группы ресурсов, должны соответствовать идентификаторам, используемым в узле пространства имен устройства. Для получения дополнительной информации см. раздел "Идентификация устройств в ACPI" в статье "Объекты пространства имен управления устройствами". Существование этих устройств пространства имен группы ресурсов позволяет расширению HAL обслуживаться службой обновления Windows.
Дополнительные сведения см. в спецификации таблицы основных системных ресурсов (CSRT).
Таблица портов отладки 2 (DBG2)
Корпорация Майкрософт требует отладочного порта во всех системах. Чтобы описать порты отладки, встроенные в платформу, корпорация Майкрософт определяет таблицу портов отладки 2 (DBG2) для ACPI. Эта таблица задает один или несколько независимых портов для целей отладки. Наличие таблицы DBG2 указывает, что платформа включает по крайней мере один порт отладки. Эта таблица содержит сведения об идентификации и конфигурации порта(ов) отладки. Таблица находится в системной памяти с другими таблицами ACPI и должна быть указана в таблице RSDT ACPI.
Windows использует значение типа порта в таблице DBG2 для идентификации и загрузки транспорта отладчика ядра (например, USB или сериала), необходимого системе. Затем транспорт KD использует значение подтипа порта в таблице DBG2 для идентификации аппаратного интерфейса, используемого портом. Другие сведения в таблице DBG2 указывают системный адрес регистров портов, который используется модулем интерфейса оборудования для указанного подтипа. Наконец, таблица DBG2 должна содержать ссылку на узел устройства в пространстве имен ACPI, соответствующем порту отладки. Эта ссылка позволяет Windows управлять конфликтами, связанными с использованием отладки и обычной эксплуатацией устройства, если таковые имеются, а также интегрировать отладчик с переходами энергопотребления.
Дополнительные сведения см. в спецификации таблицы портов отладки Майкрософт 2 (DBG2).
Разностная таблица описания системы (DSDT)
В ACPI периферийные устройства и системные аппаратные компоненты на платформе описаны в таблице "Дифференцированное описание системы" (DSDT), которая загружается при загрузке или в дополнительных таблицах описания системы (SSDTs), которые загружаются при загрузке или загружаются динамически во время выполнения. Для soCs конфигурация платформы обычно статичная, поэтому DSDT может быть достаточной, хотя SSDT также можно использовать для улучшения модульности описания платформы.
ACPI определяет интерпретируемый язык (исходный язык ACPI или ASL) и среду выполнения (виртуальную машину ACPI) для описания системных устройств и функций, а также их элементов управления, зависящих от платформы, независимым от ОС образом. ASL используется для определения именованных объектов в пространстве имен ACPI, а компилятор Microsoft ASL используется для создания байт-кода машинного языка ACPI (AML) для передачи в операционную систему в DSDT. Входящий драйвер Windows ACPI Acpi.sysреализует виртуальную машину ACPI и интерпретирует код байтов AML. Объект AML может просто возвращать сведения о описании. Или объект AML может быть методом, выполняющим вычисления или выполняющие операции ввода-вывода. Метод управления — это исполняемый объект AML, использующий драйверы устройств операционной системы для выполнения операций ввода-вывода на оборудовании платформы. ASL использует OpRegions для абстрагирования различных адресных пространств, доступных в операционной системе. Методы управления выполняют операции ввода-вывода в виде ряда передач в именованные поля, объявленные в OpRegions.
Дополнительные сведения о OpRegions см. в разделе 5.5.2.4 , "Доступ к регионам операций" в спецификации ACPI 5.0. Дополнительные сведения о ASL и методах управления см. в разделе 5.5 "Пространство имен ACPI" в спецификации ACPI 5.0.
Windows обеспечивает поддержку разработки и отладки кода ASL. Компилятор ASL включает дизассемблатор, позволяющий реализации загружать пространство имен из целевого объекта отладки. Затем компилятор ASL можно использовать для повторного применения пространства имен к целевому компоненту, чтобы быстро создавать прототипы и тестировать без необходимости прошивки системной прошивки. Кроме того, отладчик ядра Windows вместе с проверенной версией драйвера Acpi.sys поддерживает трассировку и анализ выполнения AML. Дополнительные сведения см . в разделе "Отладчик AMLI".
Таблица мер по обеспечению безопасности SMM Windows (WSMT)
Спецификация таблицы смягчения рисков безопасности Windows (WSMT) содержит сведения о таблице расширенной конфигурации и энергопотребления (ACPI), созданной для использования с операционными системами Windows, которые поддерживают функции безопасности, основанные на виртуализации Windows (VBS).
Эта информация относится к следующим операционным системам:
Windows Server 2016
Windows 10, версия 1607
Для получения дополнительной информации см. спецификацию таблицы смягчения рисков безопасности Windows (WSMT) (DOCX-файл для загрузки).
Таблица микропрограммного обеспечения для загрузки iSCSI (iBFT)
Таблица iSCSI Boot Firmware (iBF) (iBFT) — это блок сведений, содержащий различные параметры, полезные для процесса загрузки iSCSI. IBFT — это механизм, с помощью которого значения параметров iBF передаются операционной системе. IBF создает и заполняет iBFT. IBFT доступен операционной системе Windows для обеспечения согласованного потока процесса загрузки.
Дополнительные сведения см. в спецификации таблицы загрузки встроенного ПО iSCSI (iBFT) (скачать DOCX).