La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Controlador de Interrupciones 8259A

Presentaciones similares


Presentación del tema: "Controlador de Interrupciones 8259A"— Transcripción de la presentación:

1 Controlador de Interrupciones 8259A
Marcos Calle Andres flores

2 HISTORIA: El 8259 fue introducido como parte de la familia Intel MCS 85 en 1976. El 8259A fue incluido en el PC original en 1981 y mantenido por el IBM XT cuando se introdujo en 1983. Un segundo 8259A fue añadido con la introducción del IBM AT. El 8259A ha coexistido con la arquitectura APIC de Intel, desde su introducción en los PC de multiprocesador simétrico. 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 todavía es proporcionada por el chipset Southbridge en las modernas tarjetas x86.

3 Método de interrupción:
Hardware Uso de PIC Software Ejecución de una instrucción Interrupciones internas División para cero

4 Método de interrupción por HARDWARE:
Es el mas común. Utilizado en las primeras computadoras de Apple o en algunos sistemas embebidos. El procesador debe probar cada dispositivo en secuencia, y “preguntar” a cada uno si necesita un servicio. Sencillo pero claramente inservible. Método del sondeo:

5 Método de interrupción por HARDWARE:
Es un método más deseable Permita el microprocesador que se encuentra ejecutando su programa principal y sólo se detiene para dar servicio a los dispositivos periféricos cuando el propio dispositivo lo necesite. Método de la Interrupción:

6 Interrupciones en el sistema del microcomputador:
El diseño requiere que los dispositivos de E/S reciban el servicio de manera eficiente para que grandes cantidades de las tareas totales del sistema puedan ser asumidas por el microcomputador con poco o ningún efecto sobre el rendimiento.

7 PIC Programable Interrupter Controler
Controlador de Interrupciones Programable. El PIC funciona como un gerente en un entorno de sistema controlado por alarmas. Acepta solicitudes de los equipos E/S y comprueba si la petición de entrada tiene un valor de prioridad más alta que el nivel que esté dando servicio actualmente, y emite una interrupción al CPU en base a esta determinación. El PIC, después de emitir una interrupción al CPU, debe de alguna manera informar al CPU que desde ese "punto" puede continuar, el contador de programa a la rutina de servicio asociado con el dispositivo que solicita. Este "puntero" es una dirección en vector.

8 Controlador de Interrupciones programable (PIC)
Concepto: Es un módulo que gestiona las interrupciones de entrada/salida para el procesador. Esto ahorra diseñar lógica y añadir patitas al procesador. Recibe señales de interrupción procedentes de los dispositivos, toma la decisión de cual es la más prioritaria, y envía una única señal al procesador. Admite hasta 8 señales de interrupción, pero también admite ser configurado en cascada Controlador de Interrupciones programable (PIC)

9 Características especiales:
Compatible con 8086, Compatible con 8088, Compatible con MCS-80, Compatible con MCS-85. [1] COMPATIBILIDAD

10 Características especiales:
Controlador de prioridad de 8 niveles Expandible hasta 64 niveles NIVELES:

11 Características especiales:
Interruptor programable Diseño completamente estático Capacidad de máscara de petición individual Operación de Bajo consumo Fuente de alimentación sencilla de 5V Versiones comerciales disponibles de: 12.5MHz, 8MHz y 5MHz CARACTERISTICAS EXTRAS:

12 Descripción del patillaje:
CS#: Selección del chip. WR#: Escritura. RD#: Lectura D0-7: bus de datos. CAS 0-7: Bus privado cuando hay una configuración en cascada. SP#/EN#: Estas líneas tienen doble función según la configuración: modo no buffered. modo buffered. INT: interrupción: IRQ 0-7: Interrupciones: INTA#: Interrupt acknowledge: A0: dirección[2]

13 Descripción del patillaje:

14 Descripción del patillaje:

15 Ciclo de reconocimiento de interrupción:
1.- Tras la activación de una línea IR1-7, el controlador activa la salida INT señalándole a la CPU la existencia de una interrupción activada. 2.- Al recibir la señal, el procesador da un pulso en su salida INTA o INT, indicando que comienza un ciclo de reconocimiento de interrupción. 3.- Al recibir el controlador el pulso por su entrada INTA comienza a arbitrar las interrupciones recibidas y selecciona la más prioritaria. 4.- Se emite un segundo pulso por la línea INTA del procesador que utiliza el controlador para depositar en el bus el vector correspondiente a la interrupción de mayor prioridad. 5.- El procesador obtiene la dirección de la rutina de interrupción a partir de este dato y salta a ella. Almacena el registro de flags y la dirección de retorno, deshabilita las interrupciones y comienza a ejecutar la rutina. ALGORITMO:

