Sunteți pe pagina 1din 6

TÉCNICAS Y ESTRUCTURAS DIGITALES

Tema: Unidades de Entrada/Salida TP


16
Ingeniería Informática – Licenciatura en Sistemas
Apellido y Nombre: LU:
2018 Carrera: Fecha:

PROBLEMAS RESUELTOS
A. Entradas Salidas controladas por programa

a. Dado un sistema anfitrión que dispone de un bus de direcciones de 11 líneas, un bus de datos de 8
líneas y un Mapa de Memoria Común para las operaciones de E/S, distribuya el mapa para una
aplicación que ocupa 1.024 posiciones para instrucciones, 512 para datos y las restantes para
elementos de E/S. Suponga que las instrucciones se ubican en la zona baja del mapa, a continuación
los datos y finalmente los elementos de E/S.

$7FF
E/S
$600
$5FF
Datos
Mapa de Memoria Común $400
2 KB $3FF

Instrucciones

$000

b. Teniendo en cuenta la distribución del Mapa de Memoria Común del esquema anterior, exprese el
significado de las siguientes instrucciones:

i. MOV A, $410
ii. MOV A, $610
iii. MOV $500, A
iv. MOV $60B, A
Nota: La sintaxis de la instrucción es Código de Instrucción fuente, destino

En un sistema con un mapa de memoria común el procesador emplea las mismas instrucciones de lectura y
escritura de datos para leer o escribir un elemento de E/S (instrucciones típicas son MOV, LDA, STA)

i. MOV A, $410: En el mapa de direcciones puede observarse que la posición $410 corresponde
a la zona de datos, por lo tanto, la instrucción mueve el contenido del Acumulador A del µ p a
la posición de memoria $410.
ii. MOV A, $610: La dirección $610 corresponde a un registro de elementos de E/S, por lo tanto,
la operación copia el contenido del Acumulador A del µp a la posición de memoria $610
asociada a un dispositivo de E/S. En este caso se trata de una operación de escritura.
iii. MOV $500, A: La posición $500, correspondiente a la zona de datos, almacena un valor que se
copia al Acumulador A del µp para su posterior tratamiento.
iv. MOV 60B$, A: La posición $60B, que corresponde a un elemento de E/S, se copia al
Acumulador A del µp. En este caso, la operación es de lectura y se aplica al registro de datos
del controlador ó a su registro de estado.

Página 1
TÉCNICAS Y ESTRUCTURAS DIGITALES
B. El siguiente esquema corresponde a un sistema con 20 líneas en el AB, 16 en el DB y un Mapa de E/S
Independiente de 1 KB reservado para los registros de los controladores de los periféricos del sistema.

a. En un determinado momento A0-A19=$00000 ¿Puede indicar en ambos mapas la posición referenciada?


¿Es correcta esta situación?
La posición referenciada en ambos mapas es la primera (la dirección más baja del mapa) En la MP es la
dirección $00000 y en el mapa de E/S es la posición $000. La situación no es correcta porque se produce un
conflicto en el bus de datos al intentar leer y/o escribir 2 palabras de diferentes unidades al mismo tiempo.
b. ¿Cómo soluciona la situación planteada? Indique y complete el esquema gráfico.
La solución al problema planteado es agregar una línea de control al CB con la cual el µp indique al sistema si
está trabajando con la MP o el mapa de E/S, como se muestra en el siguiente esquema:

c. La instrucción OUT deposita el contenido del Acumulador A en la posición que se indique del Mapa de
E/S, la instrucción IN lleva el contenido de la posición de memoria de E/S referenciada al Acumulador
A y la instrucción LDAA carga en el Acumulador A el contenido de la posición de memoria principal
referenciada ó un valor determinado. Suponiendo que A = $FF, el Registro de Datos = $00 (ubicado en
la posición $100) y el Registro de Estado = $AB (ubicado en la posición $101), indique el valor que
queda almacenado en cada registro después que el procesador ejecute las siguientes instrucciones:
1. LDAA $BB
2. OUT $101
3. IN $100
4. OUT $101
En la siguiente tabla se encuentra el estado inicial de cada uno de los registros involucrados en este
problema, es decir, el contenido de cada registro, y sus variaciones a medida que se van ejecutando las
instrucciones:
Acumulador Reg. de Datos Reg. de Estado
A ($100) ($101)
Estado Inicial $FF $00 $AB
LDAA $BB $BB $00 $AB
OUT $101 $BB $00 $BB
IN $100 $00 $00 $BB
OUT $101 $00 $00 $00

