Está en la página 1de 6

Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

DOCUMENTO DE DISEÑO Y ARQUITECTURA


Fecha: 22/11/2017

Versión: 3

Responsables: Cecilia Elizabeth Sánchez Macas.

ÍNDICE
1 ESTILO ARQUITECTÓNICO..........................................................................................................................1
1.1 Presentación.......................................................................................................................................1
1.2 Justificación........................................................................................................................................1
2 DISEÑO................................................................................................................................................1
2.1 Diagrama del Sistema.........................................................................................................................1
2.2 Diagrama de despliegue.....................................................................................................................1

EJEMPLO DE EJECUCIÓN DE UNA INTERRUPCIÓN-CÓDIGO

1 ESTILO ARQUITECTÓNICO
El estilo arquitectónico en el siguiente proyecto trata sobre la ejecución de una
interrupción, a trávez de tres dispositivos externos, un controlador de interrupciones 8259
y el procesador 8086.

1.1 Presentación
El presente proyecto trata sobre las interrupciones, las cuales son un mecanismo para
suspender en el CPU temporalmente la ejecución de un programa y de esta forma servir a
un evento que requiere atención.
Antes de continuar es conveniente hablar del controlador de interrupciones, en concreto
del Intel 8259.

Primeramente, ¿Qué es un controlador de interrupciones?


Un controlador de interrupciones es un dispositivo utilizado para combinar varias fuentes
de interrupciones sobre una o más líneas del CPU, mientras que permite que los niveles
de prioridad sean asignados a sus salidas de interrupción.
Cuando el dispositivo tiene múltiples salidas de interrupción a imponer, las impondrá en
orden de su prioridad relativa.

Controlador de Interrupciones Intel 8259

Historia
El 8259 fue introducido como parte de la familia Intel MCS 85 (microprocesador de
Intel) 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.

Arquitectura de computadores - Página 1 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Características Especiales
Compatible con 8086,
Compatible con 8088,
Compatible con MCS-80
Compatible con MCS-85.

Fig.1|Diagrama del Intel 8259


http://www.wikiwand.com/es/ Intel_8259

Estructura del Controlador


La estructura del controlador 8259 está formada por un conjunto de registros internos
expuestos a continuación:
IRR/ISR: Registro de peticiones de interrupción/Registro de servicio de interrupción. Al
activarse una o varias entradas IR quedan reflejadas en los bits correspondientes de
IRR. Se usa para decidir a que interrupción atender.
IMR: Registro de máscaras de interrupción. Se delega la responsabilidad en el
programador para enmascarar algunas interrupciones que ayuden al controlador a
ignorar dichas interrupciones, aquí cada bit corresponde a una línea IRQ, e indica si
está permitida una interrupción de ese nivel en ese momento

Ahora bien, como mencione anteriormente las interrupciones son un mecanismo para
suspender en el CPU temporalmente la ejecución de un programa y de esta forma
servir a un evento que requiere atención. Las interrupciones añaden cierta
complejidad al diseño del hardware; en principio, es necesario jerarquizarlas de alguna
manera para decidir cuál se atiende en el caso de que se produzcan dos
simultáneamente. También es importante el control de prioridad para el caso de que
se produzca una interrupción mientras se está procesando otra; sólo se la atenderá si
es de mayor prioridad.

Arquitectura de computadores - Página 2 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

En un sistema de I/O basado en interrupciones, el dispositivo de I/O será el encargado


de avisar cuándo ocurre un suceso relevante a la CPU, liberando a ésta de tener que
estar preguntándole a cada dispositivo si ha habido algún evento relevante. Para lograr
esto, el dispositivo de I/O se debe conectar a la CPU con una señal de control dedicada,
denominada interrupt requeté o IRQ. Mediante esta señal de 1 bit el dispositivo le
notificará a la CPU si ocurrió algo relevante.

Interrupciones en x86

El PIC8259 tiene la capacidad de trabajar en modo «maestro» o «esclavo», lo que


permite que a un PIC «maestro», se le puedan conectar las salidas IRQ de otros PIC
«esclavos» a alguna de sus entradas IRQ. En la arquitectura x86 tradicional se utilizan
dos PIC8259, uno maestro y uno esclavo. El PIC esclavo se conecta al IRQ2 del PIC
maestro, totalizando 15 posibles IRQ para conectar dispositivos. El diagrama de
conexión entre los PIC y la CPU se observa en la figura 2.

