¿Qué es un sistema de interrupción?
Pregunta 1: ¿Qué es el sistema de interrupción? El sistema de interrupción es una parte importante de la computadora. El control en tiempo real, el procesamiento automático y la transmisión de datos entre computadoras y dispositivos periféricos suelen utilizar sistemas de interrupción. 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 computadoras 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.
Pregunta 2: ¿Qué es una llamada al sistema de interrupción? Interrupciones, excepciones y llamadas del sistema
La llamada interrupción se refiere a una reacción de la CPU ante un evento que ocurre en el sistema. La CPU suspende el programa que se está ejecutando, retiene la escena y luego la transfiere automáticamente. para realizar el procesamiento correspondiente, el programa volverá al punto de interrupción después de procesar el evento y continuará ejecutando el programa "interrumpido".
Las interrupciones se pueden dividir en tres categorías. La primera categoría es causada por el exterior de la CPU, llamada interrupciones, como interrupciones de E/S, interrupciones de reloj, interrupciones de consola, etc. La segunda categoría es el proceso causado por eventos internos de la CPU o eventos durante la ejecución del programa, que se denominan excepciones, como por ejemplo debido a una falla de la propia CPU (el voltaje de la fuente de alimentación es inferior a 105 V o la frecuencia está fuera de 47 ~ 63Hz), falla del programa (código de operación ilegal, dirección fuera de límites, desbordamiento de punto flotante, etc.), etc.
El tercer tipo de proceso provocado por el uso de llamadas al sistema para solicitar servicios del sistema en el programa se denomina "trampa" (trampa o trampa). Las dos primeras categorías suelen denominarse interrupciones y muchas veces se producen de forma involuntaria y pasiva, mientras que caer en ellas es intencionado y activo.
1. Procesamiento de interrupciones
El procesamiento de interrupciones generalmente se divide en dos pasos: respuesta a interrupciones y procesamiento de interrupciones. La respuesta a las interrupciones se implementa mediante hardware y el procesamiento de interrupciones se implementa principalmente mediante software.
(1) Respuesta a la interrupción
Todo el procesamiento de las solicitudes de interrupción se implementa mediante un conjunto de mecanismos de interrupción formados por una combinación de hardware y software. Cuando ocurre una interrupción, la CPU suspende la ejecución del programa actual y cambia para manejar la interrupción. Este proceso mediante el cual el hardware responde a una solicitud de interrupción se llama respuesta de interrupción. En términos generales, la secuencia de respuesta a la interrupción ejecuta los siguientes tres pasos:
◆ Detener la ejecución del programa actual
◆ Guardar la información del punto de interrupción del programa original (principalmente el contador del programa); PC y El contenido del registro de estado del programa PS);
◆ Saque el vector de interrupción del controlador de interrupciones y transfiéralo al controlador correspondiente.
Por lo general, después de ejecutar una instrucción, la CPU verifica inmediatamente si hay una solicitud de interrupción y, de ser así, responde inmediatamente.
El sistema responde cuando ocurren interrupciones, ya sean de hardware (como de un reloj o dispositivo externo), interrupciones programáticas (ejecución de instrucciones que causan "interrupciones de software" - Interrupciones de software) o eventos inesperados ( Si la página visitada no está en la memoria).
Si la prioridad de ejecución de la CPU actual es menor que la prioridad de la interrupción, entonces detiene la ejecución de la siguiente instrucción del programa actual, acepta la interrupción y mejora el nivel de ejecución del procesador. (generalmente lo mismo que el nivel de prioridad de interrupción), de modo que cuando la CPU procesa la interrupción actual, pueda proteger otras interrupciones del mismo nivel o de niveles inferiores, luego guarde la información del sitio del punto de interrupción y transfiérala a la entrada de la interrupción correspondiente. manejador a través del vector de interrupción obtenido.
(2) Procesamiento de interrupciones
La CPU obtiene el vector de interrupción del controlador de interrupciones y luego encuentra la entrada correspondiente de la tabla de vectores de interrupción IDT de acuerdo con el vector de interrupción específico. La entrada debería ser una puerta de interrupción. Por lo tanto, la CPU alcanza la entrada del programa de servicio total del canal según la configuración de la puerta de interrupción.
La secuencia de procesamiento de interrupciones por parte del núcleo se completa principalmente con las siguientes acciones:
◆ Guarde el contenido de cada registro del proceso en ejecución y colóquelo en un nuevo marco del pila central.
◆ Determine la "fuente de interrupción" o verifique la ocurrencia de la interrupción, identifique el tipo de interrupción (como interrupción de reloj o interrupción de disco) y el número de dispositivo de la interrupción (como qué disco causó la interrupción). interrumpir). Después de que el sistema recibe una interrupción, obtiene un número de interrupción de la máquina, que recupera el desplazamiento de la tabla de vectores de interrupción. Los vectores de interrupción varían de una máquina a otra, pero generalmente incluyen la dirección de entrada del controlador de interrupción correspondiente y la palabra de estado del procesador durante el procesamiento de la interrupción.
◆El núcleo llama al controlador de interrupciones para procesar la interrupción.
◆El procesamiento de la interrupción se completa y se devuelve. Después de ejecutar el controlador de interrupciones, el núcleo ejecuta una secuencia específica de instrucciones relacionadas con la máquina, restaura el contenido del registro en el momento de la interrupción, ejecuta el desapilado de la pila del núcleo y el proceso regresa al estado de usuario. Si se establece el indicador de reprogramación, la programación del proceso se realiza cuando el proceso regresa al modo de usuario.
2. Llamada al sistema
En los sistemas Unix/Linux, las llamadas al sistema aparecen en los programas C como llamadas a funciones C normales. Sin embargo, la secuencia general de llamadas a funciones no puede cambiar el estado del proceso del estado de usuario al estado central, pero las llamadas al sistema pueden hacerlo.
El compilador del lenguaje C utiliza una biblioteca de funciones predeterminada (comúnmente llamada biblioteca C), que tiene los nombres de cada llamada al sistema. Las funciones de la biblioteca C utilizan específicamente una instrucción para cambiar el estado de ejecución del proceso al estado central. Las llamadas al sistema Linux se implementan mediante la instrucción de interrupción "INT 0x80".
Cada llamada al sistema tiene un número único, llamado número de llamada del sistema. Todas las llamadas al sistema...gt;gt;
Pregunta 3: Definición de interrupción del sistema La interrupción del sistema es generalmente una combinación de interrupción de hardware e interrupción de software. "Interrupción" es un término informático. nuestra solicitud. Si el mouse, el teclado, la placa o algunos componentes del kernel del sistema quieren servirle, deben solicitarlo al sistema y luego esperar la asignación por parte del sistema operativo. Sin este proceso, no puedes hacer nada. La razón del alto uso de CPU es que si el sistema quiere seguir brindándole servicios "en cualquier momento", debe garantizar su prioridad. La llamada interrupción se refiere a una reacción de la CPU ante un evento que ocurre en el sistema. La CPU suspende el programa en ejecución, retiene la escena y automáticamente transfiere para ejecutar el programa de procesamiento correspondiente. Después de procesar el evento, regresa a. el punto de interrupción para continuar la ejecución. El programa fue "interrumpido". Las interrupciones se pueden dividir en tres categorías. La primera categoría es causada por el exterior de la CPU, llamada interrupciones, como interrupciones de E/S, interrupciones de reloj, interrupciones de consola, etc. La segunda categoría es el proceso causado por eventos internos de la CPU o eventos durante la ejecución del programa, que se denominan excepciones, como por ejemplo debido a una falla de la propia CPU (el voltaje de la fuente de alimentación es inferior a 105 V o la frecuencia está fuera de 47 ~ 63Hz), falla del programa (código de operación ilegal, dirección fuera de límites, desbordamiento de punto flotante, etc.), etc. El tercer tipo de proceso causado por el uso de llamadas al sistema para solicitar servicios del sistema en el programa se llama "trampa" (o trampa). Las dos primeras categorías suelen denominarse interrupciones y muchas veces se producen de forma involuntaria y pasiva, mientras que caer en ellas es intencionado y activo.
Pregunta 4: Función del sistema de interrupción Cuando la CPU responde a una interrupción, si una fuente de interrupción con una alta prioridad emite una solicitud de interrupción, la CPU puede interrumpir el programa de servicio de interrupción en curso y retener el programa. Los puntos de interrupción (similares al anidamiento de subrutinas) responden a interrupciones de alto nivel. Una vez completado el procesamiento de interrupciones 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.
Pregunta 5: ¿Qué es una interrupción? 1. Definición de interrupción
Cuando la CPU ejecuta un programa, responde a un evento que ocurre en el sistema (ya sea debido al programa mismo). o razones externas). Este tipo de reacción: la CPU pausa el programa en ejecución, retiene la escena y transfiere automáticamente para procesar el evento correspondiente. Después de procesar el evento, regresa al punto de interrupción en el momento apropiado y continúa completando la interrupción. programa. (Si es necesario, el programa interrumpido se puede reanudar más adelante y continuar con la ejecución).
Eventos: por ejemplo, al leer un disco, hay un problema con el disco y no se puede leer, lo que provoca una interrupción. Después de resolver el problema, el programa se reanuda y los errores de software también se interrumpen. Características: 1) Las interrupciones son aleatorias
2) Las interrupciones son recuperables
3) Las interrupciones se procesan automáticamente
2. Conceptos relacionados con el sistema de interrupciones
La interrupción se completa mediante software (sistema operativo) y hardware. El mecanismo de hardware se denomina dispositivo de interrupción.
Dispositivo de interrupción: se refiere al hardware que detecta interrupciones y responde a ellas.
El controlador de interrupciones se completa mediante software.
Lo anterior se denomina colectivamente sistema de interrupción
Fuente de interrupción: el evento que provoca que se produzca la interrupción
Registro de interrupción: el hardware configura el registro para cada fuente de interrupción, y la información cuando ocurre la interrupción se registra en el registro para su análisis y procesamiento (registro de interrupciones)
Palabra de interrupción: el contenido del registro de interrupción
Palabra de estado del programa: controla el orden de ejecución de las instrucciones y retiene e indica la relación con el programa. Estado relevante del sistema.
Contenido básico
Estado básico del programa (dirección de instrucción, código de condición, estado de objetivo/administración, espera de cálculo)
Código de interrupción: guardar cuando el Cuando se ejecuta el programa, el sistema operativo puede analizar y procesar el evento de interrupción actual (configurando el código de interrupción)
Bit de máscara de interrupción
Registro de palabra de estado del programa (la CPU se ejecuta de acuerdo con su contenido)
Pila del sistema: un área abierta en la memoria para guardar temporalmente la escena en ejecución del proceso
Pregunta 6: Principios y aplicaciones de la computadora ¿Cuáles son las funciones implementadas por el sistema de interrupción 4.1 Desarrollo y requisitos de rendimiento del sistema de instrucción
Desde la perspectiva de la estructura jerárquica de una computadora, las instrucciones de la computadora incluyen microinstrucciones, instrucciones de máquina y macroinstrucciones. Las instrucciones de la máquina se encuentran entre microinstrucciones y macroinstrucciones y, por lo general, se denominan instrucciones para abreviar. Cada instrucción puede completar una operación aritmética u operación lógica independiente*.
El conjunto de todas las instrucciones de la máquina en una computadora se llama sistema de instrucciones de esta computadora.
Sistema informático: se refiere a una serie de ordenadores con un mismo sistema de instrucción básico y una misma arquitectura básica.
CISC: Computadora con sistema de instrucción complejo RISC: Computadora con sistema de instrucción simple
Un sistema de instrucción completo debe cumplir cuatro requisitos: 1. Integridad 2. Efectividad 3. Regularidad 4. Compatibilidad
El lenguaje de alto nivel no tiene nada que ver con la estructura del hardware y el sistema de instrucción de la computadora. El lenguaje ensamblador no tiene nada que ver con la estructura del hardware y el sistema de instrucción de la computadora. Diferentes máquinas tienen instrucciones diferentes, por lo que un programa escrito en lenguaje ensamblador no puede ejecutarse en otros tipos de máquinas.
4.2 Formato de instrucción
Las instrucciones de máquina están representadas por palabras de máquina La palabra de máquina que representa una instrucción se llama instrucción, generalmente llamada instrucción.
El formato de instrucción es la forma estructural en la que la palabra de instrucción se expresa en código binario, que generalmente consta de * palabra de código y campo de dirección.
El código de operación de la instrucción indica la naturaleza de la operación que la instrucción debe realizar. El número de dígitos que componen el campo de operación generalmente depende de la escala del sistema de instrucción por computadora que requieren. más número de bits para representar cada instrucción específica. En términos generales, un código de operación * que contiene n bits puede representar hasta 2^n instrucciones.
Según cuántas * direcciones de operandos hay en una instrucción, las instrucciones se pueden dividir en: instrucciones de dirección cero, instrucciones de dos direcciones y instrucciones de tres direcciones.
En cuanto a la ubicación de la operación *: se divide en instrucciones de tipo SS, RS, SR y RR.
El número de dígitos binarios contenidos en una palabra de instrucción se denomina longitud de la palabra de instrucción.
La longitud de la palabra de la máquina se refiere a la cantidad de bits de datos binarios que la computadora puede procesar directamente y determina la precisión informática de la computadora. La longitud de la palabra de la máquina suele ser coherente con el número de bits en la unidad de memoria principal. Las instrucciones cuya longitud de la palabra de instrucción es igual a la longitud de la palabra de la máquina se denominan instrucciones de una sola palabra. Las instrucciones cuya longitud de palabra de instrucción es igual a la mitad de la longitud de palabra de la máquina se denominan instrucciones de media palabra. Las instrucciones cuya longitud de palabra de instrucción es igual a la longitud de dos palabras de máquina se denominan instrucciones de palabra doble.
La codificación de instrucciones* suele tener dos formatos de codificación: formato fijo, adecuado para ordenadores grandes y medianos; formato variable, adecuado para micro y pequeños ordenadores.
4.3 Modos de direccionamiento de instrucciones y datos
Aquí debemos distinguir la diferencia entre los modos de direccionamiento de instrucciones y datos.
Direccionamiento de instrucciones: Los métodos de direccionamiento de instrucciones incluyen direccionamiento secuencial y direccionamiento de salto. El direccionamiento secuencial generalmente ejecuta programas secuencialmente, mientras que las instrucciones de salto se generan mediante la ejecución de instrucciones de transferencia.
El llamado método de direccionamiento de * operación: es el método para formar la dirección efectiva de * operación.
Incluyen: direccionamiento implícito, direccionamiento inmediato, direccionamiento de registro, direccionamiento directo, direccionamiento indirecto, direccionamiento relativo, direccionamiento indexado y base, direccionamiento compuesto, modo de direccionamiento en bloque, modo de direccionamiento por segmento.
A continuación se explican los principales métodos de direccionamiento.
Direccionamiento indirecto: Es la dirección de la unidad de almacenamiento que almacena la *dirección operativa.
Direccionamiento relativo: agregue el contenido del contador de programa PC a la dirección formal D en el formato de instrucción para formar la dirección efectiva de la operación *.
Direccionamiento indexado y direccionamiento base: Ambos son muy similares en el formato de instrucción. Es habitual en el direccionamiento base que el registro de valor base proporcione la cantidad de referencia y la instrucción proporcione la cantidad de desplazamiento. En el direccionamiento indexado, el registro índice proporciona el monto de modificación y la instrucción proporciona el monto base.
El modo de direccionamiento de bloques se utiliza a menudo en instrucciones de entrada y salida para transferir bloques de datos entre memoria externa o dispositivos periféricos y el modo de direccionamiento de bloques también se puede utilizar para mover bloques de datos en la memoria.
4.4 Direccionamiento de la Pila
La pila se utiliza en la memoria principal y en los registros.
Direccionamiento en tándem: dado en registro.
Principio de pila: primero en entrar, último en salir, último en entrar, primero en salir.
Operación de pila:
Operación de inserción: ingrese primero, luego modifique el contador.
Operación pop: primero modifica el contador y luego sale de la pila.
Capítulo Cinco Unidad Central de Procesamiento
5.1 Funciones y Composición de la Unidad Central de Procesamiento
Las cuatro funciones de la CPU: control de instrucciones, control de operaciones, control de tiempo, control de datos tratamiento.
La unidad central de procesamiento consta de dos partes principales: el controlador y la unidad aritmética.
Las funciones del controlador son: 1. Recuperar una instrucción de la memoria e indicar que la siguiente instrucción está en la memoria...gt;gt
Pregunta 7: Interrumpir el sistema; ¿función? 5 puntos La tecnología de interrupción es una tecnología muy importante y compleja que se completa con el software y el hardware de la computadora, que se denomina sistema de interrupción. La tecnología de interrupciones en el sistema 80486 se implementa conjuntamente mediante el mecanismo de gestión de interrupciones de la CPU, el controlador de interrupciones programable 8259A y el controlador de interrupciones. Un sistema de interrupción completo debe tener las siguientes funciones.
① Establecer fuente de interrupción: la fuente de interrupción es un evento en el sistema que permite la solicitud de interrupción. Configurar la fuente de interrupción es determinar el método de solicitud de interrupción de la fuente de interrupción.
② Identificación de la fuente de interrupción: cuando hay una solicitud de la fuente de interrupción, la CPU puede identificar correctamente la fuente de interrupción y transferirla para ejecutar la subrutina de servicio de interrupción correspondiente.
③ Arbitraje de fuente de interrupción: cuando varias fuentes de interrupción solicitan interrupciones al mismo tiempo, el sistema puede juzgar automáticamente la prioridad de interrupción. La solicitud de interrupción con la mayor prioridad será respondida y procesada por la CPU primero.
④ Procesamiento y retorno de interrupciones: puede saltar automáticamente entre la subrutina del servicio de interrupciones y el programa principal, y proteger los puntos de interrupción.
Pregunta 8: ¿Qué es una interrupción? Describa brevemente el proceso de procesamiento de interrupciones. La interrupción es la ejecución de la rutina del servicio de interrupción, que es el núcleo del sistema de interrupción. El proceso de manejo de interrupciones de diferentes sistemas informáticos tiene sus propias características, pero para la mayoría de las computadoras, el flujo del programa de servicio de interrupciones es el siguiente.
El proceso de procesamiento de interrupciones consta básicamente de 3 partes. La primera parte es la parte de preparación. Su función básica es proteger la escena. Para los métodos de interrupción no vectoriales, es necesario determinar la fuente de la interrupción. , la interrupción se abre para permitir interrupciones más avanzadas. Solicitud de interrupción de la rutina del servicio de interrupción de bajo nivel; la segunda parte es la parte de procesamiento, es decir, la ejecución real de la rutina del servicio de interrupción específica que sirve a una fuente de interrupción; La parte es la parte final, las interrupciones deben desactivarse primero para evitar que el proceso en el sitio sea interrumpido por una nueva solicitud de interrupción, luego restaurar la escena y luego habilitar la interrupción para que se puedan responder otras solicitudes de interrupción. después de regresar al programa original. La última instrucción de la rutina del servicio de interrupción debe ser la instrucción de retorno de interrupción.
Pregunta 9: ¿Cuál es el sistema de interrupción del microcontrolador? Por favor dé una respuesta detallada, gracias. Los dispositivos de interrupción y los manejadores de interrupciones se denominan colectivamente sistema de interrupción.
El sistema de interrupciones 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.
Diferentes ordenadores tienen diferentes estructuras de hardware e instrucciones de software, 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. Desempeña el papel de 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 interrupciones se completa integrando software y hardware. La parte de hardware se denomina dispositivo de hardware y la parte de software se convierte en un programa de procesamiento de software.