Please enable JavaScript.
Coggle requires JavaScript to display documents.
[INTERRUPCIONES], , image, image - Coggle Diagram
[INTERRUPCIONES]
2
. Tipos de sistemas de interrupciones:
prioridades: se clasifican en 2 grupos
Interrupciones hardware producidas
internas:
producidas por la CPU,división por cero,desbordamiento,instrucción ilegal,dirección ilegal,logaritmo de cero,raíz cuadrada de negativos,etc.
Externas:
Interrupciones autovectorizadas:
el vector de interrupción es fijo, una posición de memoria asociada a la línea de interrupción.
Interrupciones vectorizadas:
el vector de interrupción o parte de él lo suministra el propio periférico cuando se le reconoce la interrupción.
El método usual de obtener la dirección de la rutina de tratamiento de la interrupción en ambos casos es a través de la tabla de vectores de interrupción, tabla que contiene las direcciones de las rutinas de tratamiento de cada interrupción.
Interrupciones software
interrupciones autovectorizadas
Disponen de una línea única de petición interrupción a la que se pueden conectar más de un dispositivo periférico, efectuándose en el punto de conexión la función lógica OR. El vector de interrupción para esta línea ocupa una posición fija de la tabla de vectores de interrupción. Cuando uno o más de los dispositivo periféricos conectados a la línea genera una señal de interrupción, la CPU debe identificar por software el dispositivo causante de la interrupción, y en caso de ser varios, establecer el orden de prioridad entre ellos. La identificación se realiza consultando los registros de estado locales de cada módulo de E/S.
Interrupciones vectorizadas:
Disponen de dos líneas de interrupción, una de petición y otra de reconocimiento.El vector de interrupción es generado por el dispositivo que produce la interrupción.Utiliza un mecanismo de daisy chaining en la transmisión de la señal de reconocimiento.
Prioridades
Cuando dos o más dispositivos de E/S generan una petición de interrupción, el sistema de prioridades determina la interrupción que se atiende en primer lugar.
Interrupciones no vectorizadas:
la prioridad la establece el software de encuesta con el orden de recorrido de todos los dispositivos de E/S salida conectados a una línea. Es decir, se establece por software.
I
nterrupciones vectorizadas
: la prioridad la determina el orden de proximidad a la CPU establecido por la línea de retorno de interrupción Es decir, se establece por hardware
3.Enmascaramiento de interrupciones
Esta posibilidad hay que utilizarla en determinadas ocasiones en las que por ningún concepto se puede interrumpir el programa en ejecución. Además de la inhibición total del sistema, existe la posibilidad de enmascarar individualmente algunas de las líneas de interrupción utilizando un registro de máscara:
La descapacitación de algunas interrupciones también se puede realizar a nivel local del propio módulo de E/S, actuando sobre su registro de control.
A nivel software también se pueden inhibir las interrupciones producidas sobre una misma línea por diferentes periféricos, en la fase de identificación de la rutina de tratamiento correspondiente.
1. E/S por interrupción: gestión de interrupciones
en las e/s el procesador tiene que esperar a que esten listos para poder para realizar la operacion ocasionando que degrade el redimiento de la Cpu y para esto se implementan las interrupciones
Fases de una interrupcion de e/s
(4) La CPU salva automáticamente el estado en la pila, es decir, el contador de programa (PC) y el registro de estado (RE):
(5) La CPU obtiene la dirección de la rutina de tratamiento a partir del vector de interrupción (VI), que usualmente se ubica en memoria.
(3) La CPU finaliza la ejecución de la instrucción en curso.
(7) La CPU ejecuta la rutina de tratamiento de la interrupción que realiza lo siguiente: Salva en la pila los registros a utilizar,Realiza la operación de Entrada/Salida,Restaura desde la pila los registros utilizados
(2) Se produce la petición de interrupción por parte de algún dispositivo periférico en un instante de tiempo impredecible para la CPU.
(6) La CPU descapacita las interrupciones (I = 0) para que durante la ejecución de la primera instrucción de la rutina de tratamiento no se vuelva a detectar la misma interrupción y provoque un bucle infinito.
(1) El programa en ejecución activa el sistema de interrupciones utilizando instrucciones que operan (ponen a 1 y a 0) sobre el bit de capacitación de las interrupciones I del registro de estado (RE):
(8) Finaliza la rutina de tratamiento con la ejecución de la instrucción de retorno de interrupción (RTI), que restaura automáticamente el estado de la CPU desde la pila y vuelve al programa interrumpido:
(9) La CPU continúa la ejecución del programa interrumpido, quedando las interrupciones capacitadas automáticamente al recuperarse el valor I = 1 del RE.
4.Anidamiento de interrupciones
Un tema importante en un sistema de interrupciones es el de la capacidad de anidar interrupciones, es decir, la posibilidad de interrumpir la rutina de tratamiento de una interrupción por la generación de otra interrupción. Tal posibilidad viene determinada por el sistema de prioridades: "un dispositivo sólo puede interrumpir a otro cuando su nivel de prioridad es mayor que el que se está atendiendo".
consideremos una CPU con tres líneas de interrupción: INT0, INT1, INT2, siendo la primera la más prioritari, y la última la menos prioritaria. Supongamos que llegan tres peticiones de interrupción en el orden temporal del siguiente esquema:
La CPU dispone de tres bits en su registro de estado para permitir la inhibición de forma independiente cada línea:
Las interrupciones con menor prioridad no podrán interrumpir la rutina de tratamiento de una de mayor prioridad, por lo que la secuencia de peticiones y servicios será la que aparece en el siguiente esquema: