Канал вводу-виводу

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Канал вводу-виводу як структурний елемент ЕОМ (ПВВ — пристрій вводу виводу)

Канал вводу-виводу (англ. IOC - input-output channel) — один з базових пристроїв обчислювальної системи (разом з процесором та оперативною пам'яттю), що забезпечує управління периферійними пристроями та інформаційний обмін між ними та пам'яттю ЕОМ. Застосовуються в мейнфреймах. Управління каналом забезпечується за допомогою окремих інструкцій процесора, а управління пристроями здійснює канал — через власні канальні програми, які складаються з послідовності спеціальних командних слів каналу (англ. Channel Command Word, CCW).

Призначення каналів[ред.ред. код]

Канал вводу-виводу — самостійний в логічному відношенні пристрій і, фактично, може розглядатись як спеціалізований і вбудований в ЕОМ процесор. В сучасних машинах канали називають периферійними процесорами або процесорами вводу-виводу.

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

Види каналів[ред.ред. код]

За способом буферизації даних канали поділяються на:

  1. Байт-мультиплексний канал — для обслуговування повільних периферійних пристроїв (наприклад, пристроїв друку) з поперемінним підключенням до декількох пристроїв для передачі невеликих блоків даних (для окремих пристроїв — від 1-го байту).
  2. Селекторний канал — для обслуговування швидких периферійних пристроїв з вбудованим буфером (наприклад, НЖМД) з підключенням до окремого пристрою для передачі відносно великих блоків даних (в залежності від типу пристроїв — до декількох кілобайт).
  3. Блок-мультиплексорного канал — аналогічний селекторному каналу, але забезпечує одночасне обслуговування декількох пристроїв шляхом поперемінного підключення як байт-мультиплексний канал.

Програмування каналів[ред.ред. код]

Командне Cлово Каналу[ред.ред. код]

Командне Cлово Каналу англ. Channel Command Word, CCW) — керуюча інструкція каналу вводу-виводу. Логічно пов'язана послідовність CCW складала канальну програму, яку канал починав виконувати для зовнішнього пристрою з метою здійснення операцій читання/запису даних або управління пристроєм.

Виконання канальної програми розпочиналось в результаті виконання процесором керуючої інструкції SIO (англ. Start Input-Output; Розпочати Ввод-Вивід), яка містила номер каналу та пристрою для вводу-виводу. Після отримання SIO канал розпочинав виконання власної канальної програми, адреса якої визначалась спеціальною змінною CAW (англ. Channel Address Word; Адресне Слово Каналу), що містилась в ОП за фіксованою адресою.

В IBM System/360, IBM System/370 Командне Слово Каналу мало довжину 64 біти і включало 8 біт з кодом інструкції, 24 біти з адресою блоку даних, 16 біт довжини блоку даних. В окремих моделях каналів підтримувалась спеціальна інструкція переходу в канальній програмі.

Адресне Слово Каналу[ред.ред. код]

Адресне Слово Каналу (англ. Channel address word, CAW) міститься в ОП за фіксованою адресою (на ранніх платформах — 0х48), визначає адресу канальної програми і встановлюється перед виконанням операції SIO (англ. Start Input-Output).

Слово Стану Каналу[ред.ред. код]

Слово Стану Каналу (англ. Channel status word, CSW) записується в ОП за фіксованою адресою (на ранніх платформах — 0х40) в результаті переривання вводу-виводу. Містить адресу пристрою, від якого надійшло переривання та іншу інформацію.

Див. також[ред.ред. код]

Посилання[ред.ред. код]

Джерела[ред.ред. код]

  • Райков Л.Д. Принципы работы системы ИБМ/370 — М:. Мир, 1975, 576 с.