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

FAC. ING.

DE SISTEMAS Y ELECTRONICA

CONTROLADOR DE INTERRUPCIONES
PROGRAMABLE - 8259

I. CONCEPTOS FUNDAMENTALES.
II. CARACTERISTICAS
III. FUNCIONAMIENTO
IV. APLICACIONES

Ing. CIP. Francisco Mori

PIC - 8259
El Controlador de Interrupciones Programable PIC fue
diseado para ser usado en un sistema que incorpore un
microprocesador 8085 u 8086.
Las interrupciones permiten la comunicacin del computador
con el mundo exterior, sincronizando la ejecucin de
programas con solicitudes de parte de los perifricos.
Las interrupciones surgen de la necesidad que tienen los
perifricos de enviar informacin al Up.
Antes la atencin de perifricos consista en que el propio
procesador sondeaba (polling) el dispositivo cada cierto
tiempo para averiguar si tena pendiente alguna comunicacin
para l.
Sin embargo esto ocasionaba ineficiencia, el procesador
consuma tiempo en realizar todas las instrucciones de
2
sondeo.

La tcnica de interrupciones fue la solucin que permiti al


procesador desentenderse de este problema y delegar en el
dispositivo la responsabilidad de comunicarse con el
procesador cuando lo necesitaba.

El procesador, en este caso, no sondea a ningn dispositivo,


sino que queda a la espera de que estos le avisen (le
"interrumpan") cuando tengan algo que comunicarle (ya sea un
evento, una transferencia de informacin, una condicin de
error, etc.).

Con esto se logro:


Mejorar la eficiencia de uso del CPU.
Brindar atencin inmediata a dispositivos en cuanto lo
soliciten.
3

TIPOS DE INTERRUPCIONES
EN LA PC

Internas o
excepciones

Externas
o de hardware

No Enmascarables
NMI

Enmascarables
INTR

Software

Tipos
1. Interrupciones de Modalidad
Una seal asincrnica generada desde el hardware, que indica
la necesidad de atencin (interrupcin hardware); o,
Un evento sincrnico generado por software que indica la
necesidad de un cambio en la ejecucin (interrupcin software).
2. Interrupciones de software: se implementan de forma similar que
las llamadas a procedimientos (subrutinas) con la diferencia que las
tareas que realizan, estn ligadas al hardware de la computadora:
Recuperar o solicitar el cdigo de la ltima tecla presionada,
Envo de datos a pantalla,
Tx y/o Rx de datos por algn canal de comunicacin,
etc..
5

Interrupciones de hardware:
pueden ser a su vez:
Enmascarable, cuando la atencin de estas interrupciones
pueden ser permitidas o inhibidas por programa.
No enmascarable, cuando la atencin de este tipo de
interrupciones no pueden ser inhibidas por programa (siempre
se atienden).
4. Interrupciones de Procedencia:
Interna, cuando son generadas dentro del CPU. Por ejemplo:
desbordamiento de la divisin,
cdigo de operacin no vlido (illegal opcode),
etc..
Externa, cuando son generadas externamente al CPU,
pudiendo ser generadas por dispositivos de la mainboard o por
algn perifrico fuera de la mainborad conectado a sta
mediante una unidad de E/S. Por ejemplo: temporizador,
3.

teclado, discos duros, etc..

Interrupcin

El controlador programable de interrupciones (PIC)


8259A agrega ocho interrupciones con vector y
prioridades codificadas al microprocesador.
El 8259 combina mltiples entradas de interrupcin en
una simple salida de interrupcin hacia el
microprocesador,
extendiendo
los
niveles
de
interrupcin disponibles en un sistema ms all de los
uno o dos niveles encontrados en el chip del
procesador.
El 8259A fue el controlador de interrupciones para el bus
ISA en el IBM PC original y el IBM AT

Los PC modernos ya han comenzado a


eliminar por completo el uso del 8259A en
favor del uso exclusivo de la arquitectura
APIC de Intel.
Sin embargo, aunque ya no es un chip
separado, la interface del 8259A todava
es proporcionada por el chipset
Southbridge en las modernas tarjetas x86.

10

Descripcin del 8259