Página 2
TÉCNICAS Y ESTRUCTURAS DIGITALES

PROBLEMAS A RESOLVER
1. Responda:
a) ¿Cuál es la función de la Unidad de E/S (Entrada Salida) dentro de la arquitectura de la computadora? Dibuje
dicha arquitectura.
b) ¿Qué es un periférico? Ejemplifique periférico de entrada, periférico de salida y periférico de E/S.
c) ¿Puede decir que la Unidad de E/S es una memoria especial?
d) ¿Qué es un controlador de E/S? ¿Cuáles son sus funciones específicas? Dibuje el esquema de la estructura
interna de un controlador.
e) ¿A qué se denomina Mapa de Memoria Común y Mapa de E/S Independiente? ¿Cuál es la finalidad de la línea
IO/M!?
f) Mientras menos implicación tenga el μp en la operación de E/S, mayor grado de solapamiento o
simultaneidad se puede conseguir entre el trabajo del procesador y el de E/S. Describa las técnicas que se
usan para realizar las operaciones de E/S, que se listan a continuación, luego ordénelas de menor a mayor
según el grado de independencia respecto del μp: ACCESO DIRECTO A MEMORIA (DMA), E/S CONTROLADAS
POR PROGRAMA, PROCESADOR DE E/S ESPECIALIZADO, E/S CONTROLADAS POR INTERRUPCIONES
g) ¿Cuál es la función de las instrucciones IN y OUT?
h) En la estructura interna de un controlador DMA (CDMA) se dispone de los siguientes registros: Registro de
dirección, Contador de palabras, Registro de Datos y Lógica auxiliar de control. Describa cada uno de ellos.
i) Existen distintos modos de realizar un DMA según la estrategia de control sobre los buses del sistema que
posea el CDMA ¿Cuáles son los modos de transferencia DMA?
j) Dibuje un sistema que manipule las entradas y salidas a través de un procesador dedicado. Incluya en el
mismo un canal selector de E/S y un canal multiplexor ¿Qué función cumplen estos canales?
2. Considerando que la velocidad de transmisión de los datos a nivel de la arquitectura de las computadoras se
mide en pequeñas unidades de tiempo:
a) Investigue cuáles son las unidades de tiempo menores al segundo y complete la siguiente tabla:

Símbolo ds cs ms μs ns ps
Nombre
Segundo

b) Determine las cantidades equivalentes en las unidades que se indican:

s ms μs ns
0,004
100
80
20.000

2. Analice las siguientes situaciones:


a) Una computadora destina 5 ms a desarrollar el trabajo propio del procesador y 12 ms al proceso de E/S que
conlleva; además se sabe que no existe solapamiento entre ambos trabajos, puesto que las tareas de E/S son
totalmente dependientes del procesador ¿Cuánto tiempo implica la carga de trabajo de la máquina?
b) Para mejorar los tiempos se incorpora a la computadora del ítem a) una técnica de E/S con la que se logra
solapar el 50% del trabajo del procesador con el de las operaciones de E/S ¿Mejora la velocidad? ¿Cuánto
tiempo lleva el trabajo de la máquina?
c) Luego se mejora la velocidad del procesador reduciendo el tiempo de procesamiento a la mitad y se
mantienen invariables las características operativas de la Unidad de E/S ¿Cuál es el tiempo necesario para
desarrollar ambas tareas?
d) Por último se logra solapar el 100% del tiempo de procesamiento con el tiempo de operaciones de E/S
¿Cuánto tiempo insume todo este trabajo a la máquina?
3. Sabiendo que un sistema anfitrión con un bus de direcciones de 20 líneas y una memoria instalada de 16 KB
cuenta con único espacio de direcciones para dispositivos de E/S, instrucciones y datos:

