1. UNIVERSIDAD NACIONAL DE CALLAO
ESCUELA DE POSTGRADO
MAESTRIA EN INGENIERÍA DE SISTEMAS
Arquitectura del Computador – EXAMEN FINAL
Profesor : Ing. Jorge Irey Fecha: SAB 01/Marzo/2008
NOMBRE : _______________________________________________________
Instrucciones:
- Con libros, apuntes y notas de clase.
- El desarrollo del examen es personal
- Numerar cada página de respuesta y colocar el nombre en la parte superior.
- Emplear letra grande y clara.
- Cada respuesta bien justificada vale 0.5 puntos. Sea directo y conciso en la respuesta.
Parte 1 : Teoría
1.- Escriba 3 fórmulas en notación polaca inversa que no puedan convertirse a notación infija.
Rpta: TAREA
2.- En el documento de Dijsktra titulado “La sentencia GOTO se considera perjudicial”,
mencione cuales son las razones que llevan al autor a expresar esa idea.
Rpta: TAREA
3.- En arquitectura de computadores, defina el concepto de “traducción”
Rpta:
4.- ¿ Cual es el concepto principal detrás de una “familia de computadores” ?
Rpta: compatibilidad
5.- Indique la diferencia básica entre compilador y ensamblador.
Rpta:
Compilador, traduce programas escritos en lenguajes de alto nivel a lenguaje de máquina
Ensamblador, traduce programas escritos en lenguaje assembler a lenguaje de máquina.
6.- ¿ Todos los registros del nivel ISA son visibles en el nivel de assembler ? Explique las
razones.
Rpta: NO.
El nivel ISA expone algunos registros. Tambien depende del modo ( kernel o user )
7.- Defina el concepto de máquina multinivel.
Rpta: Libro de Tanenbaum
8.- Indique las ventajas y desventajas de máquinas con accesos a memoria tipo pila o tipo
registro.
2. Rpta:
9.- Dibuje y describa la arquitectura de Harvard
Rpta: Similar a la de Von Neumann con la diferencia que hay dos memorias: una para datos y
otra para programas. En consecuencia, maneja dos buses diferentes.
10.- Explique con ayuda de un dibujo el concepto de “Stripping” a nivel de RAID
Rpta: Ocurre en el RAID 0, la información del disco se reparte entre todos los discos. El
resultado es que la capacidad total es igual a la suma de las capacidades de los discos.
11.- Explique las razones por las que ocurre el problema de reubicación en el momento del
enlazado por parte de un ensamblador.
Rpta:
Porque cada módulo objeto a ser enlazado representa un espacio de direcciones individual
12.- Explique porque se prefiere diseñar máquinas con restricciones de alineación en memoria.
Rpta:
Porque se emplean menos ciclos para recuperar la información.
13.- Defina el concepto de pipeline
Rpta: El concepto de fila de procesamiento (pipeline) en lugar de dividir la ejecución de
instrucciones en sólo 2 partes (búsqueda y ejecución), a menudo las divide en muchas partes,
cada una de las cuales se maneja con un componente de hardware dedicado, haciendo que
todos los componentes puedan operar en paralelo.
14.- Explique los conceptos de “localidad temporal” y “localidad de referencia”
Rpta:
Localidad temporal: Los elementos accedidos recientemente probablemente sean accedidos en
un futuro próximo.
Localidad de Referencia: Los programas tienden are utilizar datos e instrucciones que han
empleado recientemente
15.- Indique con un ejemplo sencillo, en que parte de la computadora se cumple el axioma de
“más pequeño es más rápido”.
Rpta: La jerarquía de memoria: un registro vs. Una memoria RAM por ejemplo.
16.-Mencione por lo menos 4 características que definen al nivel ISA.
Rpta:
Direccionamiento de memoria
Modo de direccionamiento
Tipo y tamaño de operandos
3. Operaciones
Control de flujo de instrucciones
17.-¿ Está usted de acuerdo con que el costo del procesador domina el costo de todo el
sistema ?
Rpta: No. El mayor costo está en el resto de dispositivos del computador. Sobre todo en
almacenamiento y memoria.
18.- ¿ Cual es la diferencia entre circuitos secuenciales y circuitos combinacionales ?
Rpta: Los circuitos secuenciales tienen “memoria” o conservan el estado.
19.- ¿ Cual es la diferencia entre una instrucción y una seudoinstrucción en el nivel
ensamblador ?
Rpta:
La instrucción es un código a ser ejecutado en el computador
La seudo instrucción es una directriz que le dice al ensamblador lo que debe hacer durante el
proceso de ensamblaje.
20.- ¿ qué representa la siguiente figura ?
Rpta:
La PSW de un procesador Intel ( ver el flag “Virtual 8086 Mode” )
21.- ¿ Qué empresa y con qué computador introdujo el concepto de familia de computadores ?
Rpta:
IBM con la S/360
4. 22.- Explique la razon por la cual algunos equipos IBM podían operar en sistemas de
numeración decimal y binario.
Rpta:
Para decimal usaban Decimal codificado en binario.
La desventaja es la cantidad de numeros que podían almacenar (se desperdiciaban bits ).
23.- Explique la razón por la cual una microinstrucción debe especificar explícitamente a su
sucesora.
24.- Explique que significa el “Código de Operación” en una instrucción.
Rpta:
Indica la operación a ejecutar.
25.- Según su criterio, ¿ un arreglo se puede referenciar con direccionamiento inmediato ?
Rpta:
No
26.- Según su criterio, ¿ la ley de Mooere es una ley universal ?
Rpta:
No, es una observación empírica.
Parte 2 : Práctica
27.- Dibuje un comparador de 2 bits que indique si la entrada A es mayor, menor o igual que B.
Rpta: TAREA
28.-Usando la ley de Amdahl, suponga que se considera una mejora que corre 10 veces más
rápido que la máquina original, pero sólo es utlizable 40% del tiempo. ¿ Cual es la aceleración
global lograda al incorporar la mejora ?
Rpta:
29.- Se tiene un disco con 16 cabezas lecto-grabadoras, 16383 cilindros, y 63 sectores de 512
Bytes por pista.
La velocidad de rotación es de 7200 rpm, el tiempo de posicionamiento es de 4 ms para pistas
adyacentes, 16 ms en promedio y 30 ms en el peor caso. El disco posee un buffer de 512 Bytes
que, una vez lleno, se transfiere a memoria en 15 ms exactamente. Por último, una unidad de
medida llamada bloque esta compuesta por 3 sectores contiguos.
Calcule la capacidad total del disco.
Rpta:
5. La capacidad total sería de 512 Bytes/sector × 63 sectores/pista×16383 pistas/caras × 16 caras
= 8455200768 Bytes = 8257032 KB u 8064 MB u 7,87 GB.
30.- Una arquitectura emplea una memoria principal de 64 MB direccionable a palabras de 32
bits, y una cache que DIRECTA de 4096 líneas y 16 palabras útiles por línea. Con la cache
inicialmente vacía, el procesador direcciona las siguientes posiciones, obteniendo los resultados
que se especifican:
1) 000000 h MISS
2) 00000C h ????
3) 333334 h MISS
4) 330004 h MISS
5) 330008 h ????
6) 000000 h HIT
Indicar si los requerimientos con interrogación resultarán en MISS o en HIT ( Tanenbaum pág
266).
Rpta: la petición 2 es HIT, la petición 5 es HIT
31.- Traduzca a instrucciones IJVM el siguiente enunciado:
i=j+k;
if ( i == 3 )
if ( j== 0 )
k = 0;
else
j = j –1;
Rpta:
ILOAD j
ILOAD j
ILOAD k
IADD
ISTORE I
ILOAD I
BIPUSH 3
IF_ICMEQ FIN
BIPUSH 0
IF ICMEQ L1
ILOAD J
BIPUSH 1
ISUB
ISTORE J
GOTO FIN
L1 :
BIPUSH 0
ISTORE K
FIN: NOP
6. 32.- En el siguiente fragmento de código ensamblador
Defina una instrucción que permita ejecutar el desplazamiento lógico y explique su formato.
Inserte la instrucción de tal forma que el programa multiplique cada elemento del arreglo por 16
y halle la suma de dichos elementos.
Rpta:
Como R1 tiene la suma de los elementos, al final se agrega el desplazamiento de 4 bits a la
izquierda ( que equivale a multiplicar por 16 ).
SHIFTL R1,4
SHIFTR = Desplazar a la derecha / SHIFTL = Desplazar a la izquierda
Donde R1 es el elemento al cual se realizará el desplazamiento y 4 es el número de bits a
desplazar.
33.- Una máquina tiene instrucciones de 16 bits y direcciones de 6 bits. Algunas instrucciones
tienen una dirección y otras tienen 2. Si hay “n” instrucciones de dos direcciones, ¿ cuantas
instrucciones de 1 dirección puede haber como máximo ?
Rpta:
15 instrucciones de 2 direcciones
Como máximo 64 instrucciones de 1 dirección
34.- Dibuje el estado de una pila durante la ejecución de un programa que calcule el factorial de
3. Indique claramente la ubicación de los apuntadores (punteros por ejemplo SP) relacionados
con la pila.
Rpta:
Ver figura 5-41 de Tanenbaum
35.- Una computadora tiene un caché de 2 niveles: L1 y L2
Suponga que el 80% de la referencias a la memoria aciertan en el caché L1, el 15% en el caché
L2 y el 5% fallan.
Los tiempos de acceso son 5 ns, 15 ns y 60 ns respectivamente. Asuma que los tiempos para el
caché L2 y la memoria principal comienzan a contar desde el momento que se sabe que se
necesitan. Calcule el tiempo de acceso promedio.
Rpta:
0.8 x 5 ns + 0.15 x 15ns + 0.05 x 60 ns = 9.25 ns
7. 36.- Modifique el programa de la figura 5-17 para que la instrucción ADD no utlice
direccionamiento indirecto por registro
Rpta:
Reemplazar el ADD R1,(R2) por
MOV R4,(R2)
ADD R1,R4
37.- Dibuje un HALF-Adder usando sólo compuertas NAND
Rpta:
X
SUM
Y
CARRY
38.- Dibuje un FULL-Adder usando sólo compuertas NAND
Rpta:
Igual que en la 31
39.- En la figura adjunta se muestra un diseño de procesador. Los rectangulos marcados con A,
B y C son latches (en términos generales latches, flip-flops o cerrojos).¿ Puede usted explicar
su utlidad ?
Rpta:
Figura 4-31 libro de Tanenbaum – Mic 3
8. 40.- Qué capacidad de Memoria Principal se puede ser accedida si el tamaño del Registro de
direcciones es de 25 bits y el tamaño de palabra es de 64 bits ?
Rpta:
Con 25 bits se puede acceder a 225 palabras.
Como cada palabra es de 64 bits = 26 bits = 23 bytes
La capacidad de la Memoria Principal puede ser de hasta 225 * 23 = 228 bytes = 256 MBytes