Fig.2| Conexión entre controladores de interrupciones y la CPU en la arquitectura x86


tradicional.
http://vreyn.com/files/arqui/apunte10/apunte10.html

Arquitectura de computadores - Página 3 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

1.2 Justificación
Realizar un ejemplo de "una rutina de servicio de interrupción"; desde su organización
hasta cómo interactúan los distintos componentes de la interfaz del dispositivo con el
procesador 8086.

Objetivos:
 Explicar un ejemplo de una rutina de servicio de interrupción.
 Que el programa de la aplicación se asemeje lo más posible al funcionamiento real de
una rutina de servicio de interrupción.
 Que el aplicativo tenga una interface agradable al usuario y sea de fácil instalación y
uso.

2 DISEÑO
A continuación, se presenta el diseño UML de ejecución de una interrupción, este diseño nos
permite entender como los dispositivos externos interactúan el controlador de interrupciones
8259 y este a la vez con el procesador 8086.

2.1 Diagrama del Sistema

Fig. 3| Diagrama UML – Ejecución de Interrupciones


Figura Propia del Autor

Arquitectura de computadores - Página 4 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

2.2 Diagrama de Despliegue

Fig. 4| Cómo ocurre una interrupción – Conexiones entre los dispositivos y el controlador
de interrupciones.
http://sisoperesimculh.blogspot.com/2014/05/unidad-4.html

Fig. 5| Diagrama de despliegue – Ejecución de una interrupción


Figura Propia del Autor

Arquitectura de computadores - Página 5 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

La figura 5 nos muestra la interfaz de la simulación a realizarse, donde el usuario seleccionara


los dispositivos externos que interactuarán con el controlador de interrupciones y claro este a
la vez con el procesador, tendremos una pantalla que nos indicara los resultados de la
simulación. Nos mostrará que dispositivo tuvo prioridad al momento de analizar cada
interrupción.

Ejemplo de Interrupciones por hadware.


Es una señal eléctrica producida por un dispositivo físico del ordenador, siendo un
suceso externo al procesador que cambia el flujo normal de ejecución del procesador,
convirtiéndose en un evento asíncrono.

1. Esta señal informa a la CPU que el dispositivo requiere su atención.


2. La CPU parará el proceso que está ejecutando para atender la interrupción.
3. Cuando la interrupción termina, la CPU reanuda la ejecución en donde fue interrumpida,
pudiendo ejecutar el proceso parado originalmente o bien otro proceso.
Las interrupciones por hardware son generadas por un agente externo al procesador (disco
duro, teclado, etc…) por ejemplo del teclado, cada vez que se presiona una tecla y se suelta se
genera una interrupción.
Las interrupciones tienen distintas prioridades predefinidas que indican que interrupción tiene
mayor prioridad y no puede ser interrumpida por una de menor prioridad.
4. Así el Registro de Interrupciones Activas (ISR) indica el número de la interrupción en
concreto que se está realizando.
5. Si llega otra interrupción de hardware con menor o igual prioridad no se ejecutará, pues se
asume que aún está en ejecución la anterior, mientras el ISR esté con su número.
Los IRQ se encuentran numerados, y cada dispositivo hardware se encuentra asociado a un
número IRQ. Por ejemplo, el reloj (en IRQ 0) tiene una prioridad más alta que el teclado (IRQ 1)

EJEMPLOS MÁS COMUNES DE INTERRUPCIONES:


INT 10H - BIOS DE VIDEO –
INT 14H - DISPOSITIVO DE I/O SERIE –
INT 16H - LLAMADO AL BIOS PARA EL TECLADO – INT 17H - SERVICIOS DE IMPRESIÓN –
INT 1AH - HORA DEL DÍA – INT 1CH - TEMPORIZADOR – INT 21H -

REFERENCIAS

1. Echeverría, A. (s.f.). Obtenido de http://vreyn.com/files/arqui/apunte10/apunte10.html


2. Sanchis, E. (2002). Sistemas Electrónicos Digitales.
3. Stallings, W. (2005). Organización y Arquitectura de Computadoras. Madrid: PEARSON.
4. Wikipedia. (24 de 10 de 2017). Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Intel_8259
5. http://vreyn.com/files/arqui/apunte10/apunte10.html

Arquitectura de computadores - Página 6 de 6


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL

También podría gustarte