Página 3
TÉCNICAS Y ESTRUCTURAS DIGITALES
a) ¿Cuál es el espacio de direcciones que puede utilizarse para periféricos?
b) ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa 32
posiciones?
c) ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa 64
direcciones?
4. Dado un sistema que cuenta con un AB de 18 líneas y un DB de 16 líneas, se pide:
a) Dibuje el esquema de distribución de un Mapa de Memoria Común considerando que la mitad inferior del
mapa de direcciones estará destinada a contener instrucciones, a continuación un espacio de 64 KB
contendrá datos, seguido de 16 KB del mapa para posibilitar las operaciones de E/S.
b) Considerando el espacio de direcciones destinada a los periféricos ¿Cuál sería el número máximo de
periféricos que podrían conectarse, si cada uno ocuparía 64 posiciones? y, ¿suponiendo que cada uno ocupa
128 direcciones?
5. La instrucción STAA guarda el contenido del acumulador A en una dirección de MP, de igual manera, la
instrucción STAB, guarda el contenido del Acumulador B en una posición de memoria. Describa el
comportamiento de las siguientes instrucciones extraídas al azar de un programa que entre otras tareas
controla diversas entradas y salidas de datos. El programa se ejecuta en un sistema de 16 líneas de
direccionamiento y 8 de datos y el mapa de direcciones destina 32 KB iniciales para los datos de esta aplicación,
los 16 KB siguientes para las instrucciones y el espacio de direcciones restante para operaciones de E/S:

a) LDAA $6000 b) STAA $C100 c) MOV $03F7,B d) MOV A, $A700


d) LDAB $E8F0 e) STAB $9711 f) LDAA $B001 g) LDAA $DE00

6. Dibuje un esquema de un sistema con 20 líneas en el AB, 8 en el DB y un Mapa de E/S Independiente de 8 KB


reservado para el controlador de los periféricos del sistema. Este controlador tiene un registro de datos en la
posición $FFF y un registro de estado en la siguiente posición. Indique las instrucciones necesarias para:
a) Copiar el contenido del registro acumulador del procesador a la primera posición de memoria.
b) Borrar el registro de datos del controlador.
c) Leer el registro de estado del controlador.
d) Guardar el valor del registro de datos del controlador en la última dirección de memoria.
e) Intercambiar el contenido de los registros de dato y estado.
7. Dado un sistema con un bus de direcciones de 24 líneas y un
bus de datos de 8 bits, al que se conecta a un controlador de
periféricos correspondiente a una impresora, dibuje el mapa Ai
de direcciones y mapa de E/S del sistema e indique la
dirección asociada al dispositivo.

8. Dado un sistema que utiliza un Mapa de Direcciones Independiente:


a) dibuje la estructura y capacidad de direccionamiento de los Mapas de Memoria y de E/S, sabiendo que el
primero se direcciona con 22 líneas del bus de direcciones y el de E/S solamente con las 10 líneas menos
significativas
b) modifique el esquema anterior de modo que la E/S se realice utilizando un mapa de memoria común.
Considere que la E/S ocupará la parte inicial del mapa de direcciones. ¿Cuál es el espacio en el que se pueden
almacenar datos e instrucciones? y ¿cuál es el espacio de E/S? Indique direcciones de inicio y fin.
9. Dado un sistema, con un bus de direcciones de 18 líneas y un bus de datos de 8 bits, al que se conecta a un
controlador de periféricos en las direcciones $93 (registro de estado) y $9F (registro de datos) del Mapa de E/S:
a) realice el esquema de conexión correspondiente y

