Курс "Вычислительная техника"
Тема 19.
Система прерываний.
Система прерываний является частью процессора или
контроллера, которая позволяет максимально быстро
реагировать на те условия внешнего мира, которые
требуют немедленной обработки. Система прерываний
имеет выделенные входы в процессор, входы IRQ.
По данным входам внешнее устройство сигнализирует
о необходимости немедленной обработки своих данных.
При активации входа IRQ происходит следующая
последовательность действий:
Адрес, на котором остановилось выполнение основной
программы процессора из Program Counter переносится
в специальный участок памяти внутри процессора (STACK),
имеющий структуру LIFO (last in – first out).
На его место в PC загружается адрес, жестко привязанный
к входу активированного прерывания. По этому адресу
существует программа обработки прерывания.
Эта программа незамедлительно обрабатывает данные
устройства, запросившего прерывание. Как только
обработка прерывания завершена, по команде IRET
(вернуться из прерывания) из STACKа извлекается адрес,
на котором была остановлена (прервана) основная программа,
он загружается в PC. и основная программа продолжает
свою работу с того места, где остановилась для обработки
прерывания.
Обычно входов IRQ в процессоре бывает несколько и они
имеют свою иерархию – если выполняется прерывание более
высокого уровня, запрос на прерывание более низкого уровня
игнорируется. Каждому входу IRQ соответствует адрес,
по которому следует находиться программе его обработки.
Существует возможность запретить все прерывания (на важных
участках основной программы) или разрешить лишь некоторые
из них. Процесс запрещения называется маскированием.
Для контроля над разрешением-запрещением прерываний
в процессоре существует специальный регистр.
bermanalexandr@gmail.com
Телефон администратора этой странички: +7 9827458948.