Технически система ввода/вывода в рамках ВМ реализуется комплексом модулей ввода/вывода (МВВ). Модуль ввода/вывода выполняет сопряжение ПУ с ядром ВМ и различные коммуникационные операции между ними.
В архитектуре ВС выделяют три основных способа подключения СВВ процессору:
1) использование раздельных шин памяти и ввода/вывода;
2) совместно используемые линии данных и адреса;
3) подключение СВВ на общих правах процессора и памяти.
В варианте с раздельными шинами памяти и ввода/вывода (рис. 3.4, а) обмен информацией между ЦП и памятью физически отделен от ввода/вывода, поскольку обеспечивается полностью независимыми шинами.
При совместно используемых линиях данных и адреса (рис. 3.1, б) память и СВВ имеют общие для них линии адреса и линии данных, разделяя их во времени. В то же время управление памятью и СВВ, а также синхронизация их взаимодействия с процессором осуществляются независимо по раздельным линиям управления.
Возможно подключение СВВ к системной шине на общих правах с процессором и памятью (рис. 3,1, в).
|
|
Модуль ввода-вывода представляет собой совокупность аппаратных и программных средств, предназначенных для организации управления обменом и непосредственной передачи данных между ОЗУ и ПУ.
Все функции, которые реализует МВВ можно разбить на три группы.
1. Установка логической связи между ПУ и ОП:
а) выявить наиболее приоритетный запрос на ввод-вывод;
б) определить для него маршрут передачи данных между ОП и ПУ;
в) проверить работоспособность и готовность к выполнению обмена каждым из компонентов СВВ вдоль выбранного маршрута;
г) если какой-либо компонент не может участвовать в обмене, то нужно искать альтернативный путь. Если он не найден, то известить ЦП о невозможности установления канала;
д) всем компонентам обмена передать управляющую информацию;
е) управление непосредственно ПУ (управление механизмами).
2. Передача информации между ПУ и ОП:
а) определить адрес в ОП для записи или чтения кванта информации;
б) преобразовать формат данных;
в) контроль переданных по каналу данных на ошибки;
г) определение особых условий (например, потребность в дополнительной управляющей информации).
3. Завершение обмена и разрушение логического канала:
а) определить момент завершения операции обмена;
б) определить причину завершения обмена;
в) известить ЦП об изменении состояния компонентов СВВ;
г) привести СВВ в исходное состояние.
Если все функции управления обменом осуществляются средствами управления интерфейса и аппаратурой ЦП, то такой МВВ называется программным. Если в МВВ предусмотрены специальные аппаратные средства для буферизации, преобразования форматов данных, определения текущего адреса данных в памяти и момента завершения обмена, то МВВ называют аппаратным модулем ввода-вывода.
|
|
Модуль ввода/вывода, который берет на себя детальное управление ПУ и общается с ЦП только с помощью команд высокого уровня, называют каналом ввода/вывода или процессором ввода/вывода. Наиболее примитивный МВВ, требующий детального управления со стороны ЦП, называют контроллером ввода-вывода или контроллером устройства.
Если модулю ввода-вывода предоставлены права процессора со специализированным набором команд, ориентированных на операции ввода-вывода, то такой МВВ называют каналом ввода-вывода (КВВ).
Если в состав КВВ входит собственная локальная память, то модуль ввода-вывода называют процессором ввода-вывода (ПВВ). При этом возможно управление множеством устройств в/выв с минимальным привлечением ЦП.
В принципе различие между каналом и процессором ввода/вывода достаточно условно, поэтому в дальнейшем будем пользоваться термином "канал".