Interrupción

Una interrupción es cuando un microprocesador hace algo que no se le ha ordenado debido a cosas que suceden fuera de lo que se supone que debe hacer el programa. Las interrupciones suelen producirse porque el procesador recibe una señal del hardware, pero también pueden provenir del software que se ejecuta junto con el programa. Entre las muchas cosas que pueden causar interrupciones están la pulsación de teclas en un teclado, la activación del temporizador incorporado, la realización de una transferencia de datos o cualquier otro evento que necesite una acción del procesador de inmediato. Las interrupciones pueden ocurrir en cualquier momento mientras el procesador está ejecutando un programa, sin importar en qué parte del código fuente del programa se encuentre.

Este gráfico muestra lo que ocurre cuando se llama a una interrupciónZoom
Este gráfico muestra lo que ocurre cuando se llama a una interrupción

Cómo funcionan las interrupciones

Una llamada de interrupción por hardware o software (conocida como solicitud de interrupción, o IRQ) es atendida por un "gestor de interrupciones" o "rutina de servicio de interrupción" (ISR) en el procesador. Pone lo que está haciendo en ese momento en una pila y luego sigue ciertas instrucciones que hacen una tarea determinada en nombre del sistema, que no tiene que ser parte del programa que hace. Una vez que ha terminado de seguir las instrucciones, el ISR recupera lo que puso en la pila y continúa con lo que estaba haciendo antes de la interrupción.

Muchos controladores de interrupción de los procesadores actuales utilizan un vector de interrupción para clasificar las interrupciones en función de su procedencia, entre otras cosas. El vector suele contener el código que debe ejecutarse cuando se produce la interrupción. Los ISRs son generalmente responsables de lidiar con, o "dar servicio", a la interrupción, además de mantenerse en funcionamiento.

Usos de las interrupciones

  • Activación de tareas a intervalos regulares
  • Servicio de un dispositivo externo que puede ocurrir en cualquier momento
  • Eliminar la necesidad de un sondeo sincrónico
  • Activar un sistema operativo (SO) para que actúe

Preguntas y respuestas

P: ¿Qué es una interrupción?


R: Una interrupción es una acción realizada por un microprocesador que no forma parte del programa que se está ejecutando debido a acontecimientos externos.

P: ¿Cuál es la causa más frecuente de interrupciones en un procesador?


R: Las interrupciones se producen con mayor frecuencia en un procesador debido a la recepción de señales del hardware.

P: ¿Las interrupciones pueden ser causadas por software?


R: Sí, las interrupciones también pueden ser causadas por software que se ejecuta en paralelo al programa que se está ejecutando.

P: Enumere algunos ejemplos de eventos que podrían causar una interrupción.
R: Algunos ejemplos de eventos que podrían causar una interrupción son la pulsación de teclas en un teclado, la activación de un temporizador y la transferencia de datos.

P: ¿Una interrupción depende del lugar donde se esté ejecutando el programa?


R: No, las interrupciones pueden producirse en cualquier momento durante la ejecución del programa, independientemente de en qué parte del código fuente se encuentre el programa.

P: ¿Es una interrupción un evento deseable para un microprocesador?


R: Las interrupciones suelen ser eventos indeseables para un microprocesador, ya que interrumpen la ejecución del programa y requieren atención inmediata.

P: ¿Cómo responde un microprocesador a una interrupción?


R: Un microprocesador suspende temporalmente el programa en ejecución y ejecuta una rutina de servicio de interrupción (ISR) para gestionar la interrupción antes de volver al programa en ejecución.

AlegsaOnline.com - 2020 / 2023 - License CC3