Logo Studenta

Unidad E-S

¡Estudia con miles de materiales!

Vista previa del material en texto

Página 1 
PPPRRROOOBBBLLLEEEMMMAAASSS RRREEESSSUUUEEELLLTTTOOOSSS 
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. 
 
 
 
 
 
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. 
 
 
2 0 2 0 
 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
TP 
17 
Tema: Unidades de Entrada/Salida 
Ingeniería Informática – Licenciatura en Sistemas 
Apellido y Nombre: LU: 
Carrera: Fecha: 
$7FF 
 
$600 
$5FF 
 
$400 
$3FF 
 
 
 
 
$000 
 
Datos 
E/S 
Instrucciones 
Mapa de Memoria Común 
2 KB 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 2 
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: 
 Acum A 
Reg. de Datos 
($100) 
Reg. de Estado 
($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 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 3 
PPPRRROOOBBBLLLEEEMMMAAASSS AAA RRREEESSSOOOLLLVVVEEERRR 
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? 
2. Analice las siguientes situaciones: 
a) Una computadora destina 12 nseg a desarrollar el trabajo propio del procesador y 35 nseg 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 
45% 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) Por último 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? 
3. Dado un sistema anfitrión con un bus de direcciones de 18 líneas, una memoria RAM de 131.072 palabras (ubicada a 
partir de la dirección inicial del mapa) y una memoria ROM de 65.536 palabras, y considerando que se dispone de un 
único espacio de direcciones para dispositivos de E/S, instrucciones y datos: 
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 2048 
posiciones? 
c) ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa 8192 
direcciones? 
4. 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 que tiene 16 líneas de 
direccionamiento y 8 de datos, dónde el mapa de direcciones se organiza de la siguiente forma: la primera mitad del 
mapa almacena los datos de las aplicaciones, 1/4 de la segunda mitad se destina a las instrucciones de los programas 
y el espacio de direcciones restante será utilizado para operaciones de E/S: 
a) LDAA $2601 b) STAA $AB10 c) MOV$B01C,B d) MOV A, $F100 
d) LDAB $5312 e) STAB $8202 f) LDAA $93C0 g) LDAA $1000 
5. Dibuje el esquema de conexión de un sistema con 16 líneas en el AB, 8 bits de DB y un Mapa de E/S Independiente de 
4 KB reservado para los controladores de periféricos del sistema. Suponiendo que un controlador tiene un registro de 
datos en la posición $3C1 y un registro de estado en $3C2. Indique las instrucciones necesarias para: 
a) Copiar el contenido de los registros de datos y de estado del controlador al inicio del mapa de direcciones. 
b) Copiar el contenido de la dirección $1100 al registro de estado del controlador. 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 4 
c) Copiar el contenido del registro de datos del controlador al registro acumulador del procesador. 
d) Reemplazar el contenido de los registros de datos y estado del controlador por el contenido de la dirección $4000 y 
4001, respectivamente. 
e) Intercambiar el contenido de los registros de dato y estado. 
6. Dado un sistema con un bus de direcciones de 16 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 de direcciones y mapa 
de E/S del sistema e indique la dirección asociada al dispositivo. 
 
 
 
