Три амигос 2018 ACPI, OnNow и незабавно на разположение бр част I

Първите стъпки към намаляване на потреблението на енергия са направени Intel
обратно през 1989 г. През процесор 386SL появи режим SMM - Режим на Система за управление,
което позволи да изключи определени компоненти на системата и дори да спре
самия процесор.

Кой каза, че ACPI?

Какво е ACPI, в допълнение към директното декодирането на съкращения - Advanced
За енергийно потребление? Стандартът е точно това, което те казват,
в името си, това е. д. описанието на интерфейса, предоставен от операционната система
(ОС) унифициран достъп до енергоспестяващи функции на хардуера.
На теория, ACPI - е автоматизираното OSPM архитектура. Всичко ясно?
Всъщност, нищо загадъчно тази технология не е налице, с изключение на невероятното
изобилие от неразбираеми съкращения. OSPM трябва да се третира като Операционна система насочена
конфигуриране и управление на захранването - Конфигурация и управление на захранването
под контрола на операционната система. По-рано, преди появата на концепцията OSPM, всички операции на промяната
операционна настройките на хардуера (дънна платка, вътрешна и външни устройства,
вградени микроконтролери) са отгледани до BIOS на системата. Въпреки това, потребителите
Ние не може да бъде удовлетворена от тази ситуация. Те работят предимно с
Операционни системи и приложения, които имат най-пълната информация за техните желания
и предпочитания. Тук не можем да говорим за някакъв "конфликт на интереси"
и да се даде приоритет на човека. И тъй като не всеки иска на всяка минута
преконфигурира в компютъра с помощта на повече от неприятелски BIOS интерфейс,
трябва да се предостави на потребителя "лост" по дължина с помощта на
която той ще бъде в състояние, ако не и да се превърне компютър, пряко влияят
за пестене на енергия. Той се преследват тези алтруистични цели
създателите на спецификацията на ACPI: Microsoft, Intel, Toshiba, Compaq и Финикс.

В документа на 481 страници, озаглавен "Разширено конфигуриране и захранване
Interface Specification Revision 2.0 ", а не да говорим за конкретни препоръки
проектиране на хардуер или софтуер. Освен това, определянето на
списъка от функции, които са подходящи за всеки вид устройство е
по преценка на производителя. ACPI осигурява набор от правила, които да бъдат следвани
инженери, когато създавате свои собствени приложения на енергоспестяващи технологии.

Като цяло целия модел се основава на използването на ASL / тандем AML езици. на ASL
съставен фърмуер - методи за управление (контрол) методи, реализиране
определена конфигурация функция и управление на захранването.

Връзката между хардуер и софтуер се случва по време на събитието.
уведомление събитие се осъществява чрез генериране на контрол система за прекъсване
(SCI) - споделен прекъсва. Има три вида събития: прозрачни, за да
Операционна система (ОС Прозрачни събития), за прекъсване (Прекъсване на събитията) и хардуер (Hardware
Събития). Още от името става ясно, че прозрачен тип събитие за
изпълнява функции, които не се поддържат от операционната система (например в случай на "Наследство"
ACPI-несъвместимо OS) или просто не се нуждаят от внимание от нейна страна. прекъсва
пусне в действие манипулатори - програми, написани на ASL. железария
събития причинят някои безусловно действия от страна на системата, която не може да бъде
"Дискусия" (това може да бъде изключен операции, рестартиране, и така нататък.
г.).

Пряко свързани с контрол на температурата присвояване техника, която,
Между другото, според спецификацията на стандарти се измерва в градуси по Келвин. оборудване
следва да уведоми ACPI всяка температура промени от SCI-прекъсване.
Информация за които съществуват термални зони в системата и колко често
трябва да разпитва, се съдържа в _TZP на обекта. Разбира се, за създаването му
и актуализиране на отговорността на BIOS. контрол манипулатор стартира SCI
метод _TMP, сравнява текущата температура на всички термични зони с праг
стойност, получени за тях. Има четири прагове, всяка от които
Той има собствен метод на охлаждане. Тяхното значение е обяснено в таблицата.
Прагове са определени индивидуално за всяка зона и могат да се променят динамично,
понякога е необходимо, например в случай на промяна на устройството в слота подкрепа
замяна по (Device Bay, PC Card, и така нататък. д.). В допълнение, потребителят трябва да
да е в състояние да повлияе на охлаждане стратегия като човешки приоритети
рядко съвпадат с предпочитанията на компютъра. Приоритетите се променят ", като Карлсон"
- чрез обръщане на праговете по скалата на температура.

Критичната точка. Изключване на системата

Къщата, която е построена от Compaq, Intel, Microsoft,
Финикс и Toshiba: обекти и субекти

Изброяването е безкраен, и там е структура, описваща
възможности на този конкретен ACPI изпълнение (MADT), комплекти от регистри (Фиксирани
Игрални апарати) и събития (Фиксирани Feature събития). Някои от концепциите, когато се докосваме
а някои пропуснати поради неизпълнение, за да обясни съдържанието на пухкавите подробности за обема
на няколко страници от списания.

