Микропроцессорные системы. Архитектура и проектирование. Анкудинов И.Г. - 49 стр.

UptoLike

Составители: 

Программно-управляемый ввод-вывод
Программно-управляемый ввод-вывод (называемый также
нефорсированным) характеризуется тем, что инициирование и управление
ВВом осуществляется прикладной программой, выполняемой процессором, а
внешние устройства играют сравнительно пассивную роль и сигнализируют
только о своем состоянии, например о готовности к операциям ввода-вывода.
Наиболее просто осуществляется синхронный (безусловный) программно-
управляемый ввод-вывод для внешних устройств, не требующих проверки
готовности, таких, например, как индикатор на светодиодах. Для этого
достаточно в соответствующем месте программы использовать
соответствующие команды, например IN или OUT.
Однако большинство ВУ требуют проверки их готовности к обмену до
выполнения операций ввода-вывода, т.е являются асинхронными. Состояние
готовности/занятости таких устройств характеризуется либо отдельными
флагами READY и BUSY, либо одним флагом готовности READY.
Для проверки флага готовности затрачивается одна или несколько
команд процессора. Если флаг установлен, то инициируются собственно ввод
или вывод одного или нескольких слов данных. Когда же флаг сброшен,
процессор выполняет так называемый цикл ожидания готовности ВУ, т.е. цикл
повторной проверки флага READY до тех пор, пока устройство не будет готово
к операциям ввода-вывода.
Программно-управляемый асинхронный ВВ не требует дополнительных
аппаратных средств и его просто реализовать, однако он приводит к
непроизводительными потерями времени процессора в циклах ожидания
готовности ВУ.
Ввод-вывод по прерываниям (называемый также форсированным)
инициируется не процессором, а внешним устройством, генерирующим
специальный сигнал прерывания, чтобы сообщить о своей готовности к
передаче данных. Типичным примером являются сигналы прерывания,
возникающие при нажатии клавиш или манипуляциях с мышью при работе на
ПЭВМ. Реагируя на сигнал прерывания, процессор передает управление
подпрограмме прерывания для обслуживания устройства, вызвавшего это
прерывание. Действия подпрограммы прерывания определяются
пользователем, а непосредственными операциями ввода-вывода в процессе
обслуживания прерывания управляет процессор.