16 Estructura del controlador:
IRR/ISR: Interrupt request register/Interrupt service register: IMR: Interrupt mask register Modo completamente anidado Modo de rotación automática Rotación específica

17 Programación: Existen dos puertos de lectura/escritura en el chip.
La línea de dirección, A0, decide a qué puerto se accede. La programación se realiza enviando una secuencia de palabras de control denominadas ICW. Hay 4 palabras de control diferentes y caso de enviarlas todas hay que hacerlo siempre en secuencia.

18 Programación: ICW1 Interruption Command Word
Es la primera escritura que se hace sobre el 8259 y marca su reinicio. Se escribe sobre el A0=0. Siempre que se escriba en este puerto un byte con el bit 4 a 1, se interpretará como un comando de inicialización. Otra información de configuración que aporta esta palabra de inicialización es: las interrupciones se activarán por flanco o por nivel el controlador funcionará sólo o en modo cascada el controlador trabaja con el 8086 o con el 8085 se enviará o no la palabra de inicialización ICW4

19 Programación: ICW2 Interruption Command Word
Se envía por el puerto A0=1, y ha de seguir inmediatamente al envío de ICW1. Contiene el índice en el vector de interrupciones correspondiente a la interrupción 0. El resto de índices lo calculará el controlador incrementando correspondientemente este valor para cada una de las demás interrupciones.

20 Programación: ICW3 Interruption Command Word
Esta palabra se envía únicamente si la configuración es en cascada. Se envía por el puerto A0=1 y ha de seguir inmediatamente a ICW2. Al maestro se le enviará una ICW3 indicándole en cuales de sus entradas IR hay colgado un controlador. A cada uno de los controladores esclavos se le envía una ICW3 indicándoles su número de identificación, el valor que aparecerá en las CAS cuando el dispositivo es seleccionado.

21 Programación: ICW4 Interruption Command Word
Esta es una palabra opcional que se envía también por A0=1, siguiendo a ICW3. En ICW1 se ha indicado en su momento si se enviará o no esta última palabra de inicialización. Programar el EOI. Los bits en el ISR se limpiarán automáticamente cuando el controlador reciba el segundo pulso de la señal INTA Por último se indica si el controlador va a trabajar con el , o con el propio 8086.

22 CAMBIO: PROGRAMACION FUNCIONAMIENTO ICW OCW OCW EOI

23 Funcionamiento: OCW1: Operation Command Word
Se envía al puerto A0=1 y el contenido del buffer se cargará directamente en el registro IMR. Lo que significa que cada bit indicará: (1) la correspondiente IR del controlador quedará inhibida para nuevas peticiones de interrupción; (0), la correspondiente IR del controlador queda habilitada para serle atendidas las nuevas peticiones de interrupción.

24 Funcionamiento: OCW2: Operation Command Word
Se envía al puerto A0=0. Para evitar que sea interpretada como una ICW1, el bit 4 estará siempre a cero. Las acciones que se pueden realizar con este comando son: Especificar el tipo de rotación que se desea dar al registro IRR para resolver las prioridades una vez se ha atendido a la última interrupción. Enviar un EOI genérico ( a la última interrupción atendida - de los bits activos en el ISR el más prioritario - ) o específica (en el propio comando se especifica qué interrupción se desea dar por atendida).

25 Funcionamiento: OCW3: Operation Command Word
Igualmente se envía al puerto A0=0, con el bit 4 a cero siempre. Este comando programa el modo especial de enmascaramiento. Durante este modo no funcionan las prioridades y toda interrupción que no tenga una marca en el IMR está habilitada aunque en determinado instante haya activo un bit del ISR

26 Ejemplo:

27 Código:

28 Assembler:

29 Conclusiones: Podremos identificar cada uno de los puertos que existen en el Controlador de Interrupciones Programable, y a su vez sabremos para que sirven cada uno de ellos y como podremos usarlos. Capacidad para descubrir cada una de las palabras que se usan tanto para: Programación como, Funcionamiento u Operación. Entender el funcionamiento del PIC, y sus diferentes usos que podemos darlo.

30 Bibliografía: [1] M. A. Mazidi, « Libro de Componentes Perifericos de Intel, » [2] interstil, «Data Sheeet 8259,» Interstil US, [3] «slideshare,» 01 Abril [En línea]. Available: ?next_slideshow=1. [Último acceso: 12 Octubre 2015]. [4] Wikipedia, «Wikipedia,» [En línea]. Available: [Último acceso: 12 Octubre 2015]. [5] «slideshare,» 20 Septiembre [En línea]. Available: e-r-r-u-p-t-c-o-n-t-r-o-l-l-e-r2. [Último acceso: 11 Octubre 2015].


Descargar ppt "Controlador de Interrupciones 8259A"

Presentaciones similares


Anuncios Google