Logo Studenta

Unidades ES-Resultados

¡Estudia con miles de materiales!

Vista previa del material en texto

Página 1 
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? 
 
 
La carga de trabajo lleva un tiempo de 47 ns. 
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? 
 
 
El 45% de solapamiento es de 5,4 ns. Por lo que al tiempo sin solapamiento le restamos esta pequeña reducción: 47 ns – 5,4 
ns = 41,6 ns. 
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? 
 
 
El tiempo de trabajo propio del procesador disminuye, y además se sigue solapando el 45% de su trabajo (2,7 ns) con el de 
E/S; por lo que el tiempo total de trabajo es de 38,3 ns. 
Esto demuestra que, aunque el tiempo de proceso propio del procesador disminuya, lo que marcará la diferencia en el 
procesamiento total será la diminución del tiempo en las operaciones de E/S ó un mayor solapamiento entre 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? 
Mapa de direcciones de 256 KB – RAM de 128 KB (17 líneas del AB) – ROM de 64 KB (18 líneas del AB) 
$3FFFF 
ROM 
$30000 
$2FFFF 
a) E/S 64KB 
 $20000 
$1FFFF 
RAM 
 
 
$00000 
 
 
 
2 0 2 0 
 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
TP 
17 
Tema: Unidades de Entrada/Salida 
Ingeniería Informática – Licenciatura en Sistemas 
 
 
TRABAJ OPERACIÓN E/S 35 ns 
TRABAJO CPU 12 ns OPERACIÓN E/S 35 ns 
TRABAJO CPU 12 ns OPERACIÓN E/S 35 ns 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 2 
b) Por los datos enunciados, vemos que queda un espacio de 64 KB en el mapa de direcciones que se puede destinar a las 
operaciones y datos relacionados con los periféricos. Suponiendo que cada periférico necesita 2048 posiciones, entonces, 
como máximo, podremos conectar 64 KB / 2048 bytes = 64 KB * 1024 B / 2048 B = 32 periféricos. 
c) Se realiza el mismo razonamiento que en b). En este caso podrían instarse 8 periféricos. 
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 
Para resolver este ejercicio, al igual que el anterior, es conveniente tener a la vista el mapa de direcciones del sistema 
propuesto. De esa manera, al leer cada instrucción, podremos ver a qué sector del mapa de direcciones hace referencia y en 
función de ello deducir el objetivo de la misma. Es necesario además, entender el objetivo de cada instrucción, lo que realiza. 
Cabe aclarar que cada instrucción consiste en 2 partes: 
 
 
El sistema dado se refiere a un mapa de memoria común, puesto que indica qué sector se dedica a datos, a instrucciones y a 
operaciones de E/S. 
$FFFF 
E/S 
$C000 
$BFFF 
INSTRUCCIONES 
 $8000 
$7FFF 
DATOS 
 
 
$0000 
a) LDAA $2601: La instrucción es LDAA y a continuación se encuentra la dirección del dato. LDAA copia el contenido de una 
dirección de memoria principal en el registro auxiliar del procesador denominado Acumulador A. Por lo tanto esta instrucción 
copia el contenido de la dirección $2601 de memoria principal al Acumulador A del µp. 
A  M($2601) 
b) STAA $AB10: La instrucción STAA copia el contenido del Acumulador A a una dirección de memoria principal. En este caso 
el valor presente en el Acumulador A es una instrucción porque se copia en el sector de instrucciones de la memoria 
principal: 
M($AB10)  A 
c) MOV $B01C,B: En este caso en particular, la sintaxis de la instrucción es: 
Instrucción, Fuente, Destino 
La instrucción MOV copia el contenido de fuente a destino. El dato que se copia está en la dirección $B01C de memoria 
principal, y se graba en otro registro auxiliar del procesador, denominado Acumulador B: 
B  M($B01C) 
Suponemos que el contenido de esa dirección es un dato y se traslada al µp para ser procesado. 
d) MOV A, $F100: Esta instrucción tiene la misma sintaxis que c) y en este caso se copia el contenido del acumulador A en la 
dirección $F100 de memoria principal, observamos que dicha posición corresponde a la sección de operaciones de E/S, por lo 
que podemos suponer que el sistema está realizando una operación de salida a través de algún periférico. 
A  M($F100) 
 
