El concepto de interrupcin de programa se utiliza para manejar diversos problemas que
surgen de la secuencia de programa normal. La interrupcin se de programa se refiere a la transferencia del control de programa de un programa que corre en cierto momento a otro programa de servicio, como resultado de una solicitud generada en forma externa o interna. El control retorna al programa original despus de que se ejecua el programa de servicio.
El procedimiento de interrupcin es, en principio, muy similar a una solicitud de subrutina, excepto por tres diferencias:
Por lo general la interrupcin se inicia mediante una seal externa o interna ms que por la ejecucin de una instruccin (excepto para una interrupcin de programa). La direccin del programa de servicio de interrupcin la determina la circuitera y no el campo de direccin de una instruccin. Un procedimiento de interrupcin por lo general almacena toda la informacin necesaria para definir el estado de la CPU en lugar de slo almacenar el contador de programa.
Despus de que se ha interrumpido un programa y se ha ejecutado la rutina de servicio, la CPU retorna al mismo estado exacto que tena cuando ocurri la interrupcin. Slo de sta manera el programa interrumpido podr reanudar exactamente como si nada hubiera ocurrido. El estado de la CPU al final del ciclo de ejecucin (cuando se reconoce la interrupcin) est determinada por:
El contenido del contador del programa. El contenido de todos los registros del procesador. El contenido de ciertas condiciones de estado.
El conjunto de todas las condiciones de bit de estado en la CPU se denomina en ocasiones una palabra de estado de programa o PSW (program status word). La PSW se almacena en un registro de hardware separado y contiene la informacin de estado de la ltima operacin de la ALU y se especifica las interrupciones que se han permitido ocurran y si la CPU est operando en un modo supervisor o de usuario. Muchos ordenadores tienen un sistema operativo residente que controla y supervisa todos los otros programas en el ordenador. Cuando la CPU ejecuta un programa que es parte del sistema operativo, se dice que est en modo supervisor o de sistema. Ciertas instrucciones tienen privilegios y slo pueden ejecutarse en ste modo. Por lo general la CPU est en el modo usuario cuando se ejecutan programas de usuario. El modo en el cual est operando la CPU en cualquier momento dado lo determinan los bits de estado especiales en la PSW.
Algunas computadoras slo almacenan el contador de programa cuando responden a una interrupcin. El programa de servicio debe entonces incluir instrucciones para almacenar el contenido de estado y de los registros y del registro de estado en respuesta a la interrupcin. La mayora de las computadoras slo almacenan el contador de programa y la PSW. En algunos casos existen dos conjuntos de registros de procesador dentro de la computadora, uno para cada modo del CPU.
Tipos de interrupciones:
Interrupciones externas:
Las interrupciones externas provienen de dispositivos de entrada y salida, de un dispsitivo de temporizacin, de un circuito que monitorea la fuente de alimentacin o de cualquier otra fuente externa.
Interrupciones internas:
Las interrupciones internas surgen debido a la utilizacin ilegal o errnea de una instruccin o datos. Las interrupciones internas tambin se llaman trampas. Ejemplos: Sobreflujos de registro, tratar de dividir entre cero...
Interrupcin de programa:
Las interrupciones internas y externas se inician a partir de seales que ocurren en la circuitera de la CPU. La interrupcin de programa se inicia al ejecutar una istruccion. La interrupcin de programa es una instruccin solicitud especial que se comporta como una interrupcin ms que como una solicitud de subrutina.