logo
AOM / Мельник А

11.7.1. Принципи введення-виведення під керуванням периферійних процесорів

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

414

ня або запису. У випадку невдачі, обов'язок по вживанню відповідних заходів лежить на процесорі. Тому, введення системи прямого доступу до пам'яті вимагає лише трохи меншої участі процесора, ніж при керованому перериваннями введенні-виведенні. Такі підходи до організації введення-виведення допустимі для малих систем, орієнтованих на одного користувача, проте, вони не є ефективними для великих систем, орієнтованих на багатьох користувачів, як наприклад, великі універсальні комп'ютери - мейнфрейми. Більшість мейнфреймів використовують інтелектуальний вид інтерфейсу прямого до­ступу до пам'яті, відомого як канальне введення-виведення.

При використанні канального введення-виведення один або більше процесорів вве­дення-виведення, які ще називають каналами, керують різними трактами введення-ви­ведення. Тракти для "повільних" пристроїв, як, наприклад, термінали і принтери, мо­жуть комбінуватися (мультиплексуватися), дозволяючи керування деякою кількістю цих пристроїв тільки одним процесором введення-виведення. В мейнфреймах фірми IBMпроцесор введення-виведення, який керує мультиплексованим канальним трактом, називають мультиплексним каналом (МПК). Канали для дисководів й інших "швидких" пристроїв називають селекторними каналами (СК).

Процесори введення-виведення оптимізують для організації виконання операцій введення-виведення. На відміну від схем прямого доступу до пам'яті, процесори вве­дення-виведення мають здатність виконувати програми, які включають арифметично-логічні команди та команди переходу. На рис. 11.14 наведена спрощена конфігурація ка­нального введення-виведення.

Процесори введення-виведення виконують програми, які розміщені центральним процесором в основній пам'яті. Ці програми, складаючись з серій слів команд каналу, включають не тільки фактичні команди пересилання, але і команди, які керують при-

415

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

Головна відмінність між автономним прямим доступом до пам'яті і канальним вве-денням-виведенням полягає в більш широких можливостях процесора введення-виве­дення. Процесор введення-виведення забезпечує дотримання протоколів, видає команди пристрою, транслює коди зовнішньої пам'яті до кодів основної пам'яті, і може перенести повні файли або групи файлів незалежно від центрального процесора. Центральному процесору комп'ютера належить лише створити команди програми для операцій вве­дення-виведення і вказати процесору введення-виведення, де їх знайти.

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