Anidamiento de interrupciones

Un tema importante en un sistema de interrupciones es el de la capacidad de anidar interrupciones, es decir, la posibilidad de interrumpir la rutina de tratamiento de una interrupción por la generación de otra interrupción. Tal posibilidad viene determinada por el sistema de prioridades: «un dispositivo sólo puede interrumpir a otro cuando su nivel de prioridad es mayor que el que se está atendiendo».

Anidamiento de interrupciones

Para describir con más detalle la forma en que opera la combinación de las prioridades y el anidamiento en un sistema de interrupciones, consideremos una CPU con tres líneas de interrupción: INT0, INT1, INT2, siendo la primera la más prioritari, y la última la menos prioritaria. Supongamos que llegan tres peticiones de interrupción en el orden temporal del siguiente esquema:

combinación de prioridades

La CPU dispone de tres bits en su registro de estado para permitir la inhibición de forma independiente cada línea:

bits de registro

Las interrupciones con menor prioridad no podrán interrumpir la rutina de tratamiento de una de mayor prioridad, por lo que la secuencia de peticiones y servicios será la que aparece en el siguiente esquema:

interrupciones con menor prioridad

Fuente: Estructura de Computadores, Facultad de Informática, UCM