Вы находитесь на странице: 1из 49

ELECTRÓNICA DIGITAL III

INTERRUPCIONES
Interrupciones
 Tipos de Comunicación con Perifericos
 Entrada /Salida Controlada por Programa (Pregunta reiterada, POLLING”)
Iniciativa: µ procesador.

 Entrada / Salida Controlada por INTERRUPCIONES


Iniciativa: El periférico.

 Entrada /Salida Controlada por Hardware (DMA)


Iniciativa: El periférico.

 Entrada /Salida Controlada por Programa


 Ventajas: Simplicidad en la depuración de las operaciones de E/S por estar
sincronizadas con la ejecución del programa
 Desventaja: Perdida de tiempo de CPU en el Polling, sobre carga de tiempo del
sistema (Overhead).

Interrupciones
 Que es una interrupción ?
 La interrupción es la Ruptura de la Secuencia Normal en la
Ejecución de un Programa.
Tiempo de CPU

Pedido de atención
del Periférico

Ejecución Continúa Ejecución


Programa Principal 1º Instrucción Programa Principal
Rutina de
Servicio

Ejecución Rutina La Interrupción: Es


como un llamado a
de Servicio al Subrutina provocado por
Periferico. RET
un Evento Externo
(ASINCRÓNICO)
Tiempo de Fin de la
Respuesta Rutina de
Servicio
Interrupciones
Invocada por
el Evento

EVENTO

Las Interrupciones incrementan la Eficiencia del Sistema de µcomputo.


Los dispositivos de E/S usan tiempo de CPU,

“SOLO CUANDO LO NECESITAN”


Interrupciones
 Entrada /Salida Controlada por Interrupciones
 La Rutina de Servicio le quita tiempo al programa principal, pero hay mayor eficiencia.

 El dispositivo de E/S Requiere tiempo de CPU solo cuando lo necesita.

 El programa principal deberá ser retomado desde el lugar donde se produjo la


Interrupción

 Uso de las Interrupciones


 Detección de Eventos Críticos (falla de alimentación).

 Cuando el µP no requiere de información con mucha frecuencia (Sistema de alarma)

 Atención de dispositivos lentos ( teclados, impresoras, etc.) en vez de que el µP espere,


los dispositivos Interrumpen cuando. demandan atención de CPU.

 Dispositivos de alta velocidad (discos), para los cuales es difícil mantener la información
hasta que el µP la solicite.
Interrupciones
 Ventajas:
 Liberan al µP de perdidas de tiempo esperando cierto evento.

 Permiten la ejecución del PP en forma simultanea con otras tareas que atienden a
dispositivos externos. (S. Op. de tiempo Real Sort).

 Servicio prioritario a dispositivos críticos, respuesta determinística.

 Detección de eventos en tiempo real

 Desventajas:
 Puede requerir de Hardware adicional.

 Por ser Asincrónica es mas compleja la puesta a punto del Hardware y Software.

 Puede requerir el uso de instrucciones adicionales para preservar Registros y/o


identificar dispositivos.
Interrupciones
 Tipos de Interrupción:
 Enmascarables
 No Enmascarables.
 Elementos que intervienen en el proceso de Interrupción:
 Bit de habilitación interno: Accesible al Programador (EI, DI), es analizado por el
µP en cada ciclo de Instrucción.

 Bit de Máscara: en los sistemas multilíneas cumple la función de bit de habilitación


para cada una de las líneas.

 Línea de Pedido de Interrupciones: Pin físico mediante el cual el o los periféricos


solicitan atención.

 Prioridad: Condición por la cual se ordenan los dispositivos de manera que sean
atendidos por la CPU ante pedidos simultáneos, queda determinada por:

El Fabricante, por Software, o por Hardware, Registro de niveles de prioridad.


Interrupciones
 Elementos que intervienen en el proceso de Interrupción:
 Tiempo de Respuesta: Es el tiempo que transcurre entre el instante entre que se
