Векторный переход на процедуру обработки прерывания
В системном адресном пространстве по младшим адресам располагается таблица векторов перехода на процедуры обработки прерываний. Она состоит из n элементов объемом по 2...4 байта, в которые разработчики системного ПО должны записать адреса размещения в памяти процедур обработки прерываний, соответствующих номерам элементов таблицы, т.е. номерам конкретных запросов на прерывание. Номер запроса (или прерывания) жестко связан с номером элемента таблицы векторов.
Адрес AdrN, по которому находится в памяти конкретный элемент таблицы, определяется соотношением AdrN = k´ N, где k - размер элемента таблицы в байтах, зависящий от типа процессора, N - условный номер прерывания.
Процессор, получив от контроллера прерываний номер активного прерывания, автоматически сохраняет в стеке текущее содержимое счетчика команд PC(адрес возврата в прерываемую программу), обращается к памяти по адресу AdrN, считывает из элемента таблицы его содержимое и помещает его в регистр PC. Таким образом, следующей будет выполнена первая команда процедуры обработки (рис.6.3-а).
|