При этом типе передачи данных процессор перед выполнением операции ввода/вывода проверяет состояние внешнего устройства, активизирует его (если устройство готово), передает или принимает данные, получая от устройства сообщения об исполнении, и снова устанавливает устройство в пассивное состояние. Пример схемы реализации асинхронного ввода данных приведён на рис. 2.3.

Рис. 0.3. Асинхронный параллельный обмен
Вод данных осуществляется за два цикла обмена процессора с устройством. В первом цикле проверяется состояние триггера готовности (TS) устройства, а во втором, если триггер установлен, вводятся данные.
Устройство, записав данные в регистр (RG) сигналом RDY1 устанавливает триггер TS. Процессор, обращаясь по адресу триггера TS, читает по шине данных DAT его состояние. Если устройство готово (триггер TS установлен), то процессор обращается к регистру данных (RG) и при появлении сигнала на линии RDY читает данные с шины DAT1 во внутренний регистр.
Если триггер TS не установлен, процессор выполняет иные действия предусмотренные управляющей программой.
При асинхронной передаче очень хорошо согласуются различия в скорости работы периферийных устройств и процессора. Недостатком такой передачи является вынужденное ожидание процессором готовности устройства к работе. В процессах управления в этом случае возникает задача сохранения уровня сигналов управления на время ожидания передачи.
Программно-управляемый обмен является простейшим, но во многих случаях не самым эффективным в силу присущих ему недостатков.
1. Большинство внешних электромеханических устройств имеют значительно меньшее быстродействие, чем процессор, поэтому время ожидания готовности внешнего устройства может оказаться большим.
2. Программно-управляемая передача данных не может быть произведена по инициативе внешнего устройства.
Для обмена информацией между внешними устройствами и процессором часто используется обмен в режиме прерывания программы.