Прерывания

- Программные – реализуются с помощью специальных команд. Фактически это переход по указанному адресу.

- Аппаратные - это запросы от внешних устройств.

· Маскируемые – можно запретить или разрешить с помощью соответствующих битов в регистре управления.

· Немаскированные прерывания обслуживаются в первую очередь и не могут быть запрещены. Как правило процессор имеет один вход для немаскированных прерываний, на который подают запросы , возникающие в аварийных ситуациях

- Исключения

При поступлении запроса на прерывание процесс выполняет:

  1. формирует код номера запроса.
  2. определяет уровень приоритета поступившего запроса.
  3. завершает выполнение текущей программы.
  4. сохраняет в стековой области памяти значение программного счетчика и регистра состояния.
  5. переходит к выполнению подпрограммы обработчика прерывания, для этого в программе счетчика загружается вектор прерывания.
  6. после окончания выполнения подпрограммы обработчик прерывания из стека восстанавливает значение программного счетчика и регистра состояния.

Вектор прерывания – начальный адрес подпрограмм обработчика. Обычно такие вектора хранятся в таблице.

Основой характеристикой прерывания является время реакции на прерывание. Это время между поступившим запросом и первой выполненной полезной команды обработчика.

 

Методы реализации контроллера :

-система с циклическим запросом.

 

IO, I1,…, IN – запросы на прерывание.

 

 

Временная диаграмма:

 

 

Система должна сформировать код номера запроса и общий запрос по прерыванию. По сигналу RESET счетчик и триггер установить в нулевое состояние .На тактовый ход счетчика начинает поступать сигнала CLK. Код со счетчика поступает на вход дешифратора ,на выходе которого будет только один активный сигнал , соответствующий входному коду. Если единичный уровень одного из выходов дешифратора совпадает с соответствующим запросом на прерывание , триггер устанавливает едичное состояние , запрещающее подачу тактовых импульсов на вход счетчика .С выхода триггера снимается общий запрос на прерывание , с выхода счетчика – код номера запроса.

Достоинством этой системы является то, что необходимы минимальные аппаратные затраты, а также простота реализации. К недостаткам можно отнести значительное время реакции на прерывание. Увеличении запросов приводит к резкому возрастанию затрат. В системе отсутствует ранжировка запросов по приоритету.

Система прерываний, в которой отсутствует ранжировка по приоритетам ,называется одноуровневой.

Устранение последнего недостатка возможно с помощью дейзи-цепочки.

 

Блок приоритетных прерываний:

 

1-шифратор уровней приоритетов.

2-регистр текущего состояния (память).

 

Схема имеет два режима работы: