Tabla de vectores de interrupciones
# Tabla de vectores de interrupciones

En ciencias de la computación, una tabla de vectores de interrupciones (IVT, del inglés interrupt vector table) es una estructura de datos que asocia una lista de manejadores de interrupciones con una lista de solicitudes de interrupciones. Cada una de las entradas en la IVT, llamadas vectores de interrupciones, es la dirección de un manejador de interrupción. Mientras que el concepto es común a varias arquitecturas, una IVT puede ser implementada en una manera específica a una arquitectura dada.

## Trasfondo

La mayoría de procesadores tienen una IVT, incluyendo chips de Intel, AMD, Infineon, Microchip, Atmel, NXP, ARM, etc.

## Manejadores de interrupción

### Métodos de manejo

Una IVT puede utilizarse principalmente en tres métodos populares para encontrar la dirección inicial de la rutina del manejador:

**"Predefinido"**

El método "predefinido" carga el contador de programa (PC) directamente con la dirección de alguna entrada dentro de la IVT. La misma tabla de saltos contiene código ejecutable. Mientras que en principio una rutina de manejo de interrupción extremadamente corta podríia ser almacenada completamente en la IVT, en la práctica el código en cada entrada es una única instrucción de salto hacia el manejador completo para esa interrupción. El Intel 8080, Atmel AVR y todos los 8051 y microcontroladores Microchip usan el método predefindo.

**"Fetch"**

El método "fectch" carga el contador de programa indirectamente, utilizando la dirección de alguna entrada dentro de la IVT para obtener una dirección por fuera de la tabla, y luego cargar el contador de programa con esa dirección. Cada una de las entradas en la IVT es la dirección de un manejador de interrupción. Todos los microcontroladores Motorola/Freescale utilizan el método de fetch.

**"Confirmación de interrupción"**

Para el método de confirmación de interrupción, el dispositivo externo da al CPU un número de manejador de interrupción. El método de confirmación es utilizado por el Intel Pentium y muchos otros microprocesadores viejos.

Cuando el CPU es afectado por una interrupción, este busca un manejador de interrupción en la IVT y le transfiere control.

