Вопрос №1 «Организация ввода-вывода с использованием каналов ввода-вывод».
Каналы ввода/вывода
Расширение возможностей модулей ввода-вывода и предоставление им прав процессора со специализированным набором команд, ориентированных на операции ввода/ вывода является шагом максимального высвобождения ЦП от управления процессами ввода-вывода.
Работа канала ввода-вывода.
· ЦП дает указание процессору ввода-вывода выполнить хранящуюся в памяти вычислительной машины программу ввода/вывода.
· Процессор ввода-вывода извлекает и исполняет команды этой программы без участия центрального процессора
· Процессор ввода-вывода прерывает ЦП после завершения всей программы ввода/вывода.
В таком случае модули ввода-вывода называют каналом ввода/вывода.
Система ввода/вывода с каналом ввода-вывода характерна для больших универсальных вычислительных машин (мэйнфреймов), где проблема эффективной организации ввода-вывода и максимального высвобождения центрального процессора в пользу его основной функции стоит наиболее остро.
Система ввода-вывода с каналами ввода/вывода была предложена и реализована в вычислительных машинах семейства IBM 360 и получила дальнейшее развитие в семействах IBM 370 и IBM 390.
В вычислительных машинах с каналами ввода/вывода центральный процессор практически не участвует в непосредственном управлении внешними устройствами, делегируя эту задачу специализированному процессору, входящему в состав канала ввода-вывода.
Все функции ЦП сводятся к запуску и остановке операций в канале ввода вывода, а также проверке состояния канала и подключенных к нему внешних устройств.
Для этих целей ЦП использует лишь несколько (от 4 до 7) команд ввода/вывода.
Например, в IBM 360 таких команд четыре:
1. «Начать ввод/вывод»;
2. «Остановить ввод/вывод»;
3. «Проверить ввод/вывод»;
4. «Проверить канал».
Вопрос №2 «Канальная программа».
Канал ввода-вывода реализует операции ввода-вывода путем выполнения так называемой канальной программы.
Канальные программы для каждого внешнего устройства, с которым предполагается обмен информацией, описывают нужную последовательность операций ввода/вывода и хранятся в основной памяти вычислительной машины.
Роль команд в канальных программах выполняют управляющие слова канала, структура которых отличается от структуры обычной машинной команды.
Типовое управляющее слово канала содержит:
1. код операции, определяющий для канала ввода-вывода и внешнего устройства тип операции:
1.1.«Записать» (вывод информации из оперативной памяти во внешнее устройство),
1.2.«Прочитать» (ввод информации из внешнего устройства в оперативную память),
1.3.«Управление» (перемещение головок жесткого диска, магнитной ленты и т. п.);
2. указатели — дополнительные предписания, задающие более сложную последовательность операций ввода-вывода, например, при вводе пропускать отдельные записи или наоборот — с помощью одной команды вводить «разбросанный» по оперативной памяти массив как единый;
3. адрес данных, указывающий область памяти, используемую в операции ввода/ вывода;
4. счетчик данных, хранящий значение длины передаваемого блока данных.