Таблица векторов прерываний - Interrupt vector table
Таблица векторов прерываний ( IVT ) - это структура данных, которая связывает список обработчиков прерываний со списком запросов прерываний в таблице векторов прерываний. Каждая запись в таблице векторов прерываний, называемая вектором прерывания, является адресом обработчика прерывания. Хотя эта концепция является общей для архитектур процессоров, IVT могут быть реализованы в зависимости от архитектуры. Например, таблица диспетчеризации - это один из методов реализации таблицы векторов прерываний.
Задний план
Большинство процессоров имеют таблицу векторов прерываний, включая чипы Intel, AMD , Infineon , Microchip Atmel , NXP, ARM и т. Д.
Обработчики прерываний
Методы обращения
Таблица векторов прерываний используется в трех наиболее популярных методах нахождения начального адреса подпрограммы обслуживания прерываний:
"Предопределенный"
«Предопределенный» метод загружает в счетчик программ (ПК) адрес некоторой записи в таблице векторов прерываний. Сама таблица переходов содержит исполняемый код. Хотя в принципе чрезвычайно короткий обработчик прерывания может храниться полностью внутри таблицы векторов прерываний, на практике код в каждой записи представляет собой единственную инструкцию перехода, которая переходит к подпрограмме полного обслуживания прерывания (ISR) для этого прерывания. Intel 8080 , Atmel AVR и все микроконтроллеры 8051 и Microchip используют предопределенный подход.
"Получить"
Метод «выборки» загружает ПК косвенно, используя адрес некоторой записи в таблице векторов прерываний, чтобы извлечь адрес из этой таблицы, а затем загружая ПК с этим адресом. Каждая запись в IVT - это адрес процедуры обслуживания прерывания. Все микроконтроллеры Motorola / Freescale используют метод выборки.
«Подтверждение прерывания»
Для метода «подтверждения прерывания» внешнее устройство выдает ЦП номер обработчика прерывания. Метод подтверждения прерывания используется Intel Pentium и многими более старыми микропроцессорами.
Когда на ЦП действует прерывание , он ищет обработчик прерывания в таблице векторов прерываний и передает ему управление.
Смотрите также
- Таблица дескрипторов прерываний (реализация архитектуры x86)
Рекомендации
внешние ссылки
-
Руководство разработчика программного обеспечения для архитектуры Intel®, Том 3: Руководство по системному программированию
- Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 3A: Руководство по системному программированию, часть 1 (см. ГЛАВУ 6, УПРАВЛЕНИЕ ПРЕРЫВАНИЯМИ И ИСКЛЮЧЕНИЯМИ и ГЛАВУ 10, РАСШИРЕННЫЙ ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРЕРЫВАНИЯ)]
- Таблица исключений и векторов Motorola M68000