Difference between revisions of "ACPI/ru"
(Device states. Structuring. Page editors read comments in the source!) |
|||
Line 1: | Line 1: | ||
+ | === Описание === | ||
ACPI - Advanced Configuration and Power Interface (интерфейс расширенного конфигурирования и управления питанием). Его задача - обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы. | ACPI - Advanced Configuration and Power Interface (интерфейс расширенного конфигурирования и управления питанием). Его задача - обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы. | ||
+ | <!-- Asper: Нужно более развёрнутое объяснение --> | ||
− | + | === Принцип работы === | |
+ | Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке [[AML]] (ACPI Machine Language). Интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий. | ||
+ | На практике таблицы пишуться на языке [[ASL]] и компилируются в AML. | ||
+ | === Что должно быть реализовано === | ||
+ | * Use system address map reporting interfaces to get the system address map on Intel Architecture (IA) platforms: | ||
+ | ** [[INT 15H, E820H]] - Query System Address Map interface | ||
+ | ** [[EFI]] GetMemoryMap() Boot Services Function | ||
+ | * Находить и применять таблицы ACPI - System Description Tables | ||
+ | * AML-интерпретатор. | ||
+ | * Поддержка программной модели событий ACPI включая прерывания [[SCI]], управления фиксированными событиями, прерываниями [[EC]], и поддержкой динамических устройств | ||
+ | * Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace. | ||
+ | * Внедрить поддержку следующих устройств | ||
+ | ** [[Embedded Controller]] | ||
+ | ** [[GPE Block]] | ||
+ | ** [[Module Device]] | ||
+ | * Поддержка термальной модели ACPI | ||
+ | * Реализация [[Global Lock]]. | ||
+ | * Поддержка управления питанием | ||
+ | <!-- Asper: Список необходимых требований для обеспечения реализации ACPI нужно уточнить. Строки на английском языке оставить для страниц на английском, на страницах "/ru" нужен соответствующий перевод. EC, SCI и т.д. есть во всех компьютерных системах на которых работает Колибри, или имеют более узкую направленность? Может стоить убрать соответствующие пункты? --> | ||
+ | |||
+ | === Состояния === | ||
+ | <!--Спецификация ACPI определяет следующие семь глобальных состояний: --> | ||
+ | Центральный процессор, устройства и вся система "в целом" могут находиться в различных состояниях, определённых в спецификации ACPI. | ||
+ | |||
+ | ==== Глобальные состояния ==== | ||
+ | |||
+ | Выделяют следующие основные состояния «системы в целом». | ||
* G0 (S0) Нормальное | * G0 (S0) Нормальное | ||
* G1 Сон (подразделяется на четыре промежуточных с S1 по S4) | * G1 Сон (подразделяется на четыре промежуточных с S1 по S4) | ||
− | * S1: Все кэши процессора сброшены, выполнение инструкций остановлено. Питание для процессора и памяти включено; состояние других устройств не определено | + | ** S1: Все кэши процессора сброшены, выполнение инструкций остановлено. Питание для процессора и памяти включено; состояние других устройств не определено |
− | * S2: Отключен процессор | + | ** S2: Отключен процессор |
− | * S3: (Standby, Sleep, или Suspend to RAM) Включена оперативная память | + | ** S3: (Standby, Sleep, или Suspend to RAM) Включена оперативная память |
− | * S4: (Hibernation или Suspend to Disk) Все содержимое оперативной памяти сохранено на диск и система выключена. | + | ** S4: (Hibernation или Suspend to Disk) Все содержимое оперативной памяти сохранено на диск и система выключена. |
* G2 (S5) Программное выключение. G2 большей частью то же самое что и G3, но некоторые компоненты остаются включенными, для того чтобы система могла "проснуться" от событий клавиатуры, таймера, модема, сетевой карты или любого USB устройства. | * G2 (S5) Программное выключение. G2 большей частью то же самое что и G3, но некоторые компоненты остаются включенными, для того чтобы система могла "проснуться" от событий клавиатуры, таймера, модема, сетевой карты или любого USB устройства. | ||
* G3 Физическое выключение. Полное отключение питания всех компонентов системы, система готова к безопасной разборке (как правило работает только таймер RTC, питаемый батарейкой). | * G3 Физическое выключение. Полное отключение питания всех компонентов системы, система готова к безопасной разборке (как правило работает только таймер RTC, питаемый батарейкой). | ||
− | Состояния процессора: | + | ==== Состояния процессора: ==== |
* C0 — оперативный режим. | * C0 — оперативный режим. | ||
Line 19: | Line 47: | ||
* C3 (Sleep) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния. | * C3 (Sleep) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния. | ||
− | + | ==== Состояния устройств ==== | |
− | + | ||
+ | * D0 — полностью оперативное состояние, устройство включено. | ||
+ | * D1 и D2 — промежуточные состояния, активность определяется устройством. | ||
+ | * D3 — устройство выключено. | ||
− | + | === Таблицы ACPI === | |
− | + | ||
− | + | <!-- Asper: Может быть немного текста о самих таблицах, для чего используются порядок обнаружения и т.д.? --> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Типы таблиц: | Типы таблиц: | ||
− | * Root System Description Pointer (RSDP) | + | * Root System Description Pointer ([[RSDP]]) |
* System Description Table Header | * System Description Table Header | ||
− | * Root System Description Table (RSDT) | + | * Root System Description Table ([[RSDT]]) |
− | * Fixed ACPI Description Table (FADT) | + | * Fixed ACPI Description Table ([[FADT]]) |
− | * Firmware ACPI Control Structure (FACS) | + | * Firmware ACPI Control Structure ([[FACS]]) |
− | * Differentiated System Description Table (DSDT) | + | * Differentiated System Description Table ([[DSDT]]) |
− | * Secondary System Description Table (SSDT) | + | * Secondary System Description Table ([[SSDT]]) |
− | * Multiple APIC Description Table (MADT) | + | * Multiple APIC Description Table ([[MADT]]) |
− | * Smart Battery Table (SBST) | + | * Smart Battery Table ([[SBST]]) |
− | * Extended System Description Table (XSDT) | + | * Extended System Description Table ([[XSDT]]) |
− | * Embedded Controller Boot Resources Table (ECDT) | + | * Embedded Controller Boot Resources Table ([[ECDT]]) |
− | * System Locality Distance Information Table (SLIT) | + | * System Locality Distance Information Table ([[SLIT]]) |
− | * System Resource Affinity Table (SRAT) | + | * System Resource Affinity Table ([[SRAT]]) |
+ | |||
+ | <!-- Asper: Статья в целом требует дальнейшего усовершенствования, пополнения, упорядочивания. --> |
Revision as of 15:21, 23 June 2010
Описание
ACPI - Advanced Configuration and Power Interface (интерфейс расширенного конфигурирования и управления питанием). Его задача - обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы.
Принцип работы
Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language). Интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий. На практике таблицы пишуться на языке ASL и компилируются в AML.
Что должно быть реализовано
- Use system address map reporting interfaces to get the system address map on Intel Architecture (IA) platforms:
- INT 15H, E820H - Query System Address Map interface
- EFI GetMemoryMap() Boot Services Function
- Находить и применять таблицы ACPI - System Description Tables
- AML-интерпретатор.
- Поддержка программной модели событий ACPI включая прерывания SCI, управления фиксированными событиями, прерываниями EC, и поддержкой динамических устройств
- Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace.
- Внедрить поддержку следующих устройств
- Поддержка термальной модели ACPI
- Реализация Global Lock.
- Поддержка управления питанием
Состояния
Центральный процессор, устройства и вся система "в целом" могут находиться в различных состояниях, определённых в спецификации ACPI.
Глобальные состояния
Выделяют следующие основные состояния «системы в целом».
- G0 (S0) Нормальное
- G1 Сон (подразделяется на четыре промежуточных с S1 по S4)
- S1: Все кэши процессора сброшены, выполнение инструкций остановлено. Питание для процессора и памяти включено; состояние других устройств не определено
- S2: Отключен процессор
- S3: (Standby, Sleep, или Suspend to RAM) Включена оперативная память
- S4: (Hibernation или Suspend to Disk) Все содержимое оперативной памяти сохранено на диск и система выключена.
- G2 (S5) Программное выключение. G2 большей частью то же самое что и G3, но некоторые компоненты остаются включенными, для того чтобы система могла "проснуться" от событий клавиатуры, таймера, модема, сетевой карты или любого USB устройства.
- G3 Физическое выключение. Полное отключение питания всех компонентов системы, система готова к безопасной разборке (как правило работает только таймер RTC, питаемый батарейкой).
Состояния процессора:
- C0 — оперативный режим.
- C1 (Halt) — состояние в котором процессор не исполняет инструкции, но может незамедлительно вернуться в рабочее состояние.
- C2 (Stop-Clock) — состояние в котором процессор обнаруживается приложениями, но для перехода в рабочий режим требуется время.
- C3 (Sleep) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния.
Состояния устройств
- D0 — полностью оперативное состояние, устройство включено.
- D1 и D2 — промежуточные состояния, активность определяется устройством.
- D3 — устройство выключено.
Таблицы ACPI
Типы таблиц:
- Root System Description Pointer (RSDP)
- System Description Table Header
- Root System Description Table (RSDT)
- Fixed ACPI Description Table (FADT)
- Firmware ACPI Control Structure (FACS)
- Differentiated System Description Table (DSDT)
- Secondary System Description Table (SSDT)
- Multiple APIC Description Table (MADT)
- Smart Battery Table (SBST)
- Extended System Description Table (XSDT)
- Embedded Controller Boot Resources Table (ECDT)
- System Locality Distance Information Table (SLIT)
- System Resource Affinity Table (SRAT)