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.
Las
interrupciones generadas por los dispositivos periféricos son generalmente
asíncronos con respecto al programa que se está ejecutando. Un evento es asíncrono a
una entidad si el momento cuando ocurre no está determinado por la entidad. Las
interrupciones no siempre ocurren en el mismo punto dentro de la ejecución de
un programa. En contraste, un evento de error como la división por cero
es síncrono en el sentido de que siempre ocurre durante la
ejecución de una instrucción particular si el mismo dato es presentado a la
instrucción.

No hay comentarios:
Publicar un comentario