обслуживание их блокирует обслуживание устройств с меньшими приори-
тетами;
- управление возвращается к программе полинга, т. е. в точку проверки
прерывания следующего устройства (на рнс.28 показано штриховыми
линиями). Этот способ гарантирует проверку в каждом цикле полинга всех
устройств.
Конкретная реализация полинга зависит от особенностей системы
команд процессора и конфигурации аппаратных средств. Например, для
ускорения полинга сигналы прерываний всех устройств подключаются к
специальному регистру. Полинг реализуется посредством ввода в процессор
содержимого этого регистра и анализа состояний отдельных бит с помощью
команд сдвига или маскирования. Последовательность анализа определяется
приоритетами устройств, и при обнаружении первого установленного бита
осуществляется переход к соответствующей подпрограмме обслуживания.
Удобно реализовать программный полинг с помощью команды условного
пропуска. При её выполнении адресуется регистр управления и состояния
определенного устройства, проверяется состояние флажка готовности и, если
флажок установлен, выполняется следующая по порядку команда перехода к
подпрограмме обслуживания адресованного устройства. Если же флажок
сброшен, следующая команда пропускается и аналогичным образом
проверяется запрос прерывания очередного устройства.
Недостаток программного полинга заключается в необходимости
проверки всех устройств, даже тех из них, которые не требуют обслуживания.
Каждая проверка представляет собой последовательность команд, которые
должен выполнять процессор. При увеличении числа устройств быстро
увеличивается и число команд, что приводит к непроизводительным потерям
времени процессора и замедлению его реакции на запросы устройств. В
результате полинг вводит значительную задержку между моментом, когда