Обычно внешние устройства, которые могут формировать сигнал подтверждения ‑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. Условный ввод-вывод с использованием семафора |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.