Instrucción Emisión Lectura Opdos Ejecución/Mem Escritura

Transcripción

Instrucción Emisión Lectura Opdos Ejecución/Mem Escritura
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE SISTEMAS INFORMÁTICOS- UPM
2ª Prueba Parcial de Arquitectura de Computadores
11 de diciembre de 2014
Apellidos……………………………………………………………………………………………………
Nombre ………………………………………..Nºmatrícula .. ..........................................................
EJERCICIO 1 (4 puntos)
Se dispone de un procesador con una arquitectura similar a la de MIPS64 que, utilizando el
Algoritmo de Marcador, dispone de las siguientes unidades funcionales en punto flotante:
 1 unidades funcional de suma/resta de 1 ciclo
 1 unidad funcional de división/multiplicación de 10 ciclos
 1 unidad funcional de lectura de memoria de 4 ciclos
 1 unidad funcional de escritura en memoria de 4 ciclos
Las escrituras de los registros se realizarán en el primer subciclo y las lecturas en el
segundo.
Sobre este procesador se ejecuta el programa siguiente:
l.d
f1,10(r3)
l.d
f4,20(r2)
add.d f2,f1,f4
add.d f8,f6,f7
mul.d f3,f1,f2
sub.d f3,f3,f4
add.d f8,f3,f10
mul.d f8,f8,f2
s.d
f8,30(r4)
a) Mostrar en qué ciclos tiene lugar cada etapa, indicando también en cada caso el tipo de
riesgo que se produce. (2,5 ptos)
Instrucción
l.d
l.d
add.d
add.d
mul.d
sub.d
add.d
mul.d
s.d
Emisión
Lectura
Opdos
1
7(re)
8
15(re)
16
29(waw)
32(re)
36(waw)
37
2
8
13(raw)
16
17
30
33
37
48(raw)
f1,10(r3)
f4,20(r2)
f2,f1,f4
f8,f6,f7
f3,f1,f2
f3,f3,f4
f8,f3,f10
f8,f8,f2
f8,30(r4)
Ejecución/Mem Escritura
3-6
9-12
14
17
18-27
31
34
38-47
49-52
7
13
15
18
28
32
35
48
-
b) Escribe la tabla de estado de los registros de resultado en el ciclo 8(1,5 ptos)
Registros F1
Un. Func.
F2
add
F3
F4
load
F5
F6
F7
F8
EJERCICIO 2 (4 puntos)
En un procesador con arquitectura MIPS64, se considera que el 15% de las instrucciones
ejecutadas son saltos condicionales que bifurcan el 10% de las veces. Suponemos que el CPI
del resto de las instrucciones es 1.
a) Calcula el CPI si no hubiera ningún tipo de predicción (0,5 ptos)
CPI=0,85x1 + 0,15x2 = 1,15; El salto se resuelve en el MIPS64 en la fase de decodificación
b) Calcula el CPI si hubiera predicción estática de salto no tomado (0,5 ptos)
CPI=0,85x1 + 0,15 (0,1x2 + 0,9x1) = 1,015
c) Calcula el CPI si se utiliza un BTB con una probabilidad de acierto del 90% y puertos
separados para la lectura y la escritura. (0,5 ptos)
CPI=0,85x1 + 0,15 (0,90x1 + 0,1x2) = 1,015
d) Si se utiliza el BTB citado, para el siguiente fragmento de código (las direcciones son de
64 bits, se indican los 32 de menor peso):
0x01000008 ciclo1: daddi r4,r5,3
0x0100000C
slt r6,r4,r2
0x01000010
beqz r6, ciclo1
0x01000014 ciclo2: dmul r1, r2, r3
0x01000018
dsub r4, r5, r6
0x0100001C
slt r7, r1, r4
0x01000020
bnez r7, ciclo2
¿Cuál sería el menor número de entradas (direcciones) posibles para dicho BTB,
teniendo en cuenta sólo el fragmento de código? (1 pto).
Como mínimo se necesitaran 5 bits porque las direcciones de las instrucciones de salto son:
0x01000010 y 0x01000020, para que no haya colisiones (dos saltos que apunten a la misma
posición en la BTB), se necesitan los 5 bits de menor peso, por lo tanto el número mínimo de
entradas a la BTB sería 25=32
e) Si el número total de entradas en la BTB es de 1024, indica el tamaño de dicho BTB en
Kb en los siguientes casos de predicción global (Nota: en el BTB se encuentran las
direcciones de la instrucción de salto y las de destino del salto) : (1,5 ptos)
BTB (0,1)
BTB (0,2)
BTB (1,1)
BTB (1,2)
1kx(64+64+1) ó 1kx(64+64)=129Kb ó 128Kb
1kx(64+64+2)/1k ó (64+64+1)=130Kb ó 129Kb
1kx(64+64+2x1)=130Kb
1kx(64+64+2x2)=132Kb
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE SISTEMAS INFORMÁTICOS- UPM
2ª Prueba Parcial de Arquitectura de Computadores
11 de diciembre de 2014
Apellidos……………………………………………………………………………………………………
Nombre ……………………………………… Nº matrícula .. ..........................................................
EJERCICIO 3 (2 puntos)
Contesta a las siguientes cuestiones (poner una X en la respuesta correcta). Las preguntas
contestadas con una respuesta errónea tienen una penalización de 0,17 puntos.:
1. En los procesadores superescalares la emisión es alineada cuando
o Sigue el orden del programa
X No pueden entrar instrucciones nuevas a la ventana de instrucciones hasta que ésta no
se vacie
o Las instrucciones que entran en la ventana de instrucciones entran en desorden
o La emisión nunca es alineada
2. ¿Para qué sirve el Búffer de Reordenamiento (ROB) en los procesadores superescalares?
o Para conseguir la consistencia débil del procesador
o Para que la ejecución siempre sea ordenada
o Para que la emisión sea múltiple
X Para conseguir la escritura en orden de los registros del procesador
3. En una arquitectura VLIW, se dispone de 6 unidades funcionales más 2 unidades de acceso
a memoria (carga y almacenamiento), las cuales ejecutan todas las instrucciones en 2 ciclos.
¿Cuántas instrucciones podrían ejecutarse en 24 ciclos, si no hubiera dependencia de datos,
ni de control ejecutándose el mayor número de instrucciones posibles?
o 24
X 96
o 192
o 8
4. En la siguiente tabla se muestra como se ensamblarían las instrucciones de un fragmento de
programa en una arquitectura VLIW, ¿cuál es el valor de CPI y cuántos ciclos consume la
ejecución de la instrucción aritmética de punto flotante?.
Instrucciones VLIW
Ciclo
Referen. Mem.
Op.Arit.
Entera 1
daddi r2,r0,5
Op.
Arit. Op.
Arit.
Entera 2
Flotante
daddi r4,r0,4
2
l.d f0,0(r4)
daddi r3,r0,7
daddi r5,r2,3
3
l.d f1,0(r2)
dadd r3,r5,r3
dadd r4,r4,r5
daddi r2,r2,1
daddi r3,r3,1
1
4
5
6
7
add.d f1,f1,0
8
9
10
11
s.d f1,0(r3)
o
2,2 ciclos por instrucción y 2 ciclos de retardo
o
1,5 ciclos por instrucción y 1 ciclo de retardo
X 0,92 ciclos por instrucción y 4 ciclos de retardo
o
0,7 ciclos por instrucción y no hay retardo

Documentos relacionados