Control y Manejo de Interrupciones
Control y Manejo de Interrupciones
Una interrupción es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la ejecución de un programa, y luego restablecer la ejecución del mismo sin afectarlo directamente.
De este modo un programa puede ser interrumpido temporalmente para atender alguna necesidad urgente de la computadora y luego continuar su ejecución de manera normal y como si nada hubiera pasado.
Las interrupciones son un metodo del que disponen los dispositivos e incluso
los procesos para hacer notar a la CPU la aparición de alguna circunstancia que
requiera su intervención. De este modo, los dispositivos pueden provocar que la
CPU deje por el momento la tarea que estaba realizando y atienda la
interrupción. Una vez atendida, seguira con su labor anterior.
Cuando no existían interrupciones, era el procesador el que tenía que estar
continuamente comprobando el estado del dispositivo cuando lo necesitaba. Todo
ese tiempo que el procesador estaba sondeando el estado de los dispositivos era
tiempo que no se podía dedicar a otros procesos, lo que significa esto una
afectación al rendimiento.
Por todo ello se. pensó que lo mejor era que existiera una línea especial entre
el procesador y los dispositivos, por la que los dispositivos indicaban al
procesador que ya estaban listos.
Cuando al procesador le llega una interrupción, la atiende inmediatamente
dejando de hacer lo que estuviera haciendo, para poder atenderla de la forma
correcta, debe saber con anterioridad cómo tratarla. Las computadoras tienen en
un sitio conocido de memoria, las distintas rutinas de tratamiento para las
diferentes interrupciones, el procesador reconoce la interrupción de la que se
trata y busca en memoria la rutina correspondiente.
Una vez terminado el tratamiento de la interrupción, es muy importante que el
procesador siga con lo que estaba haciendo, es importante que antes de tratar
la interrupción se guarde de alguna forma el estado en que se encuentra la
computadora, y al terminar la rutina de tratamiento se restaure el estado.
Se pueden distinguir dos tipos de interrupciones: interrupciones software e
interrupciones hardware; Las interrupciones software son provocadas por los
programas usando una función especial del lenguaje, tienen como objetivo el que
la CPU ejecute algún tipo de función, al terminar de ejecutarse esta función,
se seguirá ejecutando el programa que provocó la interrupción.
Un dispositivo periférico puede generar una señal eléctrica llamada
interrupción que modifica ciertas banderas que se encuentran en el CPU. La
detección de una interrupción es parte del ciclo de instrucción. En cada ciclo
de instrucción, el CPU revisa las banderas hardware para ver si algún
dispositivo necesita atención.
