Přerušit vektorovou tabulku - Interrupt vector table
Tabulka vektorů přerušení ( IVT ) je datová struktura, která spojuje seznam obslužných rutin přerušení se seznamem požadavků na přerušení v tabulce vektorů přerušení. Každý záznam tabulky vektorů přerušení, nazývaný vektor přerušení, je adresou obsluhy přerušení. Zatímco koncept je společný napříč architekturami procesorů, IVT mohou být implementovány v módě specifické pro architekturu. Například tabulka odeslání je jednou z metod implementace tabulky vektorů přerušení.
Pozadí
Většina procesorů má vektorovou tabulku přerušení, včetně čipů Intel, AMD , Infineon , Microchip Atmel , NXP, ARM atd.
Obsluha přerušení
Metody manipulace
Tabulka vektorů přerušení se používá ve třech nejpopulárnějších metodách vyhledání počáteční adresy rutiny služby přerušení:
„Předdefinováno“
„Předdefinovaná“ metoda načte programové počítadlo (PC) přímo s adresou nějaké položky uvnitř tabulky vektorů přerušení. Tabulka skok sám obsahuje spustitelný kód. I když v zásadě mohl být extrémně krátký obslužný program přerušení uložen zcela uvnitř tabulky vektorů přerušení, v praxi je kódem při každém vstupu instrukce jediného skoku, která přeskočí na rutinu služby úplného přerušení (ISR) pro toto přerušení. Intel 8080 , Atmel AVR a všechny mikroprocesory 8051 a Microchip používají předdefinovaný přístup.
"Vynést"
Metoda „načtení“ načte počítač nepřímo, pomocí adresy nějakého záznamu uvnitř tabulky vektorů přerušení k vytažení adresy z této tabulky a následným načtením počítače s touto adresou. Každý vstup do IVT je adresa rutiny služby přerušení. Všechny mikroprocesory Motorola / Freescale používají metodu načítání.
„Přerušit potvrzení“
U metody „přerušení potvrzení“ přidá externí zařízení CPU číslo obsluhy přerušení. Metodu potvrzení přerušení používá Intel Pentium a mnoho starších mikroprocesorů.
Když je CPU ovlivněn přerušením , vyhledá obslužný program přerušení v tabulce vektorů přerušení a přenese do ní řízení.
Viz také
- Tabulka přerušení deskriptoru (implementace architektury x86)
Reference
externí odkazy
-
Příručka pro vývojáře softwaru Intel® Architecture, svazek 3: Průvodce programováním systému
- Příručka pro vývojáře softwaru Intel 64 a IA-32, svazek 3A: Průvodce programováním systému, část 1 (viz KAPITOLA 6, MANIPULACE S PŘERUŠENÍM A VÝJIMKOU a KAPITOLA 10, POKROČILÝ PROGRAMOVATELNÝ PŘERUŠOVACÍ REGULÁTOR)]
- Tabulka výjimek a vektorů Motorola M68000