Функционирование системы ввода-вывода при обмене данными

Если на процессор возложить функции управления всеми операциями обмена (ввода-вывода), то у него не хватит времени на выполнение своей главной задачи — преобразования информации, то есть на выполнение прикладной программы. Это обусловлено широким диапазоном скоростей работы различных ПУ, сложностью управления ими и большим разнообразием и количеством разных ПУ.
Для оптимизации загрузки процессора (при выполнении операций ввода-вывода) функции управления обменом распределяются на несколько устройств: процессор, главный контроллер ввода-вывода, контроллер конкретного ПУ, устройство управления ПУ.
Первые три устройства находятся в системном блоке,а четвертое — всамом ПУ. Такое распределение функций позволяет совместить во времени различные по своим функциям устройства и оптимизировать их загрузку при мультипрограммном режиме работы компьютера. Функциональная схема системы ввода-вывода, в которой рассматривается реализация процесса обмена (ввод) приведена на Рис . 6.

1. Состояние главного контроллера.
2. Команда ввода-вывода.
З. Адрес контроллера ввода-вывода.
4. Состояние контроллера ввода-вывода.
5. Адрес вектора прерывания.
б. Команда драйвера.
7. Команда главного контроллера.
8. Состояние периферийных устройств.
9. Приказ периферийному устройству на выполнение операции ввода-вывода.
10. Выполнение операции ввода-вывода.

Рис. 6. Функциональная схема системы ввода-вывода.

Характерно, что компоненты схемы — главный контроллер ввода-вывода, контроллер интерфейса ввода-вывода и периферийное устройство имеютодинаковую структуру, состоящую из:

а) схемы управления;
б) регистра состояния;
в) регистра управления;
г)регистра данных.

Данная схема имеет обобщающий характер в том смысле, что онаориентирована не на какую-либо ЭВМ, а содержат компоненты, которые входят в любую ЭВМ.

В суперЭВМ это практически так, как в приведенной схеме, а в ПЭВМ некоторые компоненты могут быть существенно упрощены.

Рассмотрим порядок функционирования компонентов системы. Перед тем, как начать обмен, инициатор обмена — процессор с помощью слова состояния канала убеждается, что канал готов к работе (1).

Процессор посылает в главный контроллер ввода-вывода соответствующую команду (2), и канал приступает к управлению вводом-выводомс помощью специальной программы канала. Предварительно процессор получает от канала адрес вектора прерывания (5) и генерирует первую команду драйвера, в которой указывается ПУ (6), передает его (вектор) в регистр управления каналом (6), после чего процессор отключается от управления вводом-выводом, и функции управления берет на себя главный контроллер.
Далее, канал обращается к контроллеру интерфейса ввода - вывода (по адресу контроллера, который содержится в первой команде драйвера (З)) и, получив слово состояния контроллера о его готовности (4), передает ему управляющий приказ — команду канала (7). После этого главный контроллер может переходить к работе с контроллером другого ПУ.

Контроллер интерфейса ввода-вывода (контроллер ПУ) принимает эстафету управления вводом-выводом, формирует и передает в блок управления ПУ управляющий код (9), если состояние ПУговорит о его готовности к работе (8).
Затем ПУ приступает к процессу передачи (приема) данных (10).
При реализации такой многоуровневой системы управления вводом-выводом для связи устройств (модулей), входящих в СВВ, используются два вида интерфейсов:
а) системные (внутренние) интерфейсы (на рисунке системная шина);
б) внешниеинтерфейсы ПУ — интерфейсы периферийных устройств подсоединения ПУ к системе ввода-вывода.