produce el pedido de atención y el comienzo de la ejecución de la 1º instrucción de la
Rutina de Servicio ó Rutina de Tratamiento de la Interrupción, también llamada
EXCEPCIÓN.

 Overhead: Esta dado por la diferencia entre el tiempo que esta interrumpido el
Programa Principal y el que realmente ocupa la Rutina de Servicio.

 Clases de Interrupción:
 Interrupción de Una Línea.

 Sistema de Interrupciones Multilíneas. Enmascarables


 Sistema de Interrupciones Vectorizado

 Interrupciones No Enmascarables
Interrupciones
Proceso de atención a una Interrupción
In 25

b
u
Teclado c tecla
código f Bus datos
f
e µP
r

Tecla Válida
intr
Interrupciones
Proceso de atención a una Interrupción
In 25

b
u
Teclado c tecla
código f Bus datos
f
e µP
r

¿1 µseg Ó 1 seg ?
Tecla Válida
intr
Interrupciones
Proceso de atención a una Interrupción
In 25

b
u
Teclado c tecla
código f Bus datos
f
e µP
r

Tecla Válida
clk Q intr
“1” D clr

Out 35
FF de pedido
de atención
Interrupciones
Proceso de Atención a una Interrupción
Rutina servicio de
Interrupción (RSI)

LXI SP, Pila Lo realiza el


EI ; hab int. µ procesador PUSH …

Pedido de

- DI

POP …
Reset FF
EI
continua
Interrupciones
Varios periféricos para línea única de pedido
Interrupciones
Interrupciones
Interrupciones
Interrupciones en el 8085

Pin Subroutine Location


TRAP 0024 NO Enmascarable
RST 5.5 002C
RST 6.5 0034 Sistema
Multilínea
RST 7.5 003C
INTR * Sistema Vectorizado
Note: * the address of the ISR is
determined by the external hardware.
Interrupciones
Interrupciones en el 8085

“La dirección absoluta se obtiene multiplicando el valor RST por 0008h”


Esta fijada por el Fabricante

Prioridades
Registro de Máscara de Interrupciones RM
 Instrucción RIM: Carga en el acumulador los datos
relacionados con las interrupciones y la entrada serie.
(RM) (AC)

SID I 7.5 I 6.5 I 5.5 IE M 7.5 M 6.5 M 5.5

Interrupciones Máscaras de
Entrada de pendientes Bandera de Interrupción
Datos serie habilitación
de
interupciones
Registro de máscara de interrupciones
 Instrucción RIM.
Registro de máscara de interrupciones
 Instrucción SIM: Transfiere el contenido del acumulador al
Registro de Máscaras RM.
(AC) (RM)

SOD SOE X R7.5 MSE M 7.5 M 6.5 M 5.5

Máscaras de
Salida de Habilitación Interrupción
Datos serie de Mascara

Reset FF RST 7.5


Habilitación
de SOD
Interrupciones Enmascarables

FF

Activa con IE
Registro de Máscara de Interrupciones
 Ejemplos:
Registro de máscara de interrupciones
Considera que RST5.5 y RST 7.5 están habilitadas y desea habilitar la RST6.5
Interrupciones
Interrupciones Vectorizadas
Buffer

código tecla

Requiere de
Información 10 µseg Entrada de
adicional pedido de
Interrupción
INTR al µP

VECTOR: Buffer
Código de operación RST5
(En otro µP, Podría ser una dirección
o parte de ella)

Señal de
reconocimiento
INTA del µP
Interrupciones
Interrupciones Vectorizadas

Instrucciones de Restablecimiento

RSTn

Las RSTn Son llamados a


Subrutinas a Direcciones Fijas
Interrupciones
Generación por hardware del código de operación de una RSTn

5v

Ejemplo para generar RST 5:

El opcode de RST 5 es: EF

EF = 1 1 1 0 1 1 1 1

3 n 78
Interrupciones
Interrupciones Vectorizadas

RST n

Vector

