Сравнительная характеристика основных методов ввода-вывода, страница 5

Обычно внешние устройства, которые могут формировать сигнал подтверждения ‑AСК Х имеют буфер, поэтому ситуация, показанная на рис. 26 и 29 является скорее исключением, а не правилом, Более часто встречающаяся ситуация изображена на рис. 30, на котором показаны временные диаграммы для внешнего устройства, имеющего как флаг, так и буфер.

Рис. 30. Временные диаграммы условного вывода с использованием флага и буфера.


Как указано на рис. 30, прием и обработка предыдущих данных подтверждается сигналом ‑AСК Х, который сбрасывает флаг. Спустя некоторое время новые данные, предназначенные для вывода, появляются в аккумуляторе и затем на ШД. Наконец, новые данные фиксируются в буфере с помощью сформированного микроЭВМ импульса ‑WR X, который, кроме того, устанавливает флаг. Следующий импульс ‑АСК Х появляется только тогда, когда внешнее устройство готово принять новые данные.

Использование флага позволяет микроЭВМ (источнику) игнорировать внешнее устройство (получателя) до тех пор, пока флаг находится в состоянии логической 1. Такая особенность высвобождает микроЭВМ для выполнения других задач, пока она

ожидает сигнала подтверждения, и очень полезна с “медленными” внешними устройствами (500 дв. ед./сек или меньше).

Условный ввод-вывод, использующий семафор

Этот метод ввода-вывода, известный как стробируемый ввод-вывод, использует в качестве семафора одиночный триггер, выходной сигнал которого посылается как в микроЭВМ, так и в УВВ.

Структурные схемы

Рассмотрим структурную схему стробируемого ввода, изображённую на рис. 31.

Рис. 31. Структурная схема условного ввода с использованием семафора

Буфер хранит одно слово входных данных. Когда буфер полон, семафор находится в состоянии логической 1, когда пуст - в состоянии логического 0. ВУ сначала проверяет семафор, чтобы определить состояние буфера, и, если буфер пуст, одновременно вводит новый байт данных и устанавливает семафор в состояние логической 1, используя импульс -STB X. МикроЭВМ проверяет семафор, чтобы определить. когда он установится  в состояние логической 1.  В этот  момент микроЭВМ с помощью импульса выбора устройства -RD X одновременно вводит данные из буфера и сбрасывает семафор.

Рассмотрим  теперь структурную схему стробируемого вывода, которая представлена на рис. 32.

Рис. 32. Структурная схема условного вывода с использованием семафора

Сначала микроЭВМ проверяет семафор, чтобы определить, пуст ли буфер. Когда это условие выполняется, т.е. семафор находится в состоянии логического 0, микроЭВМ выводит байт данных в буфер и устанавливает семафор. Это осуществляется импульсом выбора устройства -WR X. В свою очередь ВУ проверяет семафор, чтобы определить, что в буфере находится новый байт данных. При обнаружении этого ВУ считывает байт данных из буфера и одновременно сбрасывает семафор, используя импульс -ACK X.

Блок-схема

Упрощённая блок-схема процесса обмена информацией между источником и получателем изображена на рис. 33.

Рис. 33. Условный ввод-вывод с использованием семафора