Podręcznik
7. Obsługa przerwań i sytuacji wyjątkowych, wektor przerwań
Przerwania sprzętowe i sytuacje wyjątkowe są obsługiwane poprzez tablicę przerwań IDT (ang. Interrupt Descriptor Table) (Rys.22). Tablica ta zawiera indeksowane komórki (0-255), które opisują sposób obsługi konkretnych przerwań. Indeks do tej tablicy nazywany jest wektorem przerwań. Przerwania sprzętowe mają indeksy powyżej 32. Indeksy poniżej 32 są zarezerwowane dla przerwań niemaskowalnych i sytuacji wyjątkowych. Numery przerwań maskowalnych są przyporządkowywane według potrzeb. Tablica wektorów przerwań w trybie chronionym procesora jest przedstawiona w tabeli 3.
Rys. 22. Tablica przerwań
Tabela 3. Tablica wektorów przerwań w trybie chronionym procesora
Wykonanie (obsługa) przerwania zachodzi w następujący sposób. Każde przerwanie musi być obsłużone przez specjalny program. Tablica Interrupt Descriptor Table (IDT) zawiera deskryptory tych programów (określone przez numer przerwania). Sprzęt lokalizuje odpowiedni deskryptor. Zachodzi zmiana kontekstu, licznik programów, wskaźnik stosu, stan CPU i pamięci dla przerywanego programu są odkładane na stosie. Uruchamiany jest program obsługi przerwania.