A continuacin se describen todas las terminales del 8259A.
1. D7 -D0: Conexiones bidireccionales de datos. Estas terminales se conectan al bus de datos del
8085.
2. IR7-IR0: Entradas de solicitud de interrupcin. Se emplean para solicitar una interrupcin y para
conectar con un esclavo en un sistema que tenga 8259A mltiples.
3. WR: Escribir. Una entrada conectada con la seal de habilitacin estroboscpica superior o
inferior de escritura.
4. : Leer. Entrada conectada con la seal IORC.
5. INT: Interrupcin. Salida conectada con la terminal INTR del microprocesador, desde el amo, y
conectada con una terminal IR del amo en un esclavo.
6.: Reconocimiento de interrupcin. Una entrada conectada con la seal I en el sistema. En un
sistema con amo y esclavos, slo se conecta la seal I del maestro.
7. A0: Direccin. Entrada que selecciona diferentes palabras de comando dentro del 8259A.
8. : Seleccionar integrado. Se emplea para habilitar al 8259A para programa y control.
9 : Programa esclavo/habilitar acoplador. Una terminal de doble funcin. Cuando el 8259A est en el
modo acoplador, es una salida que controla a los transreceptores en el canal de datos. Cuando el
8259A no esta en este nodo. esta terminal programa al controlador como amo (1) o como esclavo
(0).
10. CAS2 hasta CAS0: Lneas de cascada. Se emplean como salidas del maestro hacia los esclavos
para conectar en cascada a 8259A mltiples en un sistema.

11

Los conectores principales en un 8259 son los siguientes:


Ocho lneas de solicitud de interrupcin de entrada con
el nombre IRQ0 hasta IRQ7.

Una salida de solicitud de interrupcin llamada INTR.


Lnea de reconocimiento de interrupcin llamada INTA.
Lneas de datos de D0 hasta D7 para comunicar el nivel
de interrupcin o vector de desplazamiento.

Otros conectores incluyen CAS0 hasta CAS2 para


cascada entre los 8259.
12

Hasta ocho 8259 esclavos pueden ser conectados en cascada a un


8259 maestro para proporcionar un mximo de 64 IRQ. Los 8259 son
conectados en cascada conectando la lnea de INT de un 8259 esclavo
a una lnea de IRQ de un 8259 maestro.
Hay tres registros internos en el 8259:
El Interrupt Mask Register (IMR) (Registro de enmascaramiento de
interrupcin), que mantiene una mscara de las interrupciones
actuales pendientes de reconocimiento (acknowledgement).
El Interrupt Request Register (IRR) (Registro de solicitud de
interrupcin), que mantiene una mscara de las interrupciones que
estn pendientes de fin de interrupcin (EOI).
El In-Service Register (ISR) (Registro de En-Servicio), que mantiene
una mscara una mscara de interrupciones a las que no se les
debe enviar un reconocimiento.
13

PC/XT y PC/AT

El sistema PC/XT tiene un controlador 8259, mientras PC/AT y sistemas posteriores


disponen de dos controladores 8259 maestro-esclavo. Desde IRQ0 hasta IRQ7 son las
lneas de interrupcin maestro del 8259, y desde la IRQ8 hasta IRQ15 las lneas de
interrupcin esclavo. Los nombres reales de las patillas del 8259 son desde la IR0 hasta
la IR7. IRQ0 hasta IRQ15 se aadieron posteriormente, siendo los nombres de las lneas
del bus ISA
Maestro 8259
IRQ0 - Intel 8253 o Intel 8254 del temporizador de intervalos programable, tambin
conocido como temporizador del sistema
IRQ1 - Intel 8042 teclado controlador
IRQ2 - no se haya asignado en el PC / XT; esclavo en cascada para 8259 la lnea INT en
el PC / AT
IRQ3 - 8250 UART puerto serie COM2 y COM4
IRQ4 - 8250 puerto UART serie COM1 y COM3
IRQ5 - controlador de disco duro en el PC / XT; Intel 8255 en paralelo LPT2 puerto en
el PC / AT
IRQ6 - 82072A Intel controlador de disquete
IRQ7 - Intel 8255 de puerto paralelo LPT1 / interrupcin falsa
14

Esclavo 8259 (PC / AT y posteriores)

IRQ8 - reloj en tiempo real (RTC)


IRQ9 - sin asignacin comn
IRQ10 - sin asignacin comn
IRQ11 - sin asignacin comn
IRQ12 - Intel 8042 PS/2 controlador del ratn
IRQ13 - coprocesador
IRQ14 - controlador de disco duro 1
IRQ15 - controlador de disco duro 2
15