ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6772
Скачиваний: 22
414
ня або запису. У випадку невдачі, обов'язок по вживанню відповідних заходів лежить на процесорі. Тому, введення системи прямого доступу до пам'яті вимагає лише трохи меншої участі процесора, ніж при керованому перериваннями введенні-виведенні. Такі підходи до організації введення-виведення допустимі для малих систем, орієнтованих на одного користувача, проте, вони не є ефективними для великих систем, орієнтованих на багатьох користувачів, як наприклад, великі універсальні комп'ютери - мейнфрейми. Більшість мейнфреймів використовують інтелектуальний вид інтерфейсу прямого доступу до пам'яті, відомого як канальне введення-виведення.
При використанні канального введення-виведення один або більше процесорів введення-виведення, які ще називають каналами, керують різними трактами введення-виведення. Тракти для "повільних" пристроїв, як, наприклад, термінали і принтери, можуть комбінуватися (мультиплексуватися), дозволяючи керування деякою кількістю цих пристроїв тільки одним процесором введення-виведення. В мейнфреймах фірми IBM процесор введення-виведення, який керує мультиплексованим канальним трактом, називають мультиплексним каналом (МПК). Канали для дисководів й інших "швидких" пристроїв називають селекторними каналами (СК).
Процесори введення-виведення оптимізують для організації виконання операцій введення-виведення. На відміну від схем прямого доступу до пам'яті, процесори введення-виведення мають здатність виконувати програми, які включають арифметично-логічні команди та команди переходу. На рис. 11.14 наведена спрощена конфігурація канального введення-виведення.
Процесори введення-виведення виконують програми, які розміщені центральним процесором в основній пам'яті. Ці програми, складаючись з серій слів команд каналу, включають не тільки фактичні команди пересилання, але і команди, які керують при-
415
строями введення-виведення. Названі команди включають різні види ініціалізацій пристрою, відторгнення сторінки принтером, команди перемотування стрічки та інші. Як тільки програма введення-виведення була розміщена в пам'яті, процесор комп'ютера видає команду старту підканалу, інформуючи процесор введення-виведення про місце розташування програми в пам'яті. Після того, як процесор введення-виведення завершив свою роботу, він розміщує інформацію про завершення в пам'яті та відправляє переривання центральному процесору комп'ютера. Центральний процесор тоді одержує інформацію про завершення і вживає заходи по виходу з переривання.
Головна відмінність між автономним прямим доступом до пам'яті і канальним вве-денням-виведенням полягає в більш широких можливостях процесора введення-виведення. Процесор введення-виведення забезпечує дотримання протоколів, видає команди пристрою, транслює коди зовнішньої пам'яті до кодів основної пам'яті, і може перенести повні файли або групи файлів незалежно від центрального процесора. Центральному процесору комп'ютера належить лише створити команди програми для операцій введення-виведення і вказати процесору введення-виведення, де їх знайти.
Подібно до автономного прямого доступу до пам'яті, процесор введення-виведення повинен забрати від центрального процесора цикли звернення до пам'яті. На відміну від автономного прямого доступу до пам'яті, системи введення-виведення обладнані окремими шинами введення-виведення, які допомагають звільнити центральний процесор від виконання введення-виведення. Копіюючи файл з диску на стрічку, наприклад, процесор введення-виведення використовує системну шину пам'яті тільки для вибору його команд з основної пам'яті. Остання частина передачі проводиться використовуючи лише шину введення-виведення. Завдяки широким функціональним можливостям та шинній ізоляції, канальне введення-виведення використовується в середовищах діалогової високопродуктивної обробки запитів, де його вартість і складність можуть бути виправдані.
11.7.2. Причини застосування каналів введення-виведення
Поява каналів введення-виведення викликана необхідністю:
-
створення комп'ютерних систем із змінним складом обладнання;
-
забезпечення паралельної роботи пристроїв введення-виведення по відношенню до інших пристроїв введення-виведення і до процесора;
-
уніфікація програмування введення-виведення;
-
забезпечення реакції обчислювальних засобів на багатоманітність ситуацій, які виникають в пристроях введення-виведення (готовність, збій і т. п.);
-
узгодження швидкості роботи процесора і пристроїв введення-виведення;
-
розвантаження процесора від виконання функцій керування обміном.
Канал (пристрій обміну, процесор введення-виведення) - спеціальний уніфікований пристрій керування вводом-виводом, який забезпечує обмін інформацією між ядром комп'ютера (процесором і основною пам'яттю), та периферійними пристроями з здійсненням паралельної роботи змінного набору периферійних пристроїв різних типів.
При цьому в комп'ютері повинні бути уніфіковані шини, схеми підключення, сигнали та алгоритми керування обміном, формат і множина команд процесора.
476
11.7.3. Функції каналів введення-виведення
Функції каналів ввєдєння-виведення залежать від типу комп'ютера. В великих комп'ютерних системах канал - самостійний в логічному відношенні пристрій, який працює за відповідною програмою. Він звільняє процесор від багатьох допоміжних операцій ввєдєння-виведення. Функції каналів у наведеному на рис. 11.15 форматі керуючого слова (КС) каналу.
До функцій каналів ввєдєння-виведення належать наступні:
-
Визначення типу операції ввєдєння-виведення. Тип операції ввєдєння-виведення задається кодом операції КОП.
-
Організація ланцюга операцій. Ланцюг операцій - це послідовність КС, кожне з яких описує нову операцію ввєдєння-виведення над новим масивом інформації. Для організації ланцюга операцій до складу КС вводять розряд вказівника ланцюга операцій ВЛО. Якщо ВЛО = 1, то після виконання КС вибирається нове КС, якщо ВЛО = 0, то дане КС є останнім в ланцюгу.
-
Визначення області пам'яті. Область пам'яті задається початковою адресою ПА і розміром області X, тобто кількістю слів, починаючи від початкового слова.
-
Організація ланцюга даних. Ланцюг даних організується при роботі з масивами даних. Ланцюг даних - це послідовність з декількох КС. Після закінчення ввєдєння-виведення одного масиву даних, канал переходить до іншого КС. Для керування ланцюгом даних використовується двійковий розряд - вказівник ланцюга даних ВЛД, який приймає одне з двох значень - 0 або 1. Якщо вказівник ланцюга рівний 1, то канал вибирає з пам'яті наступне КС, якщо вказівник ланцюга рівний 0, то операція закінчується.
-
Забезпечення пропуску інформації. Записуються/зчитуються окремі частини масиву та пропускаються дані, які не є потрібними в конкретному випадку. Для реалізації пропуску інформації в керуюче слово каналу вводиться розряд вказівника пропуску інформації ВПІ. Якщо ВПІ = 0, то виконується КС, якщо ВПІ = 1, то запис/зчитування не проводиться, лише підраховуються дані.
Утворення ланцюгів даних і операцій можна комбінувати. В загальному випадку ланцюг КС - це програма каналу.
6. Організація переривання ввєдєння-виведення.
Канал інформує центральний процесор про хід ввєдєння-виведення, посилаючи запити переривання. Два основних види переривань - програмно-кероване переривання і переривання, яке викликане закінченням ввєдєння-виведення. На наявність програмно-керованого переривання вказує відповідний розряд в КС, який називають вказівником програмно-керованого переривання ВПКП. Якщо ВПКП = 1, то апаратура каналу формує запит переривання, виконуючи одночасно поточну операцію ввєдєння-виведення. Переривання, зв'язані з закінченням ввєдєння-виведення, формуються, якщо виконані всі операції в ланцюгу КС, або виявлені помилки.
417
11.7.4. Керуюча інформація каналу введення-виведення
Існує 4 види керуючої інформації каналу введення-виведення: команди центрального процесора, керуюче слово каналу, накази периферійним пристроям та коди стану периферійних пристроїв і каналів. На рис. 11.16 наведено закріплення керуючої інформації каналу за пристроями комп'ютера.
Команди введення-виведення керують роботою центрального процесора. Послідовність команд введення-виведення - це програма центрального процесора по введенню-виведенню інформації. Формат команди введення-виведення наведено на рис. 11.17.
До складу команди центрального процесора входять наступні поля: КОП - поле коду операції, яке задає операції запуску введення-виведення, припинення введення-виведення, опит стану каналу, опит стану пристрою введення-виведення; поле номера каналу НК; поле номера пристрою введення-виведення НПВВ; поле адреси керуючого слова каналу АКС.
Код операції керуючого слова каналу, який наведено на рис. 11.15, задає операцію введення інформації в основну пам'ять; операцію зчитування інформації з основної пам'яті в периферійний пристрій, опит стану периферійного пристрою, операцію видачі в периферійний пристрій наказу типу "перехід в каналі".
Наказ - це частина КС (або код, який адресується КС) - код, який приймається з каналу і виконується периферійним пристроєм. Наказ містить інформацію, специфічну для даного периферійного пристрою (магнітного диску, магнітної стрічки, оптичної пам'яті, давача і т. д.).
Коди стану інформують центральний процесор про стан каналу та периферійного пристрою (справність, готовність і т. д.).
11.7.5. Мультиплексний та селекторний канали введення-виведення
За здатністю до одночасного обслуговування декількох периферійних пристроїв розрізняють два види каналів: мультиплексний і селекторний.
Мультиплексний канал дозволяє одночасно обслуговувати декілька паралельно працюючих периферійних пристроїв. Кожний периферійний пристрій працює з каналом в визначений сеанс зв'язку. Для різних периферійних пристроїв існують свої пріоритети. Тому при одночасному запиті на обслуговування може бути черга. Звідси зрозуміло, що