Página 4
TÉCNICAS Y ESTRUCTURAS DIGITALES
b) escriba las instrucciones necesarias para transferir al dispositivo los valores almacenados en las direcciones
$330FF, $40000, $2F077 y $2CA10. Suponga que para iniciar la transferencia debe cargarse el valor $EE en el
registro de estado del dispositivo y que al finalizar ésta el registro debe almacenar $FF.
10. Diseñe el esquema de conexión para un procesador que tiene los terminales INTR (atención a interrupción) e
INTA (reconocimiento de interrupción) de modo que pueda atender 4 controladores de dispositivos mediante
la técnica de E/S controlada por interrupción. Al realizar el esquema considere:
a) sólo puede utilizar compuertas simples (lógica combinacional)
b) Se cuenta con circuitos PICs (Controlador Programable de Interrupciones) ¿Cómo se modificaría el esquema
de conexión si cuenta con un PIC? ¿cuántos periféricos pueden conectarse? ¿Cómo trabaja un periférico
cuando está conectado a un PIC?
11. En sistemas que cuentan con controlador DMA que realiza transferencias a ráfagas entre la memoria y los
dispositivos y viceversa, es interesante calcular los tiempos de dichas transmisiones. Resuelva:
a) Calcule el tiempo requerido para transmitir 1 bloque de 512 bytes de datos sabiendo que el procesador tarda
7 µs en cargar el Registro de Direcciones, 5 µs en cargar el Contador de Palabras y 10 µs en atender la
interrupción que se produce al finalizar la transmisión. Considere que cada byte tarda en enviarse 1,2 µs.
b) En un sistema que cuenta con un controlador DMA que realiza transferencias a ráfagas, el procesador tarda
7500 ns en cargar el Registro de Direcciones, 3000 ns en cargar el Contador de Palabras, 8 µs en atender la
interrupción que se produce al finalizar la transmisión y 5*10-6 ns en transmitir 1 byte; calcule el tamaño de
bloque sabiendo que el tiempo de transferencia es 120,9 µs.
c) Se desea conocer el tiempo requerido para transmitir 10 bloques de datos en un sistema que posee un
controlador que realiza transferencias DMA, sabiendo que por cada bloque, el procesador demora 10000 ns
en programar la transferencia y 11 µs en atender la interrupción de finalización. Considere que se transmiten
bloques de 1/2 KB y que cada byte tarda 90 ns en enviarse. Exprese el resultado en ns y µs.

PROBLEMAS PROPUESTOS
12. Dibuje el esquema de distribución de un Mapa de Memoria Común que interactúa con un procesador en un
sistema cuyo mapa de direcciones es de 1 GB y cuenta con un DB de 16 líneas. En dicho mapa la cuarta parte
inicial se destina a las instrucciones, los 512 MB siguientes deberán contener datos y los siguientes 128 KB se
destinarán a E/S.
13. Dado un sistema que cuenta con un AB de 12 líneas y un DB de 8 líneas dibuje el esquema de distribución de un
Mapa de Memoria Común considerando que los primeros 2 KB estarán destinados a instrucciones, el siguiente
1 KB contendrá datos y el resto del mapa se destinará a E/S. Además determine el propósito de las siguientes
instrucciones:
MOV $E77, A
MOV A, $940
MOV $E77, A
MOV A, $941
MOV $E77, A
MOV A, $942
MOV $E77, A
MOV A, $943
14. Dibuje los mapas de memoria y E/S independiente de un sistema con 16 líneas en el AB, 8 en el DB y 8 KB
reservado para los periféricos del sistema. Además considerando que un dispositivo tiene asociados un registro
de datos en la posición $300 y un registro de estado en $301, determine el propósito del siguiente programa:
CLRB
 IN $300
MOV A, $0010
ADDB $0010  CLRB: borra el registro acumulador B
IN $301  ADDB dir: suma al valor de registro acumulador B, el
BNZ  contenido de la dirección de memoria especificada.
 BNZ etiqueta: salta hasta etiqueta si el valor del
acumulador A es distinto de cero.
Nota: El registro de estado del dispositivo vale cero si la entrada de datos finalizó, mientras que si continúa el ingreso de
datos este registro es distinto de cero.

Página 5
TÉCNICAS Y ESTRUCTURAS DIGITALES
15. Suponiendo que dispone de 2 PIC (cada uno capaz de atender 8 controladores diferentes) y necesita conectar al
sistema 13 periféricos ¿Puede realizarlo? ¿Cómo lo implementaría? Dibuje el esquema resultante.
16. Considerando el comportamiento de un controlador DMA complete la siguiente tabla:

Carga del Carga del Tiempo de Tamaño de Tiempo de Tiempo total


Rutina de Cantidad de
Reg. de Contador de transf. de 1 Bloque transferencia de
Interrupción bloques
Direcciones Palabras byte (bytes) por Bloque transferencia

5 5 4 0,69 32 12 36,23 434,71


7 4 7 1,72 128 11 238,00 2618,01
13 3 4 0,92 8192 9 7547,03 67923,25
11 10 7 1,90 2048 20 3923,47 78469,50
6 4 2 1,00 64 15 75,73 1136,01

Página 6

S-ar putea să vă placă și