Там ще бъдат обсъдени изключително върху енергийното потребление. Стандартът ACPI
тяхната невъобразим брой: във всеки случай различен набор. те се различават
не само напрежение, ток стойност и честотата на часовника, но и скоростта на "пробуждане"
устройство. Нека започнем с глобалните държави, от които само четири:

  • G0 - нормална експлоатация;
  • G1 - "лек сън", от гледна точка на потребителя на
    машина е изключена, но контекстът текущата заявка се запазва;
  • G2 - "дълбок сън", контекстът е загубено;
  • G3 - механична система за изключване.

Под "контекст приложение" (система за връзка)
тук се отнася до сегашното състояние на процесора (регистри, знамена, кеш, и така нататък.
г.), съдържанието на RAM и инсталиране на чипсет дънната платка. Съответно,
от G1 по-бързо от "събуждането" на G2. В същото време, за да се върнете
от G2 до G0 OS рестартиране е необходимо, което не е необходимо в случай на преминаване
G1 -> G0. Но нивата на потребление на енергия за по-горните условия са
обратно пропорционална на "събуждане" на скоростта.

Вътре световни държави има по-подробна класификация: пет държави "
сън "(спи държави) от S1 до S5. Първият поддържа най-нисък процент
мощност, но тя дава възможност за бързо връщане към нормална работа. загубен
само данни от кеша на процесора (CPU, тъй като е напълно спряна)
OS трябва да се грижи за тяхното опазване. S2 - с точка на операционната система на оглед, почти
идентичен S1, с изключение на това, че захранването е изключено по принцип процесора. Всички големи
часовници са спрели, с изключение на тези, които са свързани с ъпгрейд RAM.
Следващата логична стъпка - общата мощност освен подсистема
Памет: Задържане-към-RAM, S3. BIOS е отговорен за възстановяването на контекст
контролер на паметта и кеш контролер. След настъпва откриване мощност
Всички устройства в гумите, така че устройството ще бъдат открити "горещи"
връзка. Дори и "по-дълбоко" е състояние S4 - Задържане на диск,
система в действителност изключен, но настоящите условия, включително образ памет ще
записан на диск. Възстановяване от S4, както и в предишния случай, средства
процеса на определяне на наличните шините (изброяване). По-икономичен, може би, може
да бъде само напълно изключен - S5, който въпреки името си, не го прави
Тя е състояние на сън. Петият етап по пътя "надолу" - е, че
ние наричаме плавно изключване, мека изключване. Няма събития (събуждане
събития) "събуждат" на системата (с изключение на натискане на бутоните на системата
блок) не могат.

Нека се обърнем към описанието на енергийните състояния на процесора - те са обозначени
буквата "С": C0, С1, С2 и С3. В функции С0 процесор и един
от основните начини за регулиране на потреблението на енергия е в промяната на работното
и неработни периоди. Използвайте двойка стойности: "ширина задължение" и "дълг
стойност ", първо определя продължителността на времето (цикъл), а вторият - съотношението
периоди на труд и почивка в нея. Стоп на процесора се извършва чрез премахване на
доставка на тактова честота. "Състояние на съня" номер 1 означава
намаляване на консумацията на енергия, без никакви външни прояви (за софтуер
сигурност). От това трябва да стане толкова бързо, че латентността
този процес не е фактор, който заслужава внимание от страна на операционната система.
ниво C2 обявена желание, той предлага по-ниско ниво на консумация на електроенергия,
от С1, а на изхода на държавата, декларирана в FADT маса и взети под внимание
OS. CPU трябва да поддържа съдържанието на кешовете си последователна (м. Е. За да проследите
операции в многопроцесорна среда, както и искания режим автобус магистър). ниво повече
дълбок "сън" на номер 3 позволява на процесора да се "хвърлят"
управляват своите скривалища в многопроцесорни среда, те обикновено могат да бъдат предварително
изчисти. Ако се опитате устройство за директен достъп до паметта
Шина режим в процесора да бъде освободен от състоянието на C3 (в С2 или С1). ако
искания към паметта станат по-чести, операционната система може да реши да го използвате по-късно
Само най-високо равнище "спящо" състояние, отколкото C3. C3 в списъка
краища, производителите имат право да покани всеки брой OS
(Съдейки по декларациите на структурата на данните, до 256 нива). настройките на ниво, както и
а именно потреблението на енергия и латентност на "пробуждане", трябва да
FADT записани в таблицата, и по този начин един ACPI съвместим с операционни системи ще получат всички необходими
информация за вземане на решения.