FF de pedido
Reset FF
Interrupciones
 Funcionamiento de las Interrupciones Vectorizadas
 Durante el ciclo de Instrucción, la CPU analiza el bit de habilitación
 Si están deshabilitadas, termina la instrucción y busca la siguiente.
 Si están habilitadas, analiza la línea de pedido
 Si no hay pedido: termina la instrucción en curso y busca la siguiente.
 Si hay pedido: termina la instrucción y Comienza Ciclo de Maquina de
Reconocimiento de la Interrupción Vectorizada.

 Pasos del Ciclo de Máquina de Reconocimiento de una


Interrupción Vectorizada.

 Deshabilita las Interrupciones


 Activa la señal de reconocimiento de la Interrupción INTA
 La señal INTA habilita un buffer
 El periférico entrega a la CPU el Vector (Código de Operación de una RST )
 Ejecuta la RSTn (Instrucción de Llamado a subrutina a una dirección fija)
 Guarda el PC en Pila y la dirección asociada a la RSTn va al (PC)
Interrupciones
Interrupciones Vectorizadas Prioridad por Hardware
A la INTR del 8085 (pedido de interrupción)

n
Del µP
7

Cod. Op. RSTn = 3n78


Codificador con
Prioridad
Buffer
Interrupciones

Ejecuta la instrucción
Lee cod. de operación del Hard.

Busqueda cod op

No lee la memoria
Interrupciones
Interrupciones
Instrucción call como respuesta a una interrupción vectorizada
Interrupciones
Interrupciones
Interrupciones
Interrupciones Vectorizadas Prioridad por Hardware
Cadena Margarita (daisy chaining)

Vector P1 Vector P2 Vector P3 Vector P4


Interrupciones
Interrupciones Vectorizadas Prioridad por Hardware
Cadena Margarita (daisy chaining)
Interrupciones
Interrupciones Vectorizadas Prioridad por Hardware
Cadena Margarita (daisy chaining)

Mayor Prioridad
Interrupciones
Interrupciones
Interrupciones
Interrupciones
Interrupción no enmascarable TRAP

Nivel
CALL 0024
Flanco

Activa por flanco y nivel


Interrupciones
Interrupciones
Interrupciones Selectivas
Sistema jerarquizado de interrupciones
Prioridades:
Ante pedidos simultáneos P1>P2>P3 se asigna RST7.5 al P1; RST6.5 al P2; RST5.5 al P3;
En Ejecución:
 El P1 puede interrumpir al PP; RSP2; RSP3. En un caso mas general, esto
 El P2 puede interrumpir al PP; RSP3. podría variar durante la ejecución
 El P3 puede interrumpir al PP. “Prioridades Dinámicas”

PP RS_P1 (RST 7.5) RS_P3 (RST 5.5) RS_P2 (RST 6.5)

LXI SP,pila ORG 003C ORG 002C ORG 0034


MVI A,18 PUSH__ PUSH __ Siguiente diapositiva

SIM Tareas P1… Reset FF


EI …………. EI
……….. POP__ Tareas P3; puede Interrumpir el
P1 y P2
;podría realizar EI ………….
cambio de máscara
RET POP__
……………….. RET

DI
Interrupciones Selectivas
RS_P2 (RST 6.5) cont RS_P2
ORG 0034 -------------------
PUSH __ POP PSW ; Recupera Mascara
RIM ; Lee Mascara ANI 07 ; Enmascara
PUSH PSW ; Guarda Mascara ORI 08 ; 1 en el MSE
MVI A,09 ; Instala la Nueva Mascara SIM ; Escribe Mascara
SIM ------------
Reset FF POP ___
EI RET
------------------
Tareas RS_P2
--------------------
Interrupciones Selectivas
 RIM SID I 7.5 I 6.5 I 5.5 IE M 7.5 M 6.5 M 5.5

 SIM SOD SOE X R7.5 MSE M 7.5 M 6.5 M 5.5


Interrupciones
Comienzo

Inicializa
Min =0

Arma
interrup.
Interrupciones
Interrupciones

Вам также может понравиться