Difference between revisions of "ACPI/ru"

From KolibriOS wiki
Jump to navigation Jump to search
(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 организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий 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) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния.
  
Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language). Интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий.
+
==== Состояния устройств ====
На практике таблицы пишуться на языке ASL и компилируются в AML.
+
 
 +
* D0 — полностью оперативное состояние, устройство включено.
 +
* D1 и D2 — промежуточные состояния, активность определяется устройством.
 +
* D3 — устройство выключено.
  
Что должно быть реализовано:
+
=== Таблицы ACPI ===
* 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
+
<!-- Asper: Может быть немного текста о самих таблицах, для чего используются порядок обнаружения и т.д.? -->
** EFI GetMemoryMap() Boot Services Function
 
* Находить и применять таблицы ACPI  - System Description Tables
 
* AML-интерпретатор.
 
* Поддержка программной модели событий ACPI включая прерывания SCI, управления фиксированными событиями, прерываниями EC, и поддержкой динамических устройств
 
* Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace.
 
* Внедрить поддержку следующих устройств
 
** Embedded Controller
 
** GPE Block
 
** Module Device
 
* Поддержка термальной модели ACPI
 
* Реализация Global Lock.
 
* Поддержка управления питанием
 
  
 
Типы таблиц:
 
Типы таблиц:
* 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)