1.4 Concepto de interrupción.

El concepto de interrupción de programa se utiliza para manejar diversos problemas que
surgen de la secuencia de programa normal. La interrupción 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 después de que se ejecua el programa de servicio.

El procedimiento de interrupción es, en principio, muy similar a una solicitud de subrutina,
excepto por tres diferencias:

 Por lo general la interrupción se inicia mediante una señal externa o interna más que por la
ejecución de una instrucción (excepto para una interrupción de programa).
 La dirección del programa de servicio de interrupción la determina la circuitería y no el campo
de dirección de una instrucción.
 Un procedimiento de interrupción por lo general almacena toda la información necesaria para
definir el estado de la CPU en lugar de sólo almacenar el contador de programa.

Después de que se ha interrumpido un programa y se ha ejecutado la rutina de servicio, la CPU
retorna al mismo estado exacto que tenía cuando ocurrió la interrupción. Sólo de ésta manera el
programa interrumpido podrá reanudar exactamente como si nada hubiera ocurrido. El estado de la
CPU al final del ciclo de ejecución (cuando se reconoce la interrupción) 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 información de estado de la última operación 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 sólo 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 sólo almacenan el contador de programa cuando responden a una
interrupción. 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 interrupción. La mayoría de las
computadoras sólo 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
temporización, de un circuito que monitorea la fuente de alimentación o de cualquier otra fuente
externa.

 Interrupciones internas:

Las interrupciones internas surgen debido a la utilización ilegal o errónea de una instrucción o
datos. Las interrupciones internas también se llaman “trampas”. Ejemplos: Sobreflujos de registro,
tratar de dividir entre cero...

 Interrupción de programa:

Las interrupciones internas y externas se inician a partir de señales que ocurren en la
circuitería de la CPU. La interrupción de programa se inicia al ejecutar una istruccioón. La
interrupción de programa es una instrucción solicitud especial que se comporta como una
interrupción más que como una solicitud de subrutina.