Двунаправленный (комбинированный) ВВ
Подключение порта в схеме прямого ввода/вывода
Дешифратор адреса в общем случае представляет 8-входную схему сравнения в изолированном ВВ или 16-входную схему сравнения при организации ВВ с отображения на память. Дешифратор формирует активный выходной сигнал, когда на ША действует сигналы адреса данного порта ввода или вывода.
При совпадении выходного сигнала дешифратора и управляющего сигнала READ тристабильные буферы разрешены (EN-1) и вводимые данные от ПУ передаются на ШД. Отметим, что линией READ является линия MEMR# (ВВ с отображением на память).
Аналогично осуществляется подключение порта в схеме прямого вывода. Обозначенной на рисунке линией WRITE фактически является линия I/OW# или MEMW#.
Подключение порта в схеме прямого ввода
Подключение порта в схеме прямого вывода
Двунаправленный (комбинированный) ВВ
Фактически объединены рассмотренные выше схемы прямого ввода и вывода. Заметим, что наличие одного дешифратора адреса свидетельствует о том, что адреса портов ввода и вывода одинаковые. Данный интерфейс применяется в ПУ типа пишущей машинки, которые могут выполнить операции ввода и вывода.
В приведенных схемах прямого ВВ дешифратор адреса должен реагировать на полный адрес и иметь соответствующее число входов. Специализированные МПС обычно имеют небольшое число ПУ и схему дешифратора адреса можно упростить. Пусть, например, в МПС достаточно 8 портов вывода и 8 порто в ввода. Тогда для адресации портов ВВ целесообразно применить код 1-38 с шеснадцатиричными адресами 01, 02, 04, …, 80. При таком кодировании адресов для выбора порта необходимо анализировать состояние только одной линии адреса, а отдельная линия дешифратора становиться не нужной. Рассмотренная схема адресации называется адресацией с линейным выбором.
Линейный выбор можно реализовать и в МПС, в которых применяется метод ВВ с отображением на память. Если, например, области памяти и ВВ различаются значением старшего бита A15 адреса, то в оставшихся битах для адресации портов ВВ следует применять код 1-из-15.
Отметим, что двухходовая схема совпадения встроена в схему универсального порта ВВ. На вход DS1# подается L-активный сигнал считывания или записи, а на вход DS2 подключается выход дешифратора адреса. В МПС с линейным выбором универсальный порт подключается к системной шине без дополнительных схем дешифрирования.
Комбинированный ввод вывод
Стробируемый ВВ (ВВ с прерываниями)
В схеме стробируемого ввода входные данные от ПУ сопровождаются стробом (коротким импульсным сигналом) ввода. Строб загружает данные во входной регистр-защелку и устанавливает триггер Т1, единичный выход которого сигнализирует МП о наличие данных. Когда МП осуществляет ввод и генерируется сигнал READ, содержимое регистра защелки через ШД загружается в А. Кроме того, сигнал READ устанавливает триггер Т2, единичный сигнал которого подтверждает устройству ввода восприятие данных и сбрасывает триггер Т1.
Прямой выход триггера Т1 соединяется со входом прерывания МП и практически представляет собой бит готовности устройства ввода.
Стробированный ввод
Аналогично реализуется стробируемый вывод.
Стробированный вывод
Когда МП записывает данные в порт вывода, устанавливается триггер Т2 и генерируется сигнал для устройства вывода о необходимости приема данных. Устройство воспринимает данные и подтверждает (квитирует) прием стробом, который сбрасывает триггер Т2 и устанавливает Т1.
Сигнал с выхода Т1 поступает на вход прерывания МП и извещает его о возможности вывода следующего слова данных. И в этой схеме состояние триггера Т1 представляет собой бит готовности устройства вывода.