Микропроцессоры и микроконтроллеры

 
 
 
«Сначала учите науку программирования и всю теорию. Далее выработаете свой программистский стиль. Затем забудьте все и просто программируйте.»
George Carrette
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Векторный переход на процедуру обработки прерывания

Векторный переход на процедуру обработки прерывания

В системном адресном пространстве по младшим адресам располагается таблица векторов перехода на процедуры обработки прерываний. Она состоит из n элементов объемом по 2...4 байта, в которые разработчики системного ПО должны записать адреса размещения в памяти процедур обработки прерываний, соответствующих номерам элементов таблицы, т.е. номерам конкретных запросов на прерывание. Номер запроса (или прерывания) жестко связан с номером элемента таблицы векторов.

Адрес AdrN, по которому находится в памяти конкретный элемент таблицы, определяется соотношением AdrN = k´ N, где k - размер элемента таблицы в байтах, зависящий от типа процессора, N - условный номер прерывания.

Процессор, получив от контроллера прерываний номер активного прерывания, автоматически сохраняет в стеке текущее содержимое счетчика команд PC(адрес возврата в прерываемую программу), обращается к памяти по адресу AdrN, считывает из элемента таблицы его содержимое и помещает его в регистр PC. Таким образом, следующей будет выполнена первая команда процедуры обработки (рис.6.3-а).