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

Условный вывод, использующий флаг

Как и в случае условного ввода, способы условного вывода с использованием флага могут различаться по наличию или отсутствию буфера между микроЭВМ и внешним устройством. Эти две ситуации отображены на рис. 26 и 27.

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


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

На рис. 26 импульс ‑WR X одновременно записывает данные во внешнее устройство и, кроме того, устанавливает флаг. Внешнее устройство подтверждает получение этих данных путем посылки импульса ‑АСК Х для очистки флага.

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

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

Рис. 28. Блок-схема условного вывода с использованием флага.

Низкий уровень флага указывает микроЭВМ, что предыдущие данные были приняты. Высокий уровень флага говорит о том, что предыдущие данные не были приняты. При использовании флага его логическое состояние проверяет только микроЭВМ. Это можно увидеть из направления пунктирной линии и символа принятия решения: “Флаг сброшен?”, который появляется только в блок-схеме источника. Внешнее устройство не знает, когда становятся доступными новые данные. Таким образом, как и в случае условного ввода, использующего флаг, за синхронизацию передачи данных ответственность несет только микроЭВМ.

Рассмотрим рис. 29, на котором даны временные диаграммы для случая, когда используется один флаг, а выходной буфер отсутствует.

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

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

при отсутствии буфера.