Acpi система управління живленням, що таке acpi

Зрозуміло, це спричинило за собою оновлення парку комп'ютерів. Як це зазвичай робиться, ми з вами, шановні Новомосковсктелі, дуже добре знаємо. За прикладом навіть ходити далеко не треба - достатньо згадати історію з PCI-E. Правда, парк комп'ютерів ще не повністю оновився, адже апгрейд обходиться досить дорого. Але, як не крути, плата без PCI-E вже вважається застарілою. З ACPI було точно так же, тільки користь від нього не так сумнівна. Швидше навіть навпаки, адже разом з ACPI прийшов APIC, а це значить, що одне переривання тепер могло використовуватися декількома пристроями! Для того часу це була справжня сенсація. Першим процесором з підтримкою ACPI можна вважати найбільш ранній Celeron, однак підтримка нового інтерфейсу була реалізована настільки криво, що цю функцію доводилося відключати. Важливо також відзначити, що ACPI остаточно витіснив Plug and Play і, за словами творців, "забезпечив використання існуючих інтерфейсних роз'ємів більш безпечним і потенційно більш ефективним способом". Крім ділянки коду BIOS, до складу ACPI також входила поліпшена схема управління живленням (Advanced Power Management), прикладний програмний інтерфейс (API), спеціальний машинний мову (ACPI Machine Language) і ще деякі корисні речі. З'явився новий термін - OS Power Management, де ACPI, зрозуміло, відводилася головна роль.

Основні цілі розробки

1. Комп'ютерна система повинна виконувати конфігурацію пристроїв програмними засобами. Управління харчуванням повинно бути більше
функціональним і безпечним.
2. Використання ПК має стати більш економічним.
3. Розробники обладнання мають максимальну свободу при проектуванні готових систем: від найлегших рішень до самих екстремальних при повній підтримці ОС.
4. Політика управління живленням занадто складна для реалізації в ROM BIOS, тому повинна здійснюватися виключно самої ОС.
5. Уніфікація всіх алгоритмів харчування в єдиний стандарт ACPI дозволить позбутися від конфліктів операційної системи і BIOS'а в питаннях конфігурації пристроїв.
6. ОС розвивається незалежно від апаратного забезпечення, тому на всіх ACPI-сумісних машинах можна буде домогтися збільшення
продуктивності і стабільності за рахунок зміни операційної системи.
Потрібно сказати, що розробники своїх цілей досягли. Варто розглянути структуру роботи ACPI докладно.

Acpi система управління живленням, що таке acpi
Щоб зрозуміти, як працює та чи інша технологія, необхідний хороший приклад. У технічній документації розробники пишуть наступне: "Припустимо, що ОС має політику поділу всіх запитів вводу / виводу на ледачих і неледачих. Ледачі запити (редагування тексту або електронних таблиць) об'єднуються в групи і виконуються пристроєм тільки тоді, коли воно починає працювати з будь- або _другой_ причини. неліниві операції змушують пристрій працювати при першій же відправці запиту ". Для ОС важливо розрізняти, які операції є ледачими, а які - ні. Крім того, система повинна знати стан всіх своїх пристроїв, адже вимкнений девайс ніколи нічого робити не стане. Все це забезпечує ACPI. У той час, коли якась залізяка простоює без діла, ACPI-драйвер знижує їй потужність харчування і разом з цим зменшує загальне енергоспоживання працюючої системи. Уявіть, що у вашому системному блоці встановлений автовідповідач. Його завдання - відповідати на вхідні дзвінки. Зрозуміло, вам дзвонять не завжди, тому більшу частину часу автовідповідач абсолютно нічого не робить, дарма споживаючи дорогоцінну електроенергію. Це дуже нераціонально. Тому ACPI створює девайсу спеціальну політику поведінки, згідно з якою він входить в стан глибокого сну, однак при вхідному дзвінку пристрій прокинеться протягом однієї секунди і відповість на виклик. Зрозуміло, є одне але: автовідповідач обов'язково повинен бути ACPI-сумісним.

Як було сказано вище, з'явилося нове стан обладнання - сплячий режим. Стан усіх пристроїв зберігається на жорсткий диск, а потім може бути відновлено при наступному завантаженні операційної системи. Переваги сплячого режиму очевидні. Це швидкий старт системи, можливість продовження роботи з того місця, де зупинився в минулий раз, практично моментальне вимикання. До мінусів можна віднести лише обов'язкову наявність файлу hiberfil.sys розміром з оперативку і залишаються в пам'яті невивантаженим dll'кі, які з часом гальмують роботу. Проте, ця фіча добре прижилася в народі, і багато нею користуються. Виробники корпусів стали навіть випускати моделі з двома кнопками: включення / вимикання і сплячий режим. Відтепер будь-яка кнопка на системному блоці (крім Reset, звичайно) є програмованої - ACPI дозволяє перевизначати їх. Відкрийте аплет Електроживлення в Панелі управління, вкладка Додатково. Бачите, тут можна перепризначити дії кнопок на вашому корпусі. Завдяки можливостям ACPI ми можемо відправляти комп'ютер в сплячий режим після натискання кнопки Power на системному блоці (якщо системний блок ATX - втім, AT вже можна знайти тільки в музеї). \ Електропітаніе.jpg. \ ACPI.jpg Всі пристрої підключаються до віртуальної ACPI-шині, хоча реальний введення / виведення йде через звичайні інтерфейси (IDE, AGP і т.д.). У цьому можна переконатися, якщо в диспетчері пристроїв в меню Вид вибрати пункт Пристрої з підключення. Спочатку Windows завантажує ACPI-драйвер, запитувач ACPI-контролер на предмет підключених до нього пристроїв, головним з яких є PCI-шина. Потім виявляються підключення плати розширення, і процес повторюється до тих пір, поки не будуть визначені всі шини і підключення до них пристрої. \ Device.jpg ACPI складається з трьох компонентів: ACPI-регістри, ACPI BIOS і ACPI-таблиця.

ACPI-таблиця. ACPI-таблиця описує інтерфейси апаратних засобів. Деякі з цих описів можуть обмежувати використання пристроєм будь-яких функцій, але більшість з них дозволяють пристроям виконувати довільні послідовності операцій. ACPI-таблиця містить так звані блоки визначення (Definition Blocks), які можуть бути запрограмовані з-під ОС. Іншими словами, ACPI використовує вбудований інтерпретатор псевдокоду, званий ACPI Machine Language (AML). AML виконує код, що міститься в блоках визначення.
ACPI-регістри. Тут міститься обмежена частина опису інтерфейсів з ACPI-таблиць для швидкого доступу до таких даних.
ACPI BIOS. Це частина коду BIOS, яка сумісна з ACPI-специфікаціями. Як правило, це код, який відповідає за завантаження, засипання / пробудження і перезавантаження машини. ACPI-таблиці також забезпечуються за рахунок ACPI BIOS.

Спеціальна таблиця описує поведінку звичайних і ACPI-сумісних програмних і апаратних засобів.

Схожі статті