Составители:
57
Этапы 1-5 выполняются аппаратными средствами компьютера
автоматически при появлении запроса прерывания. Этап 7 также выполняется
аппаратно по команде возврата из обработчика прерывания.
Процедура опроса источников прерываний с целью выделения наиболее
приоритетного (полинг/polling) может быть реализована как на аппаратном, так
и на программном уровнях.
Программный полинг (уже был рассмотрен ранее) реализуется
специальной программой
, которая последовательно опрашивает триггеры
запросов, объединенных, как правило, в единый регистр с целью поиска
первого установленного бита.
Аппаратный полинг может быть реализован либо на основе многотактной
схемы, в основу которой положен двоичный счетчик, либо с помощью
однотактной схемы, которую обычно называют дейзи-цепочка (будет
рассмотрен далее).
Отношение процессора к поступившим
запросам прерываний может быть
выражено с помощью одного из двух механизмов:
• Механизм масок.
• Порог прерываний.
Механизм масок основан на использовании специального бита для каждого
запроса прерываний, с помощью которого разрешается или запрещается
обработка прерываний, связанных с этим запросом. В процессоре семейства
Intel функцию маски выполняет бит IF, с помощью которого
разрешается (IF=1)
или запрещается (IF=0) обработка запросов внешних прерываний (как правило,
от ВУ). При сброшенном флаге IF принято говорить, что прерывание
замаскировано.
Запросы прерываний от ВУ формируются с помощью PIC (Programmable
Interruption Controller), который связан линией запроса с CPU. Запросы от PIC
поступают в CPU на внешний вход INTR.
Для управления прерываниями используется маска прерываний (см. рис.
ниже), представляющая собой двоичное
слово M = m1 m2 … mk с числом
разрядов, равным числу маскируемых причин прерывания. Если разряд маски
mk = 0, то прерывание по причине k запрещено (замаскировано), если разряд
маски mk = 1, то прерывание по причине k разрешено (не замаскировано).
Маска прерываний хранится в процессоре, куда она загружается командой
УСТАНОВИТЬ МАСКУ А, где А – адрес. По этой команде слово с адресом А
загружается в качестве маски в процессор и определяет отношение процессора
к сигналам прерывания. Если все разряды маски равны нулю, процессор не
реагирует ни на одну причину прерывания.
В простейших процессорах используется следующий способ маскирования
прерываний. В систему команд компьютера вводятся две системные команды
ЗАПРЕТИТЬ ПРЕРЫВАНИЯ и РАЗРЕШИТЬ ПРЕРЫВАНИЯ, выполнение
Страницы
- « первая
- ‹ предыдущая
- …
- 56
- 57
- 58
- 59
- 60
- …
- следующая ›
- последняя »
