Устройства ввода-вывода, имеющие один порт вывода

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

Отличительной чертой устройства вывода является регистр-за-щелка, или регистр-фиксатор, работающий следующим образом:

1. Когда сигнал синхронизации принимает действующее значение, сигналы данных на выходе регистра совпадают с сигналами данных на входе регистра.

2. Когда сигнал синхронизации принимает недействующее значение, сигналы данных на выходе сохраняют значения, которые они имели перед последней подачей сигнала синхронизации.

Данные должны быть стабильны в течение некоторых минимальных интервалов времени, предшествующих и следующих за подачей сигнала синхронизации. Регистр-защелка должен активироваться сигна лом «чтение/запись».

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

Как синхронная, так и асинхронная передача данных требует дополнительной аппаратуры помимо порта вывода. Так, у ЦП должен быть вход, который ЦП может использовать для синхронизации или для выяснения, готово ли устройство вывода. В данном случае, так же как и для порта ввода, сокращение аппаратных средств ведет к усложнению процесса передачи сигналов, сниженйю скорости передачи данных и увеличению объема программного обеспечения.

При асинхронной передаче данных каждому передаваемому символу должен предшествовать специальный код, с помощью которого ЦП указывает на присутствие данных. Передача данных происходит следующим образом:

Шаг 1. Центральный процессор посылает специальный сигнал «вывод готов» (OUTPUT READY).

Шаг 2. Центральный процессор ожидает в течение времени, равного одному периоду, передачи.

Шаг 3. Центральный процессор посылает собственно данные.

Центральный процессор сам управляет операциями вывода, поэтому здесь нет проблемы, связанной с выходом на центр сигнала. Предполагается, что периферийное устройство подготовится к приему данных за время, пока ЦП ожидает в течение одного периода передачи данных. Если потребуется, ЦП может посылать фиктивные символы периферийному устройству, чтобы дать последнему дополнительное время для завершения подготовки к приему данных. Фиктивные символы — это коды, которые УВВ игнорирует. Ими часто служат символы SYN (пустой символ синхронизации) или NUL (нуль) кода ASCII. Синхронный вывод данных аналогичен асинхронному, за исключением того, что после первоначальной синхронизации передача данных происходит до тех пор, пока она не будет остановлена специальным способом. Число передаваемых слов может быть фиксировано или содержаться в данных. Для указания конца передачи данных может служить специальный символ.

Операции ввода и вывода несколько отличаются. При вводе ЦП должен определить, когда передача данных начинается и заканчивается. Это означает, что ЦП должен согласовать свои средства отсчета времени с синхросигналами периферийного тактового генератора, которые недоступны процессору. При выводе ЦП определяет начало и конец передачи данных и делает это так, чтобы в момент передачи данных УВВ было готово к приему данных. Порт вывода должен фиксировать передаваемые данные.