1384996122

Páginas: 8 (1894 palabras) Publicado: 18 de junio de 2015
INTERRUPCIONES
Tres tipos de interrupciones:
• Internas (TRAPS)
• Externas (HARDWARE)
• Software
Existen 256 interrupciones
En el modo real cada una tiene un vector asociado
Vectores de 4 bytes: segmento + offset

....

Memoria
principal

0000:0008
0000:0006
0000:0004
0000:0002
0000:0000

32
50

F0
8A

Segmento
Offset

Vector INT 0 = F032:8A50
(dirección donde comienza la rutina de atención)Número de interrupción:
Internas : implícito
Externas : Enviado por el periférico solicitante
Software : indicado en la propia instrucción

INTERRUPCIONES

INT 0

Error de división por 0

INT 1

Ejecución paso a paso

INT 2

NMI (No enmascarable)

INT 3

Instrucción INT

INT 4

Desbordamiento (INTO)
Reservadas por INTEL (modo protegido)

INT 32
INT 33
INT 34
Utilizables por el usuario

INT 255
Cadavector: 4 bytes
La tabla ocupa 256x4 = 1024 bytes (1 Kbyte)
Dirección del vector: 0: INT x 4

INTERRUPCIONES
Proceso de una interrupción:
1. Guarda registro F en la pila
2. IF=0, TF=0
3. Guarda CS en la pila
4. CS = NUM_INT x 4 + 2
5. Guarda IP en la pila
6. IP = NUM_INT x 4
Retorno de interrupción:
IRET
Realiza el proceso inverso

INTERRUPCIONES
Internas
0

Error de división por 0

El cocienteno cabe en el registro destino

1

Ejecución paso a paso

Se produce una interrupción cada vez que se
ejecuta una instrucción si el flag T está activado

2

NMI (No enmascarable)

Interrupción hardware (NMI)

3

Instrucción INT

4

Desbordamiento (INTO)

Produce una interrupción cuando se ejecuta
la instrucción INT (1 byte) - BREAKPOINTS
Si el flag O está activado se dispara al ejecutar
lainstrucción INTO

Reservadas
Son necesarias en el modo protegido
Fallos de página
Nivel de privilegio insuficiente
Violación de límite de segmento
No deben utilizarse en el modo real
IBM las utilizó en el PC

Software
Cualquier interrupción se puede disparar mediante la instrucción

INT n

INTERRUPCIONES
Hardware
NMI

NMI activa en flanco de subida
INTR

CPU

INTR activa a nivel alto

La CPU genera dosimpulsos de reconocimiento de interrupción
REQ0
INTA
....
REQ4

Lógica

INTR
INTA
Reconocimiento

D0 .. D7

Petición vector
Nº de vector

INTERRUPCIONES
Interconexión de varios dispositivos a la línea de interrupción

El PIC 8259 (“Programmable Interrupt Controller”)

ESQUEMA INTERNO DE BLOQUES
INT

INTA

BUFFER

LÓGICA
LECTURA/
ESCRITURA

ISR

CS#

CAS0
CAS1
CAS2

CONTROL
DE
CASCADA

SP/EN

IMRREGISTRO DE MÁSCARA

IRR
REGISTRO DE
PETICIÓN DE
INTERRUPCIÓN

A0

Bus interno (8 bits)

ÁRBITRO
DE
PRIORIDADES

RD#
WR#

LÓGICA DE CONTROL

BUS DE
DATOS

REGISTRO
INTERRUPCIONES
EN SERVICIO

D0..D7

IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7

INTERRUPCIONES
Proceso de una interrupción en el PIC
1. Un periférico solicita interrupción

REGISTRO DE
PETICIÓN DE
INTERRUPCIÓN

IRR

IRQ0
IRQ1
IRQ2

IRR
0 00 1 0 0 0 0
Se activa el bit
correspondiente en ISR

INT
IRQ3

IRQ4
IRQ5
IRQ6
IRQ7

2. El PIC solicita interrupción a la CPU (INT)
3. La CPU reconoce la petición con un primer pulso de INTA
4. Se activa el bit correspondiente de ISR y se desactiva en IRR

IRR

ISR

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0

5. La CPU envía el segundo pulso de INTA
6. El PIC coloca un puntero de 8 bits en el bus de datosEl valor del puntero es distinto para cada entrada IRQ
Es programable
7. A partir de entonces comienza a ejecutarse la rutina de atención

INTERRUPCIONES

Fin de interrupción (EOI)
Los bits activos de ISR bloquean futuras peticiones por esa línea

ISR
0 0 0 1 0 1 0 0

Líneas
activas

Líneas
bloqueadas

Deben ponerse a 0 al terminar la rutina de servicio: (EOI)
Formas de poner a 0 el bit de ISR:
1.Programar el modo automático (AEOI)
El bit se pone a 0 automáticamente al colocar el puntero
en el bus de datos
2. Enviar al PIC el comando EOI:
No específico : pone a 0 el de más prioridad
Específico: pone a 0 el que se le indica
Generalmente se envía el EOI justo antes del IRET

INTERRUPCIONES
RUTINA SERV.
A IRQ3

PROGRAMA
PRINCIPAL

RUTINA SERV.
A IRQ1

STI
STI
STI
PERMITIDAS
TODAS LAS...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS