Процессор в линейном порядке выполняет команды обработки данных,
пока не достигнет проверки готовности устройства к обмену. Прочитав 8- или
16- разрядное слово из порта ввода внешнего устройства, программа запомина-
ет его в одном из регистров процессора и анализирует состояние одного сигна-
ла (бита) в слове.
Нулевой уровень бита готовности обычно принимается в качестве при-
знака подключенного устройства и его рабочего состояния. Если бит равен
единице, то предполагается, что устройство не может выполнять обмен с про-
цессором. Условный переход возвращает программу в начало цикла для по-
вторного чтения слова, когда устройство не готово к обмену. Причиной него-
товности может быть отключение ВУ от источника питания или незавершен-
ность предыдущей выполненной операции при обмене с процессором.
Цикл ожидания готовности процессор выполняется до тех пор, пока уст-
ройство не изменит уровень сигнала - с напряжения логической единицы на
уровень нуля. Непосредственный ввода/вывод для обмена через порт про-
грамма осуществляет при условии, что процессор обнаружил готовность внеш-
него устройства. Эффективность системы может быть повышена, если отка-
заться от малопроизводительного ожидания готовности на программном уровне
и передать функцию специальным аппаратным средствам – контроллерам пре-
рываний и ПДП.
Если при программном обмене как начало процедуры, так и непосредст-
венное ее исполнение находятся под управлением программы, то обслуживание
по прерываниям инициируется самим устройством (рис. 16).
Внешнее устройство при необходимости обмена формирует на выходе
короткий импульс – запрос ВУ. Чаще всего сигнал запроса в системной магист-
рали обозначается как IRQ (Interrupt Request).
К контроллеру прерываний подключены линии запросов всех внешних
устройств. Если ни одному устройству обмен не нужен и на входе контроллера
все сигналы запросов IRQ
i
нулевые, то в этом случае процессор выполняет ос-