ACPI/ru

From KolibriOS wiki
Revision as of 12:27, 22 June 2010 by XVilka (talk | contribs) (Добавлено краткое описание AML)
Jump to navigation Jump to search

ACPI - Advanced Configuration and Power Interface (интерфейс расширенного конфигурирования и управления питанием). Его задача - обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы.

Спецификация ACPI определяет следующие семь глобальных состояний: 1.G0 (S0) Нормальное 2. G1 Сон (подразделяется на четыре промежуточных с S1 по S4) 2a. S1: Все кэши процессора сброшены, выполнение инструкций остановлено. Питание для процессора и памяти включено; состояние других устройств не определено 2b. S2: Отключен процессор 2c. S3: (Standby, Sleep, или Suspend to RAM) Включена оперативная память 2d. S4: (Hibernation или Suspend to Disk) Все содержимое оперативной памяти сохранено на диск и система выключена. 3. G2 (S5) Программное выключение. G2 большей частью то же самое что и G3, но некоторые компоненты остаются включенными, для того чтобы система могла "проснуться" от событий клавиатуры, таймера, модема, сетевой карты или любого USB устройства. 4. G3 Физическое выключение. Полное отключение питания всех компонентов системы, система готова к безопасной разборке (как правило только работает только таймер RTC, питаемый батарейкой).

Состояния процессора: 1.C0 — оперативный режим. 2.C1 (Halt) — состояние в котором процессор не исполняет инструкции, но может незамедлительно вернуться в рабочее состояние. 3.C2 (Stop-Clock) — состояние в котором процессор обнаруживается приложениями, но для перехода в рабочий режим требуется время. 4.C3 (Sleep) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния.

Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language). Интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий. На практике таблицы пишуться на языке ASL и компилируются в AML.