ає один недолік: процесор повинен опитувати пристрій доти, поки воно не завершить свою роботу.
2.Драйвер запускає пристрій і просить його видати переривання по закінченні введення-виведення. Після цього драйвер повертає дані, операційна система блокує програму виклику, якщо це потрібно, і починає виконувати інші завдання. Коли контролер виявляє закінчення передачі даних, він генерує переривання, щоб сигналізувати про завершення операції. Механізм реалізації вводу-виводу відбувається наступним чином (ріс.6.а):
Крок 1: драйвер передає команду контролеру, записуючи інформацію в регістри пристрої; контролер запускає пристрій введення-виведення.
Крок 2: після закінчення читання або запису контролер посилає сигнал мікросхемі контролера переривань.
Крок З: якщо контролер переривань готовий до прийому переривання, то він подає сигнал на певний контакт центрального процесора.
Крок 4: контролер переривань виставляє номер пристрої введення-виведення на шину так, щоб центральний процесор міг прочитати його і дізнатися, який пристрій завершило роботу. При прийомі центральним процесором переривання, вміст лічильника команд (PC) і слова стану процесора (PSW) поміщається в поточний стек, а процесор перемикається в привілейований режим роботи (режим роботи ядра операційної системи). Номер пристрої введення-виведення може використовуватися як індекс частини пам'яті, службовець для пошуку адреси обробника переривань даного пристрою. Ця частина пам'яті називається вектором переривань. Коли обробник переривань (частина драйвера пристрою, що послав переривання) починає свою роботу, він видаляє розташовані в стеку лічильник команд і слово стану процесора, зберігає їх і запитує пристрій, щоб отримати інформацію про його стан. Після того як обробка переривання завершена, управління повертається до працювала до цього програмі користувача, до тієї команди, виконання якої ще не було закінчено (рис. 6 б).
Рис. 6
3.Для введення-виведення інформації використовується контролер прямого доступу до пам'яті (DMA, Direct Memory Access), який керує потоком бітів між оперативною пам'яттю і деякими контролерами без постійного втручання центрального процесора. Процесор викликає мікросхему DMA, говорить їй, скільки байтів потрібно передати, повідомляє адреси пристрою і пам'яті, а також напрямок передачі даних і дозволяє мікросхемі діяти самій. По завершенні роботи DMA ініціює переривання, яке обробляється відповідним чином.
Переривання можуть відбуватися в невідповідні моменти, наприклад, під час обробки іншого переривання. З цієї причини центральний процесор володіє можливістю забороняти переривання і вирішувати їх пізніше. Поки переривання заборонені, всі пристрої, що завершили роботу, продовжують посилати свої сигнали, але робота процесора не переривається до тих пір, поки переривання не будуть вирішені. Якщо закінчують роботу відразу декілька пристроїв в той час, коли переривання заборонені, контролер переривань вирішує, яке з них повинно бути оброблено перший, зазвичай грунтуючись на статичних пріоритетах, призначених для кожного пристрою.
. Шини
Обчислювальна система Pentium має вісім шин (шина кеша, локальна шина, шина пам'яті, PCI, SCSI, USB, IDE і ISA). Кожна шина м...