Vektortabelle unterbrechen - Interrupt vector table

X86 Interrupt Vector Table.svg

Eine Interrupt-Vektortabelle ( IVT ) ist eine Datenstruktur , die eine Liste von Interrupt-Handlern mit einer Liste von Interrupt-Anforderungen in einer Tabelle von Interrupt-Vektoren verknüpft . Jeder Eintrag der Interruptvektortabelle, der als Interruptvektor bezeichnet wird, ist die Adresse eines Interrupthandlers. Während das Konzept für alle Prozessorarchitekturen gleich ist, können IVTs auf architekturspezifische Weise implementiert werden. Beispielsweise ist eine Versandtabelle eine Methode zum Implementieren einer Interruptvektortabelle.

Hintergrund

Die meisten Prozessoren verfügen über eine Interrupt-Vektortabelle, einschließlich Chips von Intel, AMD , Infineon , Microchip Atmel , NXP, ARM usw.

Handler unterbrechen

Handhabungsmethoden

Eine Interrupt-Vektortabelle wird in den drei gängigsten Methoden zum Ermitteln der Startadresse der Interrupt-Serviceroutine verwendet:

"Vordefiniert"

Die "vordefinierte" Methode lädt den Programmzähler (PC) direkt mit der Adresse eines Eintrags in der Interrupt-Vektortabelle. Die Sprungtabelle selbst enthält ausführbaren Code. Während im Prinzip ein extrem kurzer Interrupt-Handler vollständig in der Interrupt-Vektortabelle gespeichert werden könnte, ist der Code bei jedem Eintrag in der Praxis ein einzelner Sprungbefehl, der zur vollständigen Interrupt-Serviceroutine (ISR) für diesen Interrupt springt. Der Intel 8080 , der Atmel AVR sowie alle 8051- und Microchip-Mikrocontroller verwenden den vordefinierten Ansatz.

"Holen"

Die "Abruf" -Methode lädt den PC indirekt, indem sie die Adresse eines Eintrags in der Interrupt-Vektortabelle verwendet, um eine Adresse aus dieser Tabelle zu ziehen, und dann den PC mit dieser Adresse lädt. Jeder Eintrag des IVT ist die Adresse einer Interrupt-Serviceroutine. Alle Motorola / Freescale-Mikrocontroller verwenden die Abrufmethode.

"Interrupt-Bestätigung"

Für die "Interrupt-Bestätigungs" -Methode gibt das externe Gerät der CPU eine Interrupt-Handler-Nummer. Die Interrupt-Bestätigungsmethode wird vom Intel Pentium und vielen älteren Mikroprozessoren verwendet.

Wenn die CPU von einem Interrupt betroffen ist , sucht sie den Interrupt-Handler in der Interrupt-Vektortabelle und überträgt die Steuerung an ihn.

Siehe auch

Verweise

Externe Links