1, 2 y 3 - Departamento de Informática Aplicada

Anuncio
E. U. de Informática – U. P. M.
Departamento de Informática Aplicada
2ª Prueba Parcial de Arquitectura de Computadores
EJERCICIO 1
13 de diciembre de 2013
SOLUCIÓN
Instrucción
l.d
f1,0(r1)
l.d
f3,0(r3)
add.d
f2,f1,f3
add.d
f5,f6,f7
mul.d
f8,f2,f3
s.d
f8,10(r1)
sub.d
f8,f8,f3
Emisión Ejecución/Mem
1
2
3
4
5
6
7
11(re)
14(re)
25(re)
addi.d f5,f8,3
mul.d
f5,f5,f2
s.d
f5,10(r3)
2-5
6-9(re)
11-12(raw)
5-6
14-23(raw)
25-28(raw)
25-26(raw)
28-29(raw)
31-40(raw)
42-45(raw)
Escritura
6
10
13
7
24
27
30
41
-
Unidades funcionales y de acceso a memoria, con sus correspondientes estaciones de
reserva y buffers de carga y almacenamiento.
ER1
ER2
UF +-
ER1
UF Mult/Div
4
7-24
11-12
5-6
25-26
28-29
5-13
14-30
14-23
31-40
3-10
11-27
Buffer de
carga
Lectura de
memoria
Buffer de
almacenamiento
Escritura en
memoria
1
2-5
2-5
6-9
6-24
25-41
25-28
42-45
E. U. de Informática – U. P. M.
Departamento de Informática Aplicada
2ª Prueba Parcial de Arquitectura de Computadores
EJERCICIO 2
13 de diciembre de 2013
SOLUCIÓN
Sobre un procesador MIPS, en un determinado salto condicional de un programa, se produce
la siguiente secuencia:
T – T – NT – T – T – NT – T – T – T – NT – NT – NT
Siendo T: Salto Tomado
NT: Salto No Tomado
a) Porcentaje de fallos en el caso de un predictor de un bit. Estado Inicial: Salto No
Tomado (NT).
T
F
T
A
NT
F
T
F
T
A
NT
F
T
F
T
A
T
A
NT
F
NT
A
NT
A
Con un predictor de un bit se tienen dos estados posibles. Para cambiar de estado
basta con un fallo en la predicción.
Instrucciones ejecutadas: 12; Fallos: 6; Porcentaje de fallos: 6/12 = 50%
b) Porcentaje de fallos en el caso de un predictor de dos bits. Estado Inicial: Salto
Fuertemente No Tomado (00).
T
F
T
F
NT
F
T
A
T
A
NT
F
T
A
T
A
T
A
NT
F
NT
F
NT
A
Con un predictor de dos bits se tienen cuatro estados posibles. Para cambiar de estado
se requieren dos fallos consecutivos en la predicción.
Instrucciones ejecutadas: 12; Fallos: 6; Porcentaje de fallos: 6/12 = 50%
c) ¿Cuántos Kbits son necesarios para construir la tabla de destino de saltos con
1024 entradas, en el caso del predictor de dos bits? Suponer que las direcciones
de memoria son de 31 bits.
En una tabla de destinos de saltos (BTB) se debe mantener la dirección de cada
instrucción de salto y la dirección de destino de dicho salto. En caso de tener dos bits
de predicción, también son necesarios los dos bits.
Dir. instrucción de salto
31
Dir. de destino del salto
31
Estado de la predicción
2
Como la tabla tiene 1024 entradas, el tamaño de la tabla será:
1024 (31+31+2) = 1024 x 64 = 64 Kbits
E. U. de Informática – U. P. M.
Departamento de Informática Aplicada
2ª Prueba Parcial de Arquitectura de Computadores
EJERCICIO 3
13 de diciembre de 2013
SOLUCIÓN
Responder Verdadero o Falso a las siguientes afirmaciones justificando de manera adecuada
la respuesta. (0,4 puntos por respuesta correcta).
a) La consistencia fuerte de memoria es la solución más ventajosa en el
rendimiento de los procesadores superescalares.
Falso. La tendencia actual es la consistencia de memoria débil ya que permite
aprovechar los grandes lapsos de tiempo que supone el acceso a memoria,
arrancando la ejecución de otras instrucciones posteriores sin haber iniciado o
finalizado las primeras.
b) La forma más ventajosa de emitir las instrucciones es alineada y fuera de orden.
Falso. El máximo rendimiento en la emisión se obtiene con emisión no alineada y
desordenada, ya que pueden emitirse todas las instrucciones que dispongan de sus
operandos y de una unidad funcional del tipo apropiado.
c) Para evitar la inconsistencia del procesador,
superescalares, existe un buffer de reordenamiento.
en
los
procesadores
Verdadero. La consistencia se mantiene porque solo las instrucciones que se retiran
del ROB (es decir, las que completan su procesamiento) escriben en los registros del
procesador, y esas instrucciones se retiran en el orden en que aparecen en el
programa.
d) En las BTB (Branch Target Buffer) de las arquitecturas MIPS no es necesario
guardar la dirección destino.
Falso. En MIPS se necesita la dirección de destino para poder alimentar la instrucción
de destino del salto, pues si no habría que esperar a la etapa de Decodificación, con el
correspondiente retardo.
e) Una Tabla de Destinos de Saltos (BTB) con 8 estados, en una arquitectura con 64
bits de dirección, necesitaría tener 64+3 bits por cada entrada de la tabla.
Falso, ya que en la tabla de destinos de saltos debe estar la dirección de la propia
instrucción de salto, la de destino del salto y los bits que representan el estado de la
predicción. Así, en este caso se necesitarían 64+64+3 bits por entrada.
Descargar