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

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

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

Задний план

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

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

Методы обращения

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

"Предопределенный"

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

"Получить"

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

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

Для метода «подтверждения прерывания» внешнее устройство выдает ЦП номер обработчика прерывания. Метод подтверждения прерывания используется Intel Pentium и многими более старыми микропроцессорами.

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

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

Рекомендации

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