7. 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 20 líneas del bus de direcciones (A0-A19) mientras que el de E/S solamente se accede usando las 13 
líneas menos significativas (A0-A12) 
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 final 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. 
8. Dado un sistema, con un bus de direcciones de 20 líneas y un bus de datos de 8 bits, al que se conecta a un 
controlador de periféricos en las direcciones $923 (registro de estado) y $924 (registro de datos) del Mapa de E/S: 
a) realice el esquema de conexión correspondiente y 
b) escriba las instrucciones necesarias para copiar al dispositivo los valores almacenados en las direcciones $20989, 
$2225B, $86310 y $00180. Suponga que al iniciar el proceso de copia debe almacenarse el contenido de la dirección 
$00000 en el registro de estado del dispositivo y que al finalizar debe guardarse el contenido de la posición $00010 
en dicho registro. 
9. Dado un procesador que cuenta con los terminales INTR (atención a interrupción) e INTA (reconocimiento de 
interrupción) y suponiendo que éste atiende 4 controladores de dispositivos (E/S controlada por interrupción) diseñe 
el esquema de conexión correspondiente. Al realizar el esquema considere: 
a) sólo puede utilizar compuertas simples (lógica combinacional) 
b) se cuenta con circuitos PIC (Controlador Programable de Interrupciones). ¿Cómo se modificaría el esquema de 
conexión del ítem a)? ¿cuántos periféricos pueden conectarse? ¿qué ocurre si deben conectarse más periféricos que 
los que soporta el PIC? 
10. Dado un controlador DMA que realiza transferencias a ráfagas entre la memoria y los dispositivos y viceversa calcule 
el tiempo necesario para transferir un bloque de 512 bytes sabiendo que se ocupan 5,2 μs en cargar el contador de 
palabras, 4,5 μs en establecer la dirección de transferencia y 2,6 μs en atender la interrupción de finalización y que por 
cada 0,5 bytes se demora 0,25 μs. 
11. Dado un controlador DMA que realiza transferencias a ráfagas entre la memoria y los dispositivos y viceversa calcule 
el tamaño del bloque transferido sabiendo que, por cada bloque, el procesador demora 193,72 μs, ocupando 1,2 μs en 
cargar el contador de palabras, 3,2 μs en establecer la dirección de transferencia y 5 μs en atender la interrupción de 
finalización. Considere que para transmitir 1 byte se tarda 0,09 μs. 
12. Dado un sistema que cuenta con un controlador DMA que realiza transferencias a ráfagas entre la memoria y los 
dispositivos y viceversa: 
a) calcule el tiempo requerido para transmitir 1 bloque de datos sabiendo que el procesador tarda 7 µs en cargar el 
Registro de Direcciones, 3 µs en cargar el Contador de Palabras y 1,5 µs en atender la interrupción que se produce al 
finalizar la transmisión. Considere que cada byte tarda en enviarse 1,8 µs. 
b) calcule el tiempo requerido para transmitir 20 bloques de datos sabiendo que, por cada bloque, el procesador 
demora 9,5 µs en programar la transferencia y 8,2 µs en atender la interrupción de finalización. Considere que se 
transmiten bloques de 2 KB y que cada byte tarda 250 ns en enviarse. 
c) suponiendo que el procesador tarda 3,4 µs en cargar el Registro de Direcciones, 2,5 µs en cargar el Contador de 
Palabras, 7,6 µs en atender la interrupción que se produce al finalizar la transmisión y 39,1 µs en transmitir un 
bloque de 512 bytes; ¿cuánto tarda en transferirse 1 byte?. 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 5 
PPPRRROOOBBBLLLEEEMMMAAASSS PPPRRROOOPPPUUUEEESSSTTTOOOSSS 
13. Dado un sistema con un bus de direcciones de 20 bits y un Mapa de E/S Independiente de 64 KB, dibuje el esquema de 
conexión correspondiente a un controlador de dispositivo cuyo registro asociado se ubica en la dirección $8100. 
14. 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 20 líneas y el de E/S solamente con las 8 líneas del AB. 
b) Escriba las instrucciones necesarias para transferir al dispositivo los valores almacenados en las 3 primeras 
posiciones del mapa de direcciones. 
15. 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 
16. 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 
mas_datos IN $300 
MOV A, $0010 
ADDB $0010 
IN $301 
BNZ mas_datos 
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. 
17. Dado un sistema que cuenta con un controlador DMA que realiza transferencias a ráfagas entre la memoria y los 
dispositivos y viceversa, el procesador tarda 2 µs en cargar el Registro de Direcciones, 2 µs en cargar el Contador de 
Palabras, 3 µs en atender la interrupción que se produce al finalizar la transmisión, 0,05 µs en transmitir 1 byte y el 
bloque es de ½ KB. Calcule cuántos bloques se transfirieron sabiendo que el tiempo de transferencia es de 326 µs. 
18. Dado un sistema que cuenta con un controlador DMA que realiza transferencias a ráfagas entre la memoria y los 
dispositivos y viceversa, calcule el tiempo requerido para transmitir 8 bloques de datos sabiendo que el procesador 
tarda 3 µs en cargar el Registro de Direcciones, 9 µs en cargar el Contador de Palabras y 5 µs en atender la 
interrupción que se produce al finalizar la transmisión. Considere que un bit de información se transfiere en 0,00065 
µs y que los bloques contienen 1024 palabras. 
19. Considerando el comportamiento de un controlador DMA complete la siguiente tabla: 
Carga del 
Reg. de 
Direcciones 
Carga del 
Contador de 
Palabras 
Rutina de 
InterrupciónTiempo de 
transf. de 1 
byte 
Tamaño de 
Bloque 
(bytes) 
Cantidad de 
bloques 
Tiempo de 
transferencia 
por Bloque 
Tiempo total 
de 
transferencia 
5 5 4 0,69 32 12 36,08 432,96 
7 4 7 1,72 128 11 238,16 2619,76 
13 3 4 0,92 8192 9 7556,64 68009,76 
11 10 7 1,9 2048 20 3919,2 78384 
6 4 2 1 64 15 76 1140 
 
 CLRB: borra el registro acumulador B 
 ADDB dir: suma al valor de registro acumulador B, el 
contenido de la dirección de memoria especificada. 
 BNZ etiqueta: salta hasta etiqueta si el valor del 
acumulador A es distinto de cero.

Continuar navegando