Problemas 03-04 - Arquitectura de Computadores y Automática

Anuncio
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
1. Debemos almacenar los siguientes datos en Memoria:
Posición de
Dato
Memoria
2000
1112131F
2008
2020232425262728
2010
31323334
2014
FISICAS (Código ASCII como matriz de caracteres)
201C
5152
2020
61626364
Cada dígito de la tabla anterior representa 4 bits y las direcciones de memoria
tienen una longitud de palabra de 1 byte. Rellenar las siguientes tablas de
Memoria teniendo en cuenta la estrategia de ordenamiento indicada en cada una
BIG-ENDIAN
LITTLE-ENDIAN
2000
2000
2004
2004
2008
2008
200C
200C
2010
2010
2014
2014
2018
2018
201C
201C
2020
2020
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
2. Suponiendo instrucciones con un solo operando y teniendo en cuenta el modo de
direccionamiento indicado, rellenar la siguiente tabla suponiendo que el contenido
de la memoria es el del ejercicio anterior con ordenación del tipo “Big-Endian” y
tamaño de operando doble palabra.
Modo de
direccionamiento
Inmediato
Absoluto
Directo a Registro
Indirecto con Registro
Indirecto con Memoria
Registro Base
Instrucción
Valor del Operando Dirección efectiva
(Hex)
del Operando (Hex)
OPCODE 2008
OPCODE 2008
OPCODE
OPCODE 0000
OPCODE
OPCODE +3(01)
(R4)
2020
Disponemos de un banco de 6 registros con el siguiente contenido
Registro
R0
R1
R2
R3
R4
R5
Contenido
2014
2009
2010
4325
201C
2712
3. Se desea diseñar un repertorio de instrucciones con el menor número de bits posible.
La memoria puede direccionar hasta 28 palabras. Se permite aunque no es
obligatorio que el código de operación sea variable. El banco de registros tiene 9
posiciones. El conjunto de instrucciones está compuesto de:
a. 20 instrucciones de 3 operandos que permiten direccionamiento directo e
indirecto de registro
b. 150 instrucciones de 2 operandos que permiten direccionamiento
absoluto e indirecto de memoria.
c. 30 instrucciones de 1 operando con direccionamiento absoluto
d. 26 instrucciones de 0 operandos
Rellenar la siguiente tabla con el número de bits necesarios para cada tipo de
instrucción:
Tipo de OPCODE Operando1 Operando 2 Operando 3 Total
Instrucción
Modo Valor Modo Valor Valor Modo
3 operandos
2 operandos
1 operando
0 operandos
Máximo
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
4. Sabiendo que la palabra de memoria tiene 32 bit y que el repertorio de instrucciones
tiene 16 instrucciones diferentes, ¿Cuál es la máxima memoria direccionable?
a) Tengo dos operandos con acceso directo a memoria (DM)
b) 1 operando con acceso directo (DR) a un banco de 32 registros y un operando
con DM
c) 3 Operandos con DM
d) 1 solo operando DM
5. Sabiendo que la palabra de memoria tiene 28 bits y que el repertorio de
instrucciones tiene 12 instrucciones diferentes, la instrucción tiene dos operandos
con un modo de direccionamiento directo a memoria. ¿Cuál es la máxima memoria
direccionable? ¿qué tamaño debe tener el registro contador de programa? ¿Se te
ocurre algún método para conseguir direccionar más memoria sin modificar los
modos de direccionamiento ni el tamaño de la palabra de memoria.
6. Sabiendo que una memoria tiene un bus de direcciones de 8 bits, un banco de 8
registros y dieciséis operaciones diferentes. ¿Cuál será la longitud del registro de
instrucciones?
a) suponiendo que las instrucciones tienen dos operandos cuyo modo de
direccionamiento es directo a memoria.
b) suponiendo que la instrucción tiene tres operandos con modos de
direccionamiento directo a memoria
c) suponiendo que uno de los modos de direccionamiento es directo a registro y
tres operandos.
d) suponiendo que existen 7 modos de direccionamiento diferentes para dos
operandos.
7. Suponemos una memoria de con un bus de direcciones de 16 bits y un banco de
registros de 16 registros. Los modos de direccionamiento utilizados van a ser tres
directo a memoria, directo a registro, inmediato de 8 bits. Las operaciones con sus
correspondientes modos de direccionamiento van a ser las siguientes:
suma dr,dr
suma dr,dm
suma dm,dr
suma dm,dm
move #in,dr
bcne dm
bcgt,dm
¿Cual es la longitud máxima de la instrucción? Encontrar todos los formatos de las
instrucciones.
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
8. Determinar la longitud del formato de las instrucciones de un procesador sabiendo
que el formato tiene tres campos: Código de Operación, Operando Fuente y
Operando Destino, el procesador dispone de un repertorio de ocho instrucciones, el
único modo de direccionamiento de los operandos es el directo absoluto y la
Memoria Principal dispone de 512 posiciones.
9. Se desean comparar 2 Máquinas ESCOCIA y GALES, para ello debemos calcular
distintos parámetros. La Maquina ESCOCIA funciona a 1,6 MHz , tiene un tamaño
de palabra de memoria de 64 bits, tiene 64 registros de propósito general, tiene 3
tipos de Instrucciones I, R y J con código de operación fijo. Las 20 instrucciones de
tipo I tardan 2 ciclos en ejecutarse y se ejecutan en el 30 % de las ocasiones, tienen 3
operandos con modos de direccionamiento Directo a Registro los 2 primeros e
Inmediato el tercero, las 20 instrucciones de tipo R tardan 4 ciclos en ejecutarse y se
ejecutan en el 50 % de las ocasiones, tienen 3 operandos con modos de
direccionamiento Directo a Registro los 2 primeros e Indirecto con registro base y
desplazamiento el tercero. Las 24 instrucciones de tipo J tardan 5 ciclos en
ejecutarse y se ejecutan en el 20 % de las ocasiones, tienen 1 operandos con modo
de direccionamiento Directo a Memoria. La máquina GALES por su parte funciona
a 1MHz, tiene un bus de direcciones de memoria de 30 bits, Tiene 8 registros de
propósito general, y tiene 7 tipos de Instrucciones con código de operación fijo y
según las características de la siguiente tabla:
Tipo
Cantidad
Modo Op1
A
20
DR
B
128
C
Modo Op2
Modo Op3
Ciclos
Porcentaje
DR
-----
2
20%
DR
DR
DM
4
48%
20
DR
DM
-----
3
5%
D
4
IR
INM 8 BITS
-----
2
12%
E
20
DM
DM
-----
5
4%
F
44
DM
INM 8 BITS
-----
5
6%
G
20
IR
DR
DM
5
5%
Calcular para ambas máquinas
a) El formato de las instrucciones
b) Tamaño de la memoria
c) Tamaño de la palabra de memoria
d) Rendimiento máximo
e) CPI
f) Tiempo de CPU 10
g) Tipo de Arquitectura CISC o RISC (Justifícalo)
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
10. Un programa consta de 140 instrucciones de las cuales 70 tardan en ejecutarse
cuatro ciclos, 35 tardan cinco ciclos, 20 tardan tres ciclos y las 15 restantes tardan,
siete ciclos. Calcular el CPI promedio para dicho programa. Si el procesador
funciona a una frecuencia de 2.0 GHz, averiguar el tiempo que se tarda en ejecutar el
programa.
11. Se dispone de los siguientes datos respecto a dos potentes procesadores y una
determinada tarea de aplicación: Power PC a 1.8 GHz de frecuencia y 700 MIPS de
potencia. Pentium 4: 1.6 GHz de frecuencia y 850 MIPS. Calcular el CPI de cada
procesador.
12. Un computador tiene un rendimiento de 3 MFLOPS normalizados al ejecutar una
determinada tarea con cálculo intensivo en coma flotante. Si la operación de
multiplicación equivale a cuatro operaciones en coma flotante sencillas y la de
exponenciación se equipara con 8, calcular el tiempo que se tarda en realizar la tarea
sabiendo que consta de las siguientes operaciones en coma flotante: 4000 sumas,
1500 multiplicaciones y 2200 operaciones de de exponenciación.
13. Se dispone de un computador dotado del procesador Power PC a 1.8 GHz y otro con
el Pentium 4 a 1.6 GHz . Se sabe que el CPI del primero es de 5,5 y el del segundo
de 7 para un determinado programa escrito en lenguaje de alto nivel. El programa
que traduce dicho programa a instrucciones máquina del Power PC lo convierte en
nueve millones de dichas instrucciones, mientras el que realiza la misma traducción
a instrucciones máquina del Pentium lo convierte en 7.200.000 instrucciones. ¿Cuál
de los computadores ejecutará más rápidamente la tarea?
14. Diseñar el formato de las instrucciones de un computador sabiendo que e repertorio
de instrucciones consta de 20 instrucciones, sólo admite el modo de
direccionamiento por registro y el banco de registros consta de ocho registros
diferentes, en el formato de la instrucción se especifican tres campos: El primero,
para el código de operación; el segundo, para el registro que contiene el operando
fuente y el último, el correspondiente al operando destino.
15. Si en el computador del ejercicio 14 se encuentra una instrucción cuyo formato es:
00110001 101 y sabiendo que el código de operación para la instrucción de SUMA
es 00110 y que todos los registros contienen el valor 02 H inicialmente. Interpretar
la instrucción. ¿Qué registros cambian su contenido después de ejecutar dicha
instrucción?. Si se repite dos veces la misma instrucción, ¿cuál es su resultado?.
16. Se desea comparar los anchos de banda máximos de un bus síncrono y otro
asíncrono. El Bus síncrono tiene un tiempo de ciclo de reloj de 50ns, y cada
transacción del bus requiere 1 ciclo de reloj. El bus asíncrono requiere 40ns para el
protocolo de handshaking. Para ambos la sección de datos tiene una anchura de 32
bits. Encuentre el ancho de banda de ambos buses cuando realizan lecturas de una
memoria de 200ns. Suponga que siempre se lee una palabra.
17. Dibujar el cronograma de un protocolo asíncrono para leer una palabra de memoria
y recibirla en un dispositivo de Entrada / Salida (E/S).
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
18. Encontrar el ancho de banda mantenido y la latencia para la lectura de 256 palabras
en el caso de transferencias de bloques de 16 palabras. Calcular también el número
de transacciones de bus por segundo, en cada uno de los dos casos, considerando
una transacción o ciclo de bus como la transmisión de la dirección seguida de los
datos. Suponga que tenemos un sistema con las siguientes características : Un
sistema de memoria y de bus que soporta acceso a bloques de entre 4 y 16 palabras
de 32 bits, Un bus síncrono de 64 bits a 200MHz en el que una transferencia de 64
bits requiere un ciclo y el envío de la dirección a memoria también requiere 1 ciclo.
Se necesitan dos ciclos entre 2 operaciones de Bus (suponga que el bus está libre
antes de cada acceso y el tiempo de acceso a memoria para las 4 primeras palabras
es de 200ns, cada grupo adicional de palabras se lee en 20ns. Considere que la
transferencia de datos leídos más recientemente por el bus puede solaparse con la
lectura de las 4 palabras siguientes.
19. Suponer un sistema de arbitraje de 4 dispositivos Master conectados a un bus con
prioridad decreciente (Prioridad (M1) >M2>M3>M4). Considere un tiempo de
respuesta de 25ns (tdecodificación + tsetup + tskew). Se produce la siguiente secuencia: M4
pide el bus en t = 100 ns y lo utiliza durante 50 ns, M2 lo pide en t=200 ns por 50 ns,
M3 en t = 330 ns y por 200ns y finalmente M1 pide el control del bus en t = 400ns
hasta un nuevo evento. Dibujar el cronograma del sistema para a) Un arbitraje daisyChain, b) Protocolo de 3 hilos y c) Protocolo de 4 hilos.
20. Se desea controlar una impresora paralela a través de la PIA mediante E/S
programada por respuesta. a) Indicar el proceso de transmisión especificando que
señales de control se deben activar en cada uno de los pasos. b) Escribir el programa
en ensamblador.
21. Se desea controlar una impresora serie conectada al MC6800 mediante un interfaz
ACIA. a) Indicar el proceso de transmisión especificando que señales de control se
deben activar en cada uno de los pasos y b) Escribir el programa en ensamblador.
22. Especificar el valor que se debe enviar al registro de control de una tarjeta ACIA
para realizar una operación de E/S programada con espera de respuesta con las
siguientes características: Frecuencia de transmisión la indicada por la CPU,
recepción y transmisión con interrupciones, formato en código ASCII (7 bits),
control de error par y un bit de stop.
23. Diseñar un registro de control de un interfaz serie que permita: a) Especificar 4
frecuencias de transmisión (*1, /16, /32, /64), b) Reset del interfaz, c)Transmisión y
recepción ambas con o sin interrupciones, d) Formato de los datos : 7 u 8 bits, par,
impar, sin paridad y1 ó 2 bits de stop.
24. Encontrar el ancho de banda mantenido y la latencia para la lectura de 256 palabras
en el caso de transferencias de bloques de 16 palabras. Calcular también el número
de transacciones de bus por segundo, en cada uno de los dos casos, considerando
una transacción o ciclo de bus como la transmisión de la dirección seguida de los
datos.
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
25. Sea una memoria principal de 1 mega de tamaño con unos tiempos de acceso de
100ns y dividida en bloques de 2 palabras. Sabiendo que el sistema tiene una
memoria cache asociativa por conjuntos de 28 con un grado de asociatividad de 4 y
un tiempo de acceso de 10 ns, calcular a) nº de bits del bus de direcciones, b) nº de
bloques por conjunto de la memoria cache, c) formato de las direcciones de memoria
cache, d) mejora del rendimiento del sistema si la tasa de fallos es del 25% y d)Para
poder implementar memoria virtual suponemos que el procesador genera direcciones
de 64 bits. ¿Cuál es el formato de la dirección virtual si quisiéramos implementar
una cache virtual parcial
26. Sea una memoria principal de 264 y una memoria cache de 26 .Sabiendo que la
memoria principal tiene unos tiempos de acceso de 150 ns la memoria cache unos
tiempos de acceso de 8 ns , sabiendo que la MP se divide en 262 bloques. Calcular:
a) Formato de la dirección cache para la política de emplazamiento directo formato
para la política de emplazamiento asociativo
b) Formato para la política de emplazamiento asociativa por conjunto sabiendo que
es una memoria cache de 4 vías.
c) Tiempo de trabajo de la cache sabiendo que la tasa de fallos es del 20%
d) Sabiendo que el tamaño de dirección virtual es el mismo que de dirección real y
que una página es de 29 palabras. Formato de la dirección virtual.
e) ¿Cuántas páginas puede tener un proceso activo?
f) Suponiendo que el sistema operativo reserva 258 posiciones de memoria para
virtualizar las memoria, ¿Cuántos procesos activos puede haber simultáneamente
en el sistema.
27. Sea una memoria cache que tiene unos tiempos de acceso de 25ns una memoria
principal con tiempos de acceso de 200ns y que el tiempo promedio de acceso a una
posición de memoria secundaria es de 1 millón de ns y el tiempo de acceso al dato
de 30ns. Sabiendo que las páginas son de 512 posiciones de memoria y los bloques
de 8 posiciones y que de cada 50 accesos a memoria cache 40 son aciertos y de cada
100 accesos a memoria principal 3 son fallos calcular
a) rendimiento de la de cache
b) rendimiento de la memoria virtual
c) rendimiento total de la jerarquía de memoria
28. ¿Cuál será el tamaño de dirección virtual si queremos páginas de 256 palabras y un
máximo de 256 páginas por proceso activo?. Cuanta memoria debería reservar el
sistema operativo para poder tener 16 procesos activos. ¿Máximo y mínimo número
de conjuntos que puede tener una memoria cache asociativa por conjuntos que
permite utilizar direcciones virtuales parciales?.
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
29. Sea una memoria cache virtual solapada de 210 posiciones de memoria y grado de
asociatividad 8. Sabiendo que la memoria principal se divide en bloque de 4
palabras y que el bus de direcciones virtuales y direcciones reales tiene el mismo
tamaño.¿Cuántas páginas tiene un proceso virtual y cuantas palabras una pagina y
cuantos bloques una página?.
30. Supongamos un sistema con las siguientes características:
•
Memoria cache de 4 marcos de bloque de 4 palabras de 1 byte, inicialmente
vacía con re-emplazamiento LRU (en los casos en que sea necesario)
• Memoria principal de 1KB dividida en dos páginas.
• Memoria Virtual Paginada
• Memoria secundaria de 8KB
Se solicitan los accesos a las siguientes direcciones de una memoria de 1KB : 1, 4,
8, 5, 20, 17, 19, 56, 9, 11, 4, 43. Rellene las siguientes tablas para a) emplazamiento
directo, b) Emplazamiento asociativo por conjuntos y c) Emplazamiento asociativo.
Pos 1 4 8 5 20 17 19 56 9 11 4 43
B
NB
NM
NM
Ejemplo:
Número de Marco
NM
00
01
10
11
Ref.
Directo
(Fallo o acierto)
Cont
Ref: 1
0-3
Asociativo
(Fallo o acierto)
F
Fallo o Acierto al
referenciar la posición
de memoria 1
Contenido después
de la Referencia 1
Asociativo por
conjuntos de 2
marcos
(Fallo o acierto)
1
4
8
5
20
17
19
56
9
11
4
43
Contenidos de la cache al finalizar todas las referencias.
Tipo de fallo
Problemas de Estructura de Computadores. Curso 2003-2004
Facultad de Informática. Universidad Complutense de Madrid
31. Para el sistema de memoria del problema 30, calcular el formato de las direcciones
físicas y virtuales, número de páginas de la memoria secundaria. ¿Como se
implementaría LRU para la cache asociativa?. Anchura de los buses de direcciones
de MC, MP y MS.
32. sabiendo que tienes una memoria con un bus de salida, un bus de entrada, un bus de
control, un banco de 8 registros un bus de entrada y un bus de salida, un registro de
instrucciones y sabiendo que una instrucción aritmético lógica es de la forma: op
A,B, a) implementar el camino de datos que correspondiente suponiendo que A y B
utilizan un modo de direccionamiento directo a registro. Suponer secuenciamiento
implícito. b) Nº de ciclos para una operación. c) Indica las señales de control
necesarias para controlar este camino de datos
33. Repetir el ejercicio 32 pero suponiendo un banco de registros con dos puertos
paralelos. Compara el número de ciclos y la complejidad del hardware.
34. Repetir el ejercicio 32 pero suponga que el primer operando utiliza un modo de
direccionamiento absoluto a memoria y el segundo absoluto a registro. Compara el
número de ciclos y la complejidad del hardware.
35. Repetir el ejercicio 32 pero suponga que pero tanto el primer operando como el
segundo puede utilizar un direccionamiento absoluto de memoria y de registro
pudiéndose dar las cuatro combinaciones posibles de modos de direccionamiento.
Comparar el número de ciclos y la complejidad del hardware.
36. Suponer un camino de datos con una memoria que tiene un bus de entrada y uno de
salida y una UAL, un registro de instrucciones y secuenciamiento implícito.
Implementar el camino de datos suponiendo que la instrucción tiene dos operandos
cada uno de los cuales se pueden direccionar o bien con el modo relativo al contador
de programa, o bien con el absoluto a memoria
37. Suponer que al problema 36 le añadimos un banco de registros de un único puerto y
que se puede realizar también el direccionamiento absoluto a registro para los dos
operandos.
38. Encontrar el camino de datos de un sistema sabiendo que la palabra de memoria
tiene 32 bit y que el repertorio de instrucciones tiene 16 instrucciones diferentes, la
instrucción tiene dos operando con un modo de direccionamiento directo a memoria.
Delimita claramente donde están las fronteras de los chips que la implementan y que
efectos tiene sobre el rendimiento. Marca claramente el tamaño de los buses y las
señales que lo controlan.
39. Encontrar el camino de datos de un sistema sabiendo que la memoria tiene un bus
de direcciones de 8 bits, que dispone de un banco de 8 registros y procesa dieciséis
operaciones diferentes. Delimita claramente donde están las fronteras de los chips
que la implementan y que efectos tiene sobre el rendimiento. Marca claramente el
tamaño de los buses y las señales que lo controlan. Suponer que la instrucción tiene
tres operandos con modos de direccionamiento directo a memoria.
Descargar