Está en la página 1de 22

Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Entrada/Salida
Polling e Interrupciones

Francisco Garcı́a Eijó

Organización del Computador I


Departamento de Computación - FCEyN
UBA

2 de Noviembre del 2010


Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Dispositivos de E/S
¿Qué son los dispositivos de E/S?
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Dispositivos de E/S
¿Qué son los dispositivos de E/S?
Los dispositivos de E/S son aquellos que interactuan con la unidad
central de procesamiento de una computadora.
Entrada: Teclado, Mouse, Joystick, Webcam, Escáner,
Micrófono, ...
Salida: Monitor, Auriculares, Impresora, Plotter, Proyector, ...
Entrada/Salida: Unidades de almacenamiento, Módem,
Placa de red, USB, ...
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Esquemas de E/S
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Esquemas de E/S

E/S por encuesta (Polling) o Programada:


Utilizado en las primeras computadoras (Apple II) o en algunos
sistemas embebidos.
La CPU sondea periódicamente al dispositivo para ver cuál es
su estado.
Sencillo pero claramente ineficiente.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Esquemas de E/S

E/S por encuesta (Polling) o Programada:


Utilizado en las primeras computadoras (Apple II) o en algunos
sistemas embebidos.
La CPU sondea periódicamente al dispositivo para ver cuál es
su estado.
Sencillo pero claramente ineficiente.
E/S por interrupciones:
Es el dispositivo quien establece el momento en que se
realizará la transferencia de datos.
Cuando la CPU recibe notificación de la interrupción detiene el
programa en ejecución, ejecuta la RAI y finalmente devuelve el
control al programa.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Esquemas de E/S

E/S por encuesta (Polling) o Programada:


Utilizado en las primeras computadoras (Apple II) o en algunos
sistemas embebidos.
La CPU sondea periódicamente al dispositivo para ver cuál es
su estado.
Sencillo pero claramente ineficiente.
E/S por interrupciones:
Es el dispositivo quien establece el momento en que se
realizará la transferencia de datos.
Cuando la CPU recibe notificación de la interrupción detiene el
programa en ejecución, ejecuta la RAI y finalmente devuelve el
control al programa.
E/S por acceso directo a memoria (DMA)
Próxima clase con Maria Elena.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Polling: Ejercicio 1

Debido a la gran cantidad de personas que utilizan la lı́nea de


Subte B los dı́as de semana. Nos han pedido el desarrollo de un
sistema que permita contar el número de personas ingresadas a la
estación Los Incas de forma automática.
Para ello contamos con una computadora con arquitectura ORGA1
y un dispositivo de E/S llamado molinex (muy similar al famoso
molinete que todos conocemos).
Molinex cuenta con un registro de estado mapeado a la dirección
de E/S 0xFFF0, en el cuál se refleja el paso de las personas. El
registro inicialmente se encuentra en el valor 0, y cambia a 1 con el
ingreso de una persona.
Escribir una rutina en ensamblador para satisfacer el sistema
pedido, guardando el número de personas ingresadas en R0.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 2

Enunciado
Modificar la arquitectura de ORGA1 para dotarla de la capacidad de
atender la interrupción de un único dispositivo de E-S.
Indicar claramente qué cosas son responsabilidad del hardware y
qué del software.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 3

Una computadora Orga I se encuentra conectada a 3 dispositivos


de E/S que actúan como sensores. Cada sensor posee un registro
de E/S que reporta información climática. Los sensores son:
Temperatura: Mide temperatura en grados celsius
(TEMP STATUS)
Presión Atmosférica: Mide presión en HectoPascales
(ATM STATUS)
Intensidad del Viento: Mide intensidad en Metros/Segundo
(WIND SPEED)
Las etiquetas MAX TEMP, MAX ATM, MAX WIND SPEED son
constantes de 16 bits.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 3

a) Mapear los registros de E/S a direcciones de E/S de Orga I y


completar el siguiente código:
sensar: CMP [...], MAX_TEMP ;alcanzó temperatura máxima?
JG alarma
CMP [...], MAX_ATM ;alcanzó presión atmosférica máxima?
JG alarma
CMP [...], MAX_WIND_SPEED ;alcanzó velocidad máxima?
JG alarma
JMP sensar
alarma: CALL sonarAlarma ;invoca rutina de alarma
JMP sensar
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 3

b) Suponiendo que el ciclo de instrucción de cada instrucción del


programa tarda t sg y los valores máximos nunca se alcanzan
¿cuál es la frecuencia (en Hz) de muestreo (lectura) de los
registros de E/S?
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 3

c) Suponga que el CPU cuenta con soporte para una interrupción.


El sensor de temperatura solicita una interrupción si se alcanza
la temperatura máxima.
i. Modificar el programa presentado para aprovechar esta
caracterı́stica de modo que la frecuencia de muestreo sea mayor.
ii. Escribir la rutina de atención de la interrupción del sensor de
temperatura.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Controlador de Interrupciones

Es un módulo cuyo objetivo es gestionar la entrada/salida


para el procesador.
El controlador recibe un conjunto de señales de los distintos
dispositivos, toma la decisión cual es la más prioritaria y envı́a
una señal al procesador.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Controlador de Interrupciones
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Controlador de Interrupciones: Intel 8259


Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Controlador de Interrupciones: Intel 8259


Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Ciclo de reconocimiento de interrupción

1 Tras la activación de una lı́nea IR, el controlador activa la


salida INTR 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 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 El controlador deposita 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. Atómicamente almacena el
registro de flags y el PC.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Estructura del controlador

Algunos de los registros internos del controlador y sus funciones:


IRR (Interrupt Request Register): Cuando se activan una o
varias de las entradas IR, estas quedan reflejadas en los bits
correspondientes del IRR.
ISR (Interrupt Service Register): De aquellos bits activados
en el IRR, el más prioritario queda reflejado en el ISR.
IMR (Interrupt Mask Register): El programador puede
enmascarar algunas interrupciones de manera que si se
activase la IR correspondiente, el controlador la ignorará.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 4

Enunciado
El sistema de navegación de un robot está compuesto por 5 dispositivos de E-S:
un componente de visión, un receptor de
un motor, actualizaciones,
un radio receptor, un detector de explosivos.
Tı́picamente, el procesador del robot recupera información del sistema de visión y la
suministra al motor para gobernar su movimiento.
El componente de radio-recepción solicita la interrupción de este ciclo al recibir
información especı́fica desde la base de control.
Adicionalmente, el dispositivo de detección de explosivos solicita la interrupción
cuando se encuentra en la cercanı́a de un artefacto peligroso.
El receptor de correo electrónico posibilita al robot actualizar el estado del sistema.
Estos componentes se encuentran coordinados por un sistema que permite administrar
las prioridades de las solicitudes de interrupción del dispositivo radio y del dispositivo
detector.
Existen 4 rutinas ya programadas:
TratarMensajeRadial, CalcularMovimientoRobot.
EludirExplosivo, RecibirActualizacion.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

Interrupciones: Ejercicio 4

Enunciado
a) Describa la configuración inicial del sistema suponiendo que se usa un PIC Intel
8259.
b) ¿Qué acciones se llevan a cabo (tanto desde el hardware como desde el software)
en el sistema cuando el componente Detector solicita una interrupción?
c) Escriba la rutina de atención de interrupción del radio receptor.
Aclaración: Es posible completar el enunciado en los aspectos que estimemos
necesarios.
Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas

¿Preguntas?

También podría gustarte