Переривання (IRQ)
Кожна комп'ютерна система складається не тільки з основного процесора (ЦП) і пам'яті даних, але і з периферійних пристроїв, які вбудовані в корпус або підключені до зовнішніх інтерфейсів. Ці пристрої є пристроями введення та виведення. Наприклад, ви можете отримувати дані ззовні. Наприклад, типові входи, такі як рух миші, введення з клавіатури або мережевий трафік. Щоб процесор помітив, що дані очікують ззовні, має бути можливість перервати процесор у роботі.

- Для цього існує можливість циклічного опитування процесора для всіх пристроїв введення. Що, враховуючи безліч компонентів у комп’ютері, означало б, що процесор не буде зайнятий чимось іншим.
- Альтернативою є так званий запит на переривання (на переривання), який виникає, коли дані очікують ззовні. Для цього була створена можливість перервати основний процесор певним чином під час роботи.
Послідовність переривання
Якщо пристрій має дані, доступні для подальшої обробки, або просто хоче дати відповідь, запит на переривання, тобто запит на переривання (IRQ), надсилається процесору під час його поточної роботи. Це відбувається через переривання (рядок), призначене даному пристрою.
Наприклад, якщо на клавіатурі натиснута клавіша, контролер клавіатури надсилає процесору IRQ. Він перериває свою поточну діяльність і виконує команду за певною адресою пам'яті, яка залежить від входу IRQ і посилається на драйвер клавіатури. У подальших операціях читання та запису забезпечується поява букви на екрані.
Причини тригера переривання
Переривання спрацьовує для кожного критично важливого часу додатка, в якому дані повинні надсилатися процесору. Наступні дії можуть бути відповідальними за IRQ:
- Рух миші
- Отримання даних від модему
- Введення з клавіатури
- Запис звуку за допомогою звукової карти
- Зчитування з носія інформації
- Успішне написання
Щоб система працювала оптимально з точки зору користувача, зважування між перериваннями різне. Тож центральний процесор може подбати про важливі завдання. Однак у разі перевантаження важливі дані можуть не оброблятися процесором вчасно або лише із затримкою.
Управління перериваннями
Коли ще були плагіни ISA, переривання потрібно було налаштувати за допомогою перемичок. Пізніше з платіжними платами PCI переривання можна було встановити за допомогою програмного забезпечення. За допомогою APIC операційна система може самостійно управляти перериваннями. На цьому етапі користувачеві більше не потрібно надавати руку. Завдяки повністю автоматичному керуванню перериваннями APIC та операційною системою, любитель ПК був позбавлений одного з найбільш надокучливих завдань, які коли-небудь існували.
APIC (вдосконалений програмований контролер переривань), який не слід плутати з ACPI, - це блок управління перериваннями в комп’ютері.
У багатопроцесорних системах процесори мають локальний APIC, за допомогою якого вони спілкуються з іншими процесорами та I/O-APIC на материнській платі. Це необхідно для того, щоб при спрацьовуванні переривання було зрозуміло, хто з процесорів відповідає за це переривання.
За допомогою APIC операційна система може за умови, що вона підтримує APIC, призначати переривання кілька разів. З цієї причини APIC тепер інтегрований у кожен процесор і материнську плату.
Використання все більшої кількості карт розширення терміново вимагало підтримки APIC з боку чіпсету та операційної системи. Режим APIC вніс суттєві вдосконалення в архітектуру переривань ПК. Ресурсні конфлікти сьогодні практично не виникають.
Процедура в режимі APIC
Після запуску системи BIOS спочатку обробляє розподіл IRQ, щоб можна було використовувати пристрої. Наприклад, щоб мати можливість запустити операційну систему з жорсткого диска або іншого дисковода. Після запуску операційної системи вона бере під контроль управління IRQ та вносить зміни до розподілу IRQ BIOS.
Сучасні операційні системи обробляють управління IRQ на APIC-сумісному обладнанні дуже вміло і без ручного налаштування користувачем. З цієї причини ручна зміна розподілу IRQ не має сенсу і, як правило, взагалі неможлива. Зазвичай всі операційні системи встановлюються в режимі APIC.