Académique Documents
Professionnel Documents
Culture Documents
Ejercicio n1
Considere un programa dividido en las siguientes dos partes:
Prlogo que se ejecuta slo una vez, constituye el 90% de las instrucciones del programa
(esttico, no instrucciones ejecutadas).
Lazo iterativo que se ejecuta 20 veces, constituye el 10% de las instrucciones del programa
(esttico, no instrucciones ejecutadas).
Las frecuencias dinmicas de ejecucin de instrucciones en cada una de las dos partes y los ciclos por
cada tipo de instruccin son los siguientes:
Tipo de Instruccin Ciclos por Instruccin Prlogo Lazo
ALU (add, sub, etc) 4 50% 20%
Punto Flotante 16 10% 40%
Load/store 10 30% 20%
Saltos condicionales 3 10% 20%
a) Determine el CPI del procesador ejecutando este programa (pista: para calcular el CPI podra asumir
un programa de 100 instrucciones de largo).
Para 100 instrucciones:
Tipo de Instruccin Prlogo Lazo
ALU 45 40
Punto Flotante 9 80
Load/store 27 40
Saltos condicionales 9 40
Total 90 200
#ciclos = 8S 4 +89 16 +67 1u +49 S = 2S81, CPI =
2581
290
= 8.9
b) Se proponen dos alternativas para modificar la arquitectura: la primera reduce el tiempo de ejecucin
de las instrucciones de punto flotante a 4 ciclos, mientras que la segunda reduce el tiempo de ejecucin
de los load/store a 5 ciclos. Cul de estas alternativas producira un mejor impacto en el desempeo
del procesador con este programa?.
F
PP
=
8916
2581
= u.SS, S
PP
= 4, S
PP
=
1
(1-0.55)+
0.SS
4
= 1.7
F
Lw Sw /
=
6710
2581
= u.26, S
Sw Lw /
= 2, S
Lw Sw /
=
1
(1-0.26)-
0.26
2
= 1.1S
c) Un compilador optimizante puede eliminar la mitad de los load/store del programa. Calcule los CPI
del programa optimizado en el procesador original, y la aceleracin sobre el programa no optimizado.
ciclos =
2581
1.15
, 1.15 calculado en b)
#inst = 29u - SS.S = 2S6.S, CPI =
2244
256.5
= 8.748S
d) Asuma ahora que un compilador paralelizante puede programa la ejecucin paralela del lazo
iterativo del programa original en un procesador multi-ncleo, donde cada iteracin se ejecuta en
paralelo en un ncleo distinto y el resto del programa no se acelera. Cada uno de los ncleos es idntico
al procesador original. Usando la ley de Amdahl, calcule la aceleracin en este programa al usar el
compilador en una arquitectura con 4 ncleos (cada ncleo ejecuta 5 iteraciones del lazo en paraleleo
con los dems).
Cicloslozo = 4u (4 1u + S) +8u 16 = 196u
F
mc]ou
=
1960
2581
= u.76, S =
1
(1-0.76)+
0.6
4
= 2.SS
para infinitos ncleos, S
= 4.17
Ejercicio n2
Considere un procesador MIPS-I cuya frecuencia es 900MHz.
Tipo Instruccin CPI i #Instrucciones Frecuencia Frec * CPI
ALU 1 30 30/72=0.416 0.416
Load/Store 2 15 15/72=0.208 0.416
Branch 2 10 10/72=0.138 0.276
jump 1 5 5/72=0.069 0.069
mult 3 12 12/72=0.166 0.498
Total 72
a) Calcule su CPI.
CPI
101AL
= _CPI