Please enable JavaScript.
Coggle requires JavaScript to display documents.
Interrupciones
Una interrupción consiste en un mecanismo que provoca…
Interrupciones
Una interrupción consiste en un mecanismo que provoca la alteración del orden lógico de ejecución de instrucciones como respuesta a un evento externo, generado por el hardware de entrada/salida en forma asincrónica al programa que está siendo ejecutado y fuera de su control.
Usos
En dispositivos donde el microprocesador no necesita obtener informacióncon mucha frecuencia. Por ejemplo, en sistemas de alarma, ya que el microprocesador no sabe cuando va a aparecer una situación que requiera sus servicios. El dispositivo genera una interrupción cuando llega el momento, y mientras tanto el microprocesador puede ejecutar otras tareas
En la atención a dispositivos periféricos que son mucho más lentos que elmicroprocesador, teclados, pantallas, impresoras. En vez de que elmicroprocesador los espere, es más eficiente que los dispositivos lointerrumpan cuando tengan algo nuevo que enviar o estén listos para recibir.
En la detección de eventos catastróficos para el sistema, tales como las fallas súbitas en las fuentes de alimentación. Por medio de una interrupción el microprocesador puede ser alertado a tiempo de preservar la información vital y desconectar los dispositivos que puedan dañarse.
Respuesta a una interrupción
La idea básica del mecanismo de E/S por interrupciones consiste en eliminar el bucle de espera.
Secuencia de pasos en el tratamiento de una petición de interrupción:
- La CPU informa al periférico de que se ha reconocido su petición de interrupción mediante una línea de reconocimiento de interrupción (INTA). En este momento, el dispositivo desactiva la línea de petición de interrupción (INTR).
- La CPU completa la ejecución de la instrucción en curso y suspende en ese momento la ejecución del programa actual.
1.El controlador de E/S u otro hardware del sistema activa la línea de petición de interrupción (INTR).
- La CPU salva el contenido del contador de programa y del registro de estado en la pila.
- La CPU carga el nuevo contador de programa asociado a la interrupción.
-
- La CPU inhibe las interrupciones (bit de máscara) y comienza a ejecutar el programa correspondiente de servicio de la interrupción (rutina de servicio).
- Una vez finalizado el programa de servicio de la interrupción, se activa de nuevo el sistema de interrupciones que se había inhibido y se restaura la información de estado del proceso.
- Se restaura el registro de estado y el contador de programa iniciales. La CPU continúa la ejecución del programa interrumpido en el punto en el que lo dejó.
Desventajas
Pueden ser necesarios circuitos externos adicionales para la generación de laseñal de interrupción y la identificación del dispositivo.
Dada su naturaleza asíncrona, es muy dificil probar su funcionamiento, ytodavía más encontrar posibles fallas.
Pueden requerir instrucciones adicionales además de las estrictamentenecesarias para dar servicio al dispositivo. Por ejemplo para preservarregistros o identificar al dispositivo.
Tipos
Por software
Los traps o interrupciones software son interrupciones invocadas por el usuario desde programa.
Por hardware
A las que llamaremos simplemente “interrupciones”, se basan en un evento hardware externo a la CPU y no relacionado con la secuencia de instrucciones que se este ejecutando en ese momento.
Ventajas
-
-
Permiten la ejecución de un programa principal junto con el control simultáneo de varios dispositivos externos.
-
Modos
Autovectorizadas
el vector de interrupción es fijo, una posición de memoria
asociada a la línea de interrupción.
Vectorizadas
el vector de interrupción o parte de él lo suministra el propio periférico cuando se le reconoce la interrupción.