Pasos para el procesamiento de una IRQ

1. Terminar la ejecución de la instrucción máquina en curso.

2. Almacenar el valor de contador de programa -PC- (del inglés Program Counter), en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.

3. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.

4. Una vez que la rutina de la interrupción termina, el microprocesador restaurará él estado que había guardado en la pila en el paso 2 y retorna el programa que se estaba usando anteriormente.

Una Microcomputadora basada en el microprocesador 8085A tiene 5 líneas de entrada para señales de control por medio de las cuales los dispositivos (circuitos) externos pueden solicitar la atención inmediata de la microcomputadora, estas señales se conocen como «solicitudes de interrupción».

Las líneas de solicitudes de interrupción solicitan a la microcomputadora interrumpir el trabajo que está ejecutando en el momento de la solicitud para atender las necesidades de los dispositivos (circuitos) externos solicitantes.

La transferencia de datos por medio de interrupciones hacen más eficiente el uso del tiempo de procesamiento de las microcomputadoras, ya que la microcomputadora no tiene que estar preguntando si un periférico tiene datos o está lista para recibir datos, es el periférico con la interrupción quién se lo indica.

Las interrupciones permiten que eventos tales como alarmas, fallas de energía y periféricos (que tengan datos o estén listos para recibir datos) obtengan una atención inmediata de la CPU. El programador no necesita tener a la CPU verificando continuamente si ocurrieron estos eventos.

Fuente: Apuntes de Arquitectura de computadoras de la FCA de la UNAM