Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6772

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

414

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

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

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

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


415

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

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

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

11.7.2. Причини застосування каналів введення-виведення

Поява каналів введення-виведення викликана необхідністю:

  • створення комп'ютерних систем із змінним складом обладнання;

  • забезпечення паралельної роботи пристроїв введення-виведення по відношен­ню до інших пристроїв введення-виведення і до процесора;

  • уніфікація програмування введення-виведення;

  • забезпечення реакції обчислювальних засобів на багатоманітність ситуацій, які виникають в пристроях введення-виведення (готовність, збій і т. п.);

  • узгодження швидкості роботи процесора і пристроїв введення-виведення;

  • розвантаження процесора від виконання функцій керування обміном.

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


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


476

11.7.3. Функції каналів введення-виведення

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

До функцій каналів ввєдєння-виведення належать наступні:

  1. Визначення типу операції ввєдєння-виведення. Тип операції ввєдєння-виведення задається кодом операції КОП.

  2. Організація ланцюга операцій. Ланцюг операцій - це послідовність КС, кожне з яких описує нову операцію ввєдєння-виведення над новим масивом інформації. Для ор­ганізації ланцюга операцій до складу КС вводять розряд вказівника ланцюга операцій ВЛО. Якщо ВЛО = 1, то після виконання КС вибирається нове КС, якщо ВЛО = 0, то дане КС є останнім в ланцюгу.

  3. Визначення області пам'яті. Область пам'яті задається початковою адресою ПА і розміром області X, тобто кількістю слів, починаючи від початкового слова.

  4. Організація ланцюга даних. Ланцюг даних організується при роботі з масивами даних. Ланцюг даних - це послідовність з декількох КС. Після закінчення ввєдєння-ви­ведення одного масиву даних, канал переходить до іншого КС. Для керування ланцюгом даних використовується двійковий розряд - вказівник ланцюга даних ВЛД, який при­ймає одне з двох значень - 0 або 1. Якщо вказівник ланцюга рівний 1, то канал вибирає з пам'яті наступне КС, якщо вказівник ланцюга рівний 0, то операція закінчується.

  5. Забезпечення пропуску інформації. Записуються/зчитуються окремі частини ма­сиву та пропускаються дані, які не є потрібними в конкретному випадку. Для реалізації пропуску інформації в керуюче слово каналу вводиться розряд вказівника пропуску ін­формації ВПІ. Якщо ВПІ = 0, то виконується КС, якщо ВПІ = 1, то запис/зчитування не проводиться, лише підраховуються дані.

Утворення ланцюгів даних і операцій можна комбінувати. В загальному випадку ланцюг КС - це програма каналу.

6. Організація переривання ввєдєння-виведення.

Канал інформує центральний процесор про хід ввєдєння-виведення, посилаючи за­пити переривання. Два основних види переривань - програмно-кероване переривання і переривання, яке викликане закінченням ввєдєння-виведення. На наявність програмно-керованого переривання вказує відповідний розряд в КС, який називають вказівником програмно-керованого переривання ВПКП. Якщо ВПКП = 1, то апаратура каналу фор­мує запит переривання, виконуючи одночасно поточну операцію ввєдєння-виведення. Переривання, зв'язані з закінченням ввєдєння-виведення, формуються, якщо виконані всі операції в ланцюгу КС, або виявлені помилки.


417

11.7.4. Керуюча інформація каналу введення-виведення

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

Команди введення-виведення керують роботою центрального процесора. Послідов­ність команд введення-виведення - це програма центрального процесора по введенню-виведенню інформації. Формат команди введення-виведення наведено на рис. 11.17.

До складу команди центрального процесора входять наступні поля: КОП - поле коду операції, яке задає операції запуску введення-виведення, припинення введення-виве­дення, опит стану каналу, опит стану пристрою введення-виведення; поле номера кана­лу НК; поле номера пристрою введення-виведення НПВВ; поле адреси керуючого слова каналу АКС.

Код операції керуючого слова каналу, який наведено на рис. 11.15, задає операцію введення інформації в основну пам'ять; операцію зчитування інформації з основної пам'яті в периферійний пристрій, опит стану периферійного пристрою, операцію видачі в периферійний пристрій наказу типу "перехід в каналі".

Наказ - це частина КС (або код, який адресується КС) - код, який приймається з каналу і виконується периферійним пристроєм. Наказ містить інформацію, специфіч­ну для даного периферійного пристрою (магнітного диску, магнітної стрічки, оптичної пам'яті, давача і т. д.).

Коди стану інформують центральний процесор про стан каналу та периферійного пристрою (справність, готовність і т. д.).

11.7.5. Мультиплексний та селекторний канали введення-виведення

За здатністю до одночасного обслуговування декількох периферійних пристроїв роз­різняють два види каналів: мультиплексний і селекторний.

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