Порты ввода-вывода

В портах ввода-вывода средней степени интеграции скомбинированы буфера, триггеры, фиксаторы, драйверы и другие схемы. Этими портами можно заменить несколько стандартных устройств. Портам присущи некоторые (или все) из следующих признаков:

возможность варьировать соединения между входом и выходом; пользователь может выбирать нужное соединение;

наличие синхронного фиксатора для хранения данных; наличие буфера, выходы которого имеют три состояния;
наличие шинных драйверов;

наличие триггеров для фиксации сигнала «готово»; возможность генерировать строб-сигналы ввода и вывода; наличие нескольких сигналов «открыть» (enable) для управления выбором порта;

прямая связь с двунаправленными шинами; наличие сигналов «открыть» и «очистка» (master enable and master clear);

первоначально определенное состояние запуска (start-up-state). Модуль Intel 8212, изображенный на рис. 8.19,— типичный порт ввода-вывода. У него имеется два рабочих режима, один из которых выбирается по сигналу MD (от mode — режим; MD = 1 для режима вывода; MD—0 для режима ввода).

В режиме ввода периферийное устройство требует, чтобы порт зафиксировал данные, засылая для этого сигнал «данные готовы» (действующее значение — высокий уровень) на вход «строб» (STB). Процессор предоставляет шину для данных в соответствии с логикой работы схем выбора устройства. При такой структуре управления периферийное устройство помещает данные в порт, а ЦП считывает данные.

В режиме вывода ЦП требует (с помощью схемы выбора устройства), чтобы конкретный порт зафиксировал данные. Буфер данных всегда открыт, так что данные сразу становятся доступными для УВВ. При такой структуре управления ЦП помещает данные в порт; процедура выборки не нужна, так как обычно периферийное устройство владеет внешней шиной монопольно, а не в режиме разделения времени.

Устройство Intel 8212 имеет также RS-триггер для фиксации запроса на обслуживание. Этот триггер изображен в верхней части рис. 8.19; его действующее значение соответствует низкому уровню. Триггер очищается строб-сигналом от периферийного устройства. Триггер устанавливается или сигналом «очистить» (CLEAR) или схемой выбора устройства. Типичная последовательность операций, связанная с запросом на обслуживание, следующая:
. Сигнал системного сброса очищает порт 8212 и устанавливает триггер запроса на обслуживание. Уровень выхода INT (interrupt — прерывание) — высокий.

2. Строб-сигнал (STB) сбрасывает триггер запроса на обслуживание и посылает сигнал INT низкого уровня (действующее значение).

3. Центральный процессор выбирает порт, активируя схему выбора устройства. Эта схема устанавливает триггер запроса на обслуживание, но сохраняет низкий уррвень сигнала INT до тех пор, пока порт,не будет дезактивирован. После выбора определенного порта уровень сигнала "INT становится низким, даже если строб-вход отсоединен; в этом случае INT указывает, что происходит операция ввода-вывода, для которой нужен данный порт. С помощью такого сигнала можно мультиплексировать индикаторы, связанные с этцм рортом, как показано на рис. 8.17.