Читайте также:
|
|
Асинхронный или условный обмен используется тогда, когда УВВ не всегда готово к обмену (различные преобразователи, электрические пишущие машинки и т.п.). Для реализации асинхронного обмена каждый ПВВ снабжается дополнительным флаговым триггером. Состояние флага однозначно определяет готовность УВВ к обмену. Он взводится внешним устройством в момент готовности его к обмену и сбрасывается процессором в момент выполнения обмена. Асинхронный обмен может быть реализован аппаратным или программным путем.
Упрощенная структура стандартного интерфейса и алгоритм при программной реализации асинхронного обмена приведены на рис.4.3,а. В этом случае выходы флаговых триггеров через буферы подключаются к шине данных, и им присваиваются собственные адреса.
Для осуществления асинхронного программного обмена процессор прежде всего вводит флаг состояния необходимого УВВ и анализирует его значение. При активном флаге УВВ готово к обмену данными, и процессор сразу выполняет его. В противном случае УВВ не готово к обмену, и процессор ожидает его готовности, постоянно считывая и анализируя значение флага. Для сокращения потерь машинного времени на ожидание готовности УВВ к обмену в ветвь алгоритма, соответствующей пассивному значению флага, может быть включена какая-либо фоновая работа. Однако, при этом ухудшается точность обнаружения готовности УВВ к обмену.
Упрощенная структура стандартного интерфейса и алгоритм при аппаратной реализации асинхронного обмена приведены на рис.4.3,б.
В этом случае адреса флагов совпадают с адресами соответствующих портов, а выходы флаговых триггеров всех портов ввода/вывода объединяются с помощью операции логическое ИЛИ, реализуемой за счет монтажной логики. Это обеспечивает формирование общего сигнала готовности READY, поступающего через шину управления в процессор.
На рис.4.3,в приведена одна из возможных схем формирования сигнала READY. При этом нагрузочный резистор R всегда располагается на плате процессора, а логические элементы – на том же конструктивном элементе, что и соответствующий порт. Такая организация позволяет изменять количество флагов, участвующих в формировании сигнала готовности, путем простого электрического подключения выхода логического элемента с открытым коллектором к общей линии READY из шины управления. Стробирование выходных логических элементов сигналами IOR и IOW позволяет отличить флаги портов ввода от флагов портов вывода, имеющих одинаковые адреса.
При отсутствии обращений к портам на всех адресных линиях присутствует пассивный нулевой уровень, что вызывает формирование единичного уровня сигнала READY. При READY = 1процессор продолжает нормальное выполнение программы.
При обращении к некоторому порту на соответствующей адресной линии устанавливается активный единичный уровень. При этом значение сигнала READY формируется в зависимости от значения флага готовности к обмену соответствующего порта. При нулевом значении флага, то есть неготовности УВВ к обмену, формируется нулевой уровень сигнала READY. При READY = 0 процессор переходит в состояние ожидания, в котором будет находится до появления READY = 1, не выполняя никаких действий. Единичное значение сигнала готовности появится лишь при единичном значении выбранного флага, то есть при готовности соответствующего УВВ к обмену. После этого процессор продолжит выполнение программы и завершит обмен.
Достоинством асинхронного обмена является его надежность, а недостатком – потери времени на ожидание готовности УВВ к обмену и проверку значений флагов. Поэтому этот метод чаще всего используется для взаимодействия с достаточно быстродействующими и периодически работающими ВУ.
Для рассмотренных методов синхронного и асинхронного обмена данными характерным является то, что обмен выполняется по инициативе процессора.
Дата добавления: 2015-08-09; просмотров: 110 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Организация интерфейса | | | Обмен по прерыванию |