Une table de vecteurs d'interruption ( TVI ) est une structure de données qui associe une liste de gestionnaires d'interruption à une liste de requêtes d'interruption dans une table de vecteurs d'interruption. Chaque entrée de la table, appelée vecteur d'interruption, correspond à l'adresse d'un gestionnaire d'interruption (également appelé routine de service d'interruption ). Bien que le concept soit commun à toutes les architectures de processeurs, les TVI peuvent être implémentées de manière spécifique à chaque architecture. Par exemple, une table de répartition est une méthode d'implémentation possible d'une table de vecteurs d'interruption.
Intel , AMD , Infineon , Microchip Atmel , NXP, ARM , etc.Gestionnaires d'interruptions
La méthode « prédéfinie » charge directement le compteur de programme (PC) avec l'adresse d'une entrée de la table des vecteurs d'interruption. Cette table contient le code exécutable. Bien qu'en principe un gestionnaire d'interruption extrêmement court puisse être stocké intégralement dans la table des vecteurs d'interruption, en pratique, le code de chaque entrée se limite à une simple instruction de saut qui exécute la routine de service d'interruption (ISR) complète correspondant à cette interruption. Les microcontrôleurs Intel 8080 , Atmel AVR et tous les microcontrôleurs 8051 et Microchip utilisent cette approche prédéfinie.
"Aller chercher"
La méthode de « récupération » charge le compteur ordinal (PC) indirectement, en utilisant l'adresse d'une entrée de la table des vecteurs d'interruption pour extraire une adresse de cette table, puis en chargeant le PC avec cette adresse. Chaque entrée de la table des vecteurs d'interruption correspond à l'adresse d'une routine de service d'interruption. Tous les microcontrôleurs Motorola/Freescale utilisent la méthode de récupération.
« Accusé de réception d'interruption »
Dans le cadre de la méthode d’« acquittement d’interruption », le périphérique externe fournit au processeur un numéro de gestionnaire d’interruption. Cette méthode est utilisée par les processeurs Intel Pentium et de nombreux microprocesseurs plus anciens.
Lorsque le processeur est affecté par une interruption , il recherche le gestionnaire d'interruption dans la table des vecteurs d'interruption et lui transfère le contrôle.