В допълнение към процесора и системата като цяло, набор от състояния и имам някои
устройство. Нулева състояние се нарича D0, и казва, че устройството
напълно и в готовност за използване (или вече в). последвано състояние
D1 и D2, като единствената разлика с точка OS точка - различна латентност
"пробуждане" и потребление на енергия нива. Те могат да бъдат приложени
както чрез намаляване на напрежението, тактова честота и предлагането, и изключвате
отделни модули на устройството. D3 - най-"Дълбок сън" с пълната
изключване на захранването. На свой ред, в рамките на всеки един D-разрешено състояние
поставите произволен брой повече "деликатни" нива на потребление на енергия,
да се включва само от софтуер (например, водача) и
няма да наруши общата концепция. По подразбиране, операционната система използва само две нива:
D0 и D3. Ако устройството поиска не, това се превръща в най-ниската държавата,
ако е необходимо, се отнасят до нея - тя е включена. Въпреки това, има още
Конкретни препоръки, свързани с някои видове устройства. Кратко резюме
основните функции за управление на захранването, които трябва да предоставят
различните им класове, са изброени в таблица. 2.

управление на захранването

Контекстът е загубена, на мотора, лазер и електроника не функционират,
консумация на енергия - не повече от 10% от D0. Флопи дискове Непознат
консумация на енергия граница

За Unix разработи набор от инструменти и библиотеки за интеграция
ACPI архитектура на системата. Същите пакети са на разположение за Linux и Windows,
Въпреки това, поради централизацията на актуализации за разпространение на данни OS има
повече допълнителни услуги, отколкото е необходимо. Основните компоненти на пакета
са AML преводач, дебъгер, софтуер за управление на пространството от имена (Namespace
Management), поддръжка на ACPI съвместим хардуер, някои
OSPM основни функции.

Формално, повечето Intel платформи съвременни чипсети съвместими с ACPI
(Като се започне от 440BX и EX), но не всички дънни платки работят двойно
Ел. Активна подкрепа за ACPI съобщиха от Али (Aladdin чипа от серията).
Изненадващо, VIA чипсет компании, които пряко участват развитие
спецификации не винаги отговарят на тях. Всички комплекти, етикетирани
брой 133 (с изключение на специални KN133 мобилна платформа AMD)
Те са единственият съвместим с АРМ. Само след идентификатора 266 в описанията
Apollo серия споменато ACPI и OnNow.

Чипсети от AMD, според описанието, няма да се признават нищо
неговата Intel-човек. Така например, в списъка на функциите за управление на захранването на периферната
Тир AMD-756 контролер на чипсет AMD-750 е споменато: пълна поддръжка на ACPI
1.0 и 1.2 APM, в частност, има плавно изключване режим, при включване на захранването-спре. систематичен
AMD-контролер 751 от същия набор е в състояние да контролира работата на процесора (Спиране / Stop-Грант / Sleep)
и да влезе в режим на включване на захранването-спре. Кратко описание на щатите AMD-760MP
следните условия за запазване на енергията за процесора - C2, C3; и за системата
- при включване на захранването-спре, спира до RAM.

Изводът е, че работата е, иновациите постепенно ще проникне в модерното
инженеринг и дизайн на софтуер, но не трябва да очакваме чудо. за изпълнение
всички тези добри намерения не се изискват усилия на някои от участниците
индустриална група. Достатъчно е само правилно да работи операционна система и софтуер, който интелигентно
се затваря и не вземете допълнителни ресурси. И накрая, еднозначно
има спешна нужда от внимателно написани и добре разработени шофьори
устройства. И до момента, когато всички по-горе и малко повече, освен
не се появи на нашите маси с вас, скъпи читатели, ще трябва да чакат обещаното
много по-дълго, отколкото традиционните три години. Между другото, защото те са отдавна отминали!

Както се подчертава в спецификацията, на ASL и AML - те са два различни езика,
но връзката между тях е толкова очевидно, колкото списък общност в C
и обект файл. В този случай, на ASL се събира в AML, съответно
и разшифрован съкращения: ACPI Източник език и ACPI машина език.
Двойка ASL + AML предоставя по-голяма свобода на възложителя, отколкото изглежда
на първо място. ASL може да бъде заменен от всеки друг език е по-удобно за всеки
конкретен случай, и пише компилатор, който превежда на програмата
в AML, за да се гарантира съвместимост със стандарта. ASL е обект
език. Обектите са описани от изрази като:

Обект: = ObjectType
FixedList variableList

FixedList - Тази оферта е фиксирана дължина на данните, които трябва да
присъства в спецификацията на всички деца, предмети и VariableList - да
дете предмети, които помагат да се опише обекта родител. тук
Описание термични зони:

ThermalZoneTerm: =
ThermalZone (
ThermalZoneName
// NameString
) itc_drupal_ObjectList

Сред видовете данни, въведени от създателите на езика, в допълнение към известните
Цяло число, низ и повече или по-малко ясно Операция Unit област Field,
Обичайно е малко поле, там също са доста екзотични
Устройство, процесор, захранване на ресурсите и термична Zone.

Сега няколко думи за AML. Неговото изпълнение е поверено на виртуална машина,
които трябва да имат ACPI съвместим с операционната система. Код AML, както и ASL, е
декларативно и по време на изпълнението на излъчване
в обекти ACPI с еднакви имена. Ако тръгнем от абстрактното към точката на реализация,
кодът се изписва като поток от байтове: инструкции и данни.