Топ питань
Часова шкала
Чат
Перспективи
Таблиця векторів переривань
ділянка пам'яті в архітектурі x86 З Вікіпедії, вільної енциклопедії
Remove ads
Табли́ця векторі́в перерива́нь (англ. Interrupt Descriptor Table, IDT) використовується в архітектурі x86 і слугує для визначення правильної відповіді на переривання і винятки.
У мікропроцесорах Intel 8086/80186 таблиця векторів переривань розташована в першому кілобайті пам'яті починаючи з адреси 0000:0000 і містить 256 векторів переривань у форматі «сегмент: зміщення». Починаючи з процесора 80286, адреса у фізичній пам'яті та розмір таблиці переривань визначається 48-бітовим регістром IDTR.
В IDT використовуються переривання таких типів: апаратні переривання, програмні переривання і переривання, зарезервовані процесором, звані винятками (перші 32) на випадок виникнення деяких подій (ділення на нуль, помилка трасування, переповнення)[1].
У реальному режимі елементом IDT є 32-бітова FAR-адреса опрацьовувача переривання.
У захищеному режимі елементом IDT є шлюз переривання довжиною 8 байтів, що містить сегментну (логічну) адресу опрацьовувача переривання, права доступу тощо.
У довгому режимі розмір дескриптора переривання збільшено до 16 байтів.
У режимі V86 за використання розширення VME таблиця векторів розташовується за віртуальною адресою 0000:0000. Без використання цього розширення (і у випадку, коли переадресацію переривань заборонено) при виникненні переривання процесор залишає режим V86 і виконує звичайний опрацьовувач захищеного режиму.
Remove ads
Ініціалізація IDT
Перший етап ініціалізації виконує BIOS, перед завантаженням ОС. Другий — безпосередньо сама операційна система. Операційній системі доступне змінення деяких адрес переривань.
Див. також
- Переривання
- Дескрипторні таблиці
- Основна ділянка пам'яті
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads