¿Qué es un sistema de interrupción?
Los dispositivos de interrupción y los manejadores de interrupciones se denominan colectivamente sistema de interrupción. El sistema de interrupción es una parte importante de la computadora. Los sistemas de interrupción se utilizan a menudo para control en tiempo real, manejo automático de fallas y transmisión de datos entre computadoras y dispositivos periféricos. La aplicación del sistema de interrupción mejora enormemente la eficiencia de la computadora.
Introducción
Los dispositivos de interrupción y los manejadores de interrupciones se denominan colectivamente sistema de interrupción.
El sistema de interrupción es una parte importante del ordenador. Los sistemas de interrupción se utilizan a menudo para control en tiempo real, manejo automático de fallas y transmisión de datos entre computadoras y dispositivos periféricos. La aplicación del sistema de interrupción mejora enormemente la eficiencia de la computadora.
Las estructuras de hardware y las instrucciones de software de diferentes ordenadores no son exactamente iguales, por lo que los sistemas de interrupción también son diferentes. El sistema de interrupción de la computadora puede mejorar la capacidad de la CPU para manejar eventos multitarea. El mecanismo de interrupción es una de las infraestructuras de los sistemas informáticos modernos. Funciona como una red de comunicación en el sistema para coordinar la respuesta del sistema y el procesamiento de diversos eventos externos. Las interrupciones son necesarias para implementar la multiprogramación. Una interrupción es una respuesta de la CPU a un evento que ocurre en el sistema. El evento que causa una interrupción se llama fuente de interrupción. Una solicitud de procesamiento por parte de una fuente de interrupción a la CPU se denomina solicitud de interrupción. Cuando ocurre una interrupción, el punto de pausa del programa interrumpido se convierte en el punto de interrupción. El proceso en el que la CPU suspende el programa actual y responde a la solicitud de interrupción se llama respuesta de interrupción. El programa que maneja la fuente de interrupción se llama controlador de interrupciones. El controlador de interrupciones relacionado con la ejecución de la CPU se denomina procesamiento de interrupciones. El proceso de regresar al punto de interrupción se llama retorno de interrupción. La implementación de la interrupción se completa de manera integral mediante software y hardware. La parte de hardware se llama dispositivo de hardware y la parte de software se llama programa de procesamiento de software.
Función
Respuesta y retorno
Cuando la CPU recibe una solicitud de interrupción, puede decidir si responde a la interrupción de acuerdo con la situación específica. La CPU no es un trabajo más urgente e importante; responda a esta solicitud de interrupción después de ejecutar la instrucción actual. El proceso de respuesta a la interrupción de la CPU es el siguiente: primero, el valor de la PC en el punto de interrupción (es decir, la dirección de la siguiente instrucción que se ejecutará) se inserta en la pila y se retiene. Esto se denomina punto de interrupción de protección y lo ejecuta automáticamente. el hardware. Luego, el contenido del registro relevante y el estado del bit de bandera se introducen en la pila y se retienen. Esto se denomina sitio de protección y lo programa el usuario. Después de proteger el punto de interrupción y la escena, se puede ejecutar el programa de servicio de interrupción. Una vez completada la ejecución, la CPU regresa al programa principal desde el programa de servicio de interrupción. El proceso de retorno de interrupción es el siguiente: primero, el contenido del original. Se restaura el registro reservado y el estado de los bits de bandera. Esto se llama restaurar la escena. Se completa la programación del usuario. Luego, agregue la instrucción de retorno RETI. La función de la instrucción RETI es restaurar el valor de la PC y hacer que la CPU regrese al punto de interrupción. Después de restaurar la escena y el punto de interrupción, la CPU continuará ejecutando el programa principal original y el proceso de respuesta a la interrupción finaliza aquí.
Colas de prioridad
Por lo general, hay múltiples fuentes de interrupción en el sistema. Cuando varias fuentes de interrupción emiten solicitudes de interrupción al mismo tiempo, se requiere que la computadora determine qué interrupción es más urgente. para que pueda ser respuesta. Para ello, la computadora asigna un nivel de prioridad a cada fuente de interrupción, llamado prioridad. De esta manera, cuando varias fuentes de interrupción emiten solicitudes de interrupción al mismo tiempo, se puede responder primero a la interrupción con mayor prioridad, y a la interrupción con menor prioridad solo se puede responder después de que se procese la interrupción con mayor prioridad. El proceso en el que la computadora responde uno por uno según la prioridad de la fuente de interrupción se llama cola de prioridad. Este proceso se puede implementar mediante circuitos de hardware o mediante consultas de software.
Anidamiento de interrupciones
Cuando la CPU responde a una interrupción, si una fuente de interrupción con alta prioridad emite una solicitud de interrupción, la CPU puede interrumpir la rutina de servicio de interrupción en curso y retener el punto de interrupción. de este programa (similar al anidamiento de subrutinas) responde a una interrupción de alto nivel. Una vez completado el procesamiento de la interrupción de alto nivel, la rutina del servicio de interrupción interrumpida continúa. Este proceso se denomina anidamiento de interrupciones. Si el nivel de prioridad de la fuente de interrupción que emite una nueva solicitud de interrupción es el mismo nivel o inferior que la fuente de interrupción que se está procesando, la CPU no responderá a la solicitud de interrupción hasta que la rutina del servicio de interrupción que se está procesando se ejecute antes de que pueda procesar la Nueva interrupción.