stringtranslate.com

Таблица векторов прерываний

Таблица векторов прерываний ( IVT ) — это структура данных , которая связывает список обработчиков прерываний со списком запросов на прерывание в таблице векторов прерываний. Каждая запись таблицы векторов прерываний, называемая вектором прерываний, является адресом обработчика прерываний (также известного как ISR ). Хотя эта концепция является общей для всех архитектур процессоров, IVT могут быть реализованы в архитектурно-специфических модах. Например, таблица диспетчеризации — это один из методов реализации таблицы векторов прерываний.

Фон

Большинство процессоров имеют таблицу векторов прерываний, включая чипы Intel , AMD , Infineon , Microchip [1], Atmel , [2], NXP, ARM , [3] [4] и т. д.

Обработчики прерываний

Методы обработки

Таблица векторов прерываний используется в трех наиболее популярных методах нахождения начального адреса процедуры обработки прерываний:

«Предопределено»

Метод «предопределенный» загружает счетчик программ (PC) непосредственно адресом некоторой записи внутри таблицы векторов прерываний. Сама таблица переходов содержит исполняемый код. Хотя в принципе чрезвычайно короткий обработчик прерываний может храниться полностью внутри таблицы векторов прерываний, на практике код в каждой записи представляет собой одну инструкцию перехода, которая переходит к полной процедуре обработки прерываний (ISR) для этого прерывания. Intel 8080 , [5] Atmel AVR [6] [7] и все микроконтроллеры 8051 и Microchip [8] используют предопределенный подход.

"Принести"

Метод «fetch» ​​загружает ПК косвенно, используя адрес некоторой записи внутри таблицы векторов прерываний, чтобы извлечь адрес из этой таблицы, а затем загружая ПК с этим адресом. [8] Каждая запись IVT является адресом процедуры обслуживания прерывания. Все микроконтроллеры Motorola/Freescale используют метод fetch. [8]

«Подтверждение прерывания»

Для метода "подтверждения прерывания" внешнее устройство дает процессору номер обработчика прерывания. Метод подтверждения прерывания используется Intel Pentium и многими старыми микропроцессорами. [8]

Когда на ЦП воздействует прерывание , он ищет обработчик прерываний в таблице векторов прерываний и передает ему управление.

Смотрите также

Ссылки

  1. ^ "Справочное руководство по семейству dsPIC33F", раздел 29.1.1 Таблица векторов прерываний
  2. ^ Раздел "Руководство пользователя AVR Libc": Введение в обработку прерываний avr-libc
  3. ^ "Документация – Arm Developer". developer.arm.com . Получено 2020-07-26 .
  4. ^ "Документация – Разработчик Arm – Таблица векторов исключений AArch64". developer.arm.com . Получено 26.07.2020 .
  5. ^ Руководство пользователя микрокомпьютерных систем Intel 8080. Корпорация Intel. Сентябрь 1975 г. стр. 2–11 Последовательности прерываний. OCLC  2058546. OL  24210843M.
  6. ^ Роджер Л. Трейлор. «Прерывания: обслуживание прерываний AVR»
  7. ^ Гэри Хилл. «Подсистемы прерываний и синхронизации Atmel AVR: таблица векторов прерываний ATMEGA328P»
  8. ^ abcd Хуан, Хан-Ват (2005). Микроконтроллер Pic: Введение в программное и аппаратное взаимодействие. Cengage Learning. стр. 247. ISBN 978-1-4018-3967-3. Получено 22 апреля 2013 г.

Внешние ссылки