CÓDIGO INSTRUCCIÓN DATO Ó DIRECCIÓN DEL DATO 
 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 3 
e) LDAB $5312: en este caso vale el análisis que se hizo en a) excepto que aquí interviene el acumulador B del µp: 
B  M($5312) 
f) LDAA $93C0: 
A  M($93C0) 
Se trata de una instrucción. 
g) LDAA $1000: en este caso vale el análisis que se hizo en a) excepto que aquí interviene el acumulador B del µp: 
B  M($5312) 
Se trata de un dato. 
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. 
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. 
Para plantear este problema es conveniente dibujar ambos mapas de direcciones, el de memoria y el de E/S, y colocar las 
direcciones y los contenidos que dice el enunciado: 
Mapa de direcciones de MP Mapa de direcciones de E/S 
$FFFF $FFF 
 
 
 $3C2 ESTADOe/s 
 $3C1 DATOe/s 
 $000 
$4001 DATOmp3 
$4000 DATOmp2 
 
$1100 DATOmp1 
$0001 
$0000 
 
a) Debemos colocar las instrucciones que nos permita copiar el registro de dato y de estado del controlador al inicio del 
mapa. El registro de dato del controlador está en la dirección $3C2 del mapa de E/S y el registro de estado en la dirección 
$3C1. Ambos valores deberán ser copiados en las direcciones $0000 y $0001 del mapa de direcciones de MP. No existe una 
instrucción que permita hacer esa copia en forma directa. Lo que haremos es llevar el contenido de esas posiciones a los 
registros auxiliares del µp y desdeallí si podremos copiarlos a la memoria principal. Debemos recordar que, cuando el 
sistema utiliza un mapa de E/S independiente, aparecen instrucciones específicas para operar con sus registros; cuando se 
ejecutan tales instrucciones, el sistema inhabilita la operación sobre la MP y habilita al mapa de E/S: 
INSTRUCCIONES DESCRIPCION 
IN $3C1 A  ME/S($3C1) 
STAA $0000 M($0000)  A 
IN $3C2 A  ME/S($3C2) 
STAA $0001 M($0001)  A 
 
 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 4 
b) Debemos colocar las instrucciones que nos permita copiar el contenido de la dirección $1100 de MP al registro de estado 
del controlador; el mismo se encuentra en la dirección $3C2 del mapa de E/S. Sabemos que no podemos realizar esta copia 
en forma directa. Entonces usaremos como registro auxiliar el Acumulador A del µp: 
 
 
 
 
d) El resultado de este ítem se observa a continuación: 
Mapa de direcciones de MP Mapa de direcciones de E/S 
$FFFF $FFF 
 
 
 $3C2 DATOmp3 
 $3C1 DATOmp2 
 $000 
$4001 ESTADOe/s 
$4000 DATOe/s 
 
$1100 DATOmp1 
$0001 
$0000 
 
Para realizar el intercambio de valores entre un registro del controlador y uno de MP tendremos que usar además del 
Acumulador A del µp una posición auxiliar más; usaremos la posición inicial del mapa de MP. 
 
 
 
 
 
 
 
 
Se procede de igual manera para el intercambio de valores del registro de estado y el valor de la dirección $4001. 
e) En este caso el resultado de la ejecución de las instrucciones será: 
 
Mapa de direcciones de E/S 
$FFF 
 
 
$3C2 DATOe/s 
$3C1 ESTADOe/s 
$000 
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 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. 
 
 
INSTRUCCIONES DESCRIPCION 
LDAA $1100 A  M($1100) 
OUT $3C2 ME/S($3C2)  A 
INSTRUCCIONES DESCRIPCION 
IN $3C1 A  ME/S($3C1) 
STAA $0000 M($0000)  A 
LDAA $4000 A  M($4000) 
OUT $3C1 ME/S($3C1)  A 
LDAA $0000 A  M($0000) 
STAA $4000 M($4000)  A 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 5 
 
El mapa de direcciones es de 64 KB. El enunciado no nos dice la capacidad del 
mapa de E/S, ni con cuántas líneas se direcciona. Sin embargo vemos que el 
controlador de la impresora se direcciona con 6 líneas de AB (address bus) por lo 
que el mapa de E/S tiene una capacidad de 64 bytes. El controlador de la 
impresora se encuentra en la dirección 1110002 = $38 del mapa de E/S 
independiente. Para dibujar el esquema, ver el ejercicio resuelto B del TP y el 
video de la clase práctica. 
 
 
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. 
Si la parte final del mapa de direcciones contendrá los registros de E/S, y considerando que el mismo tiene una capacidad de 
8 KB, entonces las direcciones inicial y final de dicha porción de memoria será: 
 
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
 
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
 
En hexadecimal desde $FE000 hasta $FFFFF. 
El espacio destinado a datos e instrucciones será el que está comprendido entre $00000 hasta $FDFFF 
(1016 KB = 1 MB – 8 KB) 
 
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. 
Para el ítem a) ver ejercicio B resuelto del TP. 
b) Recuerde que es conveniente dibujar los mapas de direccionamiento tanto de la MP como el de E/S, con sus direcciones 
inicial y final, y otras direcciones relevantes para el planteo del ejercicio, como las direcciones del registro de dato y de 
estado en el mapa de E/S. 
REQUERIMIENTO INSTRUCCIONES DESCRIPCION 
Copiar el contenido de $00000 en el Reg. de estado 
(inicio de la salida de datos) 
LDAA $00000 
 OUT $923 
 
A  M($00000) 
ME/S($923)  A 
 
Llevar el contenido de la dirección $20989 al Reg. de 
datos del controlador, para su salida por el disposit. 
 
Llevar el contenido de la dirección $2225B al Reg. de 
LDAA $20989 
OUT $924 
A  M($20989) 
ME/S($924)  A 
 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 6 
 
 
 
 
 
 
 
 
 
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? 
Ver el vídeo de la clase práctica. En el caso del ítem b), si el PIC soporta la gestión de 8 periféricos, y fuera necesario conectar 
más periféricos que esa cantidad limitada, lo que se podría hacer es conectar otro PIC al primero, de esa manera se soluciona 
el problema. 
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. 
Ver el video de la clase práctica. 
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. 
Tiempo de la transferencia = (Inicialización del contador de palabras + Inicialización de Reg. de Dirección + Cantidad de bytes 
del bloque * Tiempo de Transferencia de un byte + Atención de Interrupción) 
Reemplazando: 
193,72 μs = 1,2 μs + 3,2 μs + x bytes * 0,09 μs/byte + 5 μs 
Resta resolver para encontrar el valor de la incógnita, o sea, el tamaño del bloque. 
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 tiemporequerido 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. 
En este caso no se especifica el tiempo de inicialización del contador de palabras, ni el tiempo de inicialización del registro de 
direcciones, pero ambas constituyen el tiempo de programar la transferencia. 
Otro detalle a considerar, el tiempo de transferencia del byte está dado en ns, y el resto de los tiempos en µs, hay que 
unificar la unidad de medida del tiempo para operar. 
Recordar: 
1 ns = 10 
-9
 seg = 0,001 µs 
1 µs = 10 
-6
 seg = 1000 ns 
datos del controlador, para su salida por el disposit. 
Llevar el contenido de la dirección $86310 al Reg. de 
datos del controlador, para su salida por el disposit. 
Llevar el contenido de la dirección $00180 al Reg. de 
datos del controlador, para su salida por el disposit. 
Copiar el contenido de $00010 en el Reg. de estado 
(fin de la salida de datos) 
LDAA $00010 
OUT $923 
A  M($00010) 
 ME/S($923)  A 
TÉCNICAS Y ESTRUCTURAS DIGITALES 
Página 7 
Entonces 250 ns = 0,25 µs 
Tiempo de la transferencia de 1 bloque = x µs 
Tiempo de la transferencia de 20 bloques = x µs * 20 
Tiempo de la transferencia de 1 bloque = 9,5 µs + 8,2 µs + 2048 bytes * 0,25 µs/byte 
Tiempo de la transferencia de 1 bloque = 829,7 µs 
Sólo resta multiplicar el tiempo de transferencia por 20, para conocer el tiempo de transferencia de los 20 bloques. 
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? 
Tarda 0,05 µs en transferir un byte.

Continuar navegando