1304 Banco - 07 Desempeño
1304 Banco - 07 Desempeño
1304 Banco - 07 Desempeño
Capacidades evaluadas:
▪ Cálculo de CPI
▪ Cálculo de tiempos
▪ Comparación (Relación de tiempos aplicada a las circunstancias)
RECORDAR:
Tejec = N * CPI * Tc = N * CPI * 1/Fc
Donde:
N = recuento de instrucciones.
CPI = ciclos de reloj por instrucción.
Fc = frecuencia del reloj
Tc = tiempo de ciclo = 1 / Fc
Se tiene una máquina M1 con 4 tipos de instrucciones (A1, B1, C1, D1); su
porcentaje de ocurrencia y su CPI se presentan en la siguiente tabla:
CPI %
A1 2 40%
B1 3 30%
C1 5 20%
D1 1 10%
Se tiene otra máquina M2 con 3 tipos de instrucciones (A2, B2, C2); su
porcentaje de ocurrencia y su CPI se presentan en la siguiente tabla:
CPI %
A2 1 50%
B2 2 20%
C2 1 30%
Por otro lado, para todo programa, M2 tiene un 60% más de instrucciones que
M1.
¿Cuál debe ser la relación de frecuencias de reloj (f1 para M1 y f2 para M2)
para que M2 sea un 50% más rápida que M1?
CPI1 = 2*0,4 + 3*0,3 + 5*0,2 + 1*0,1 = 2,8
CPI2 = 1*0,5 + 2*0,2 + 1*0,3 = 1,2
N2 = 1,6*N1
Tejec = N * CPI * Tc = N * CPI / f
T1 = N1 * CPI1 / f1 = N1 * 2,8 / f1
T2 = N2 * CPI2 / f2 = 1,6*N1 * 1,2 / f2
T1/T2 = 1 + 50/100 = 1,5 = (N1 * 2,8 / f1) / (1,6*N1 * 1,2 / f2) = (2,8 * f2) / (1,6 *
1,2 * f1)
1,5 = 1,46 f2/f1
f2/f1 = 1,029
Se tienen dos máquinas A y B, y se ejecutan sobre ellas tres programas de
prueba P1, P2, P3, con los siguientes resultados en tiempo de ejecución (en
segundos):
A B
P1 30 10
P2 100 130
P3 50 60
1- ¿Cuál de las dos máquinas puede ser considerada más veloz? Use el criterio
de media geométrica de tiempos normalizados (tiempos relativos), tomando B
como máquina de referencia.
Matriz de tiempos normalizados:
A B
P1 TB1/ TA1 TB1/ TB1
P2 TB2/ TA2 TB2/ TB2
P3 TB3/ TA3 TB3/ TB3
Lo que para este caso es:
A B
P1 0.33 1
P2 1.3 1
P3 1.2 1
3
Media geométrica de A = 0.33 *1.3 *1.2 = 0.8
Media geométrica de B = 1
A es 0.8 veces más rápida que B, lo que quiere decir que, en realidad, es
más lenta (va a 0.8 de la velocidad de B; es decir, es un 20% más lenta).
2- ¿Por cuánto habría que multiplicar el reloj de la más lenta para que fueran igual de
rápidas?
Ayuda: Piense primero en: ¿cómo afecta el aumento de la frecuencia del reloj al
tiempo de ejecución? ¿y cómo afecta esto a la normalización de tiempos?
Tejec = #inst*CPI*Tciclo = #inst*CPI*(1/f)
Si multiplicamos el reloj por k, obtenemos:
Tejec2 = #inst*CPI*(1/kf) = Tejec/k
Dado que A es la más lenta, esto cambia la matriz de tiempos normalizados a:
A B
P1 k*TB1/ TA1 1
P2 k*TB2/ TA2 1
P3 k*TB3/ TA3 1
k < 11
M es más rápida que MC si k < 11.
Se tiene una máquina M1 con 4 tipos de instrucciones (A, B, C, D); su
porcentaje de ocurrencia y su CPI se presentan en la siguiente tabla:
CPI %
A 2 40%
B 3 30%
C 5 20%
D 1 10%
Se tiene otra máquina M2 con instrucciones más sencillas, todas de CPI = 1.
Cada instrucción de M1 corresponde a entre 1 y 4 instrucciones de M2; a
cuántas exactamente, depende del tipo de instrucción y del contexto del
programa. Así, por ejemplo, el 50% de las instrucciones de tipo A se pueden
implementar usando una sola instrucción de M2, el 30% usando 2, el 10%
usando 3 y otro 10% usando 4. Esto se resume en la siguiente tabla:
1 2 3 4
A 50% 30% 10% 10%
B 40% 20% 20% 20%
C 30% 20% 20% 30%
D 70% 10% 10% 10%
¿Cuál debe ser la relación entre el reloj de M2 y el de M1 para que las dos
sean igualmente rápidas?
El CPI de la máquina 1 es:
CPI1 = 0,4*2 +0,3*3 + 0,2*5 + 0,1*1 = 2.8
Ahora, un programa de la máquina 1 con N1 instrucciones, según la tabla,
tendrá 40% de instrucciones de tipo A, 30% de tipo B, etc. Luego:
N1 = 0,4*N1 + 0,3*N1 + 0,2*N1 + 0,1*N1
Pero, según la segunda tabla, en la máquina 2, el 50% de las instrucciones de
tipo A se implementan usando 1 instrucción, el 30%, 2, etc. Luego, el número
total de instrucciones en la máquina 2 será
N2 =
0,4 * (0,5*N1*1 + 0,3*N1*2 + 0,1*N1*3 + 0,1*N1*4) +
0,3 * (0,4*N1*1 + 0,2*N1*2 + 0,2*N1*3 + 0,2*N1*4) +
0,2 * (0,3*N1*1 + 0,2*N1*2 + 0,2*N1*3 + 0,3*N1*4) +
0,1 * (0,7*N1*1 + 0,1*N1*2 + 0,1*N1*3 + 0,1*N1*4) = 2,04*N1
En consecuencia:
Tejec1 = N1 * CPI1 * Tc1 = N1 * 2,8 * Tc1
Tejec2 = N2 * CPI2 * Tc2 = 2,04*N1 * 1 * Tc2
Si son igualmente rápidas Tejec1 = Tejec2, luego:
N1 * 2,8 * Tc1 = 2,04*N1 * 1 * Tc2
A
P1 20
P2 100
P3 50
Esta máquina tiene 3 tipos de instrucciones (I1, I2, I3), cuyo CPI se distribuye
de la siguiente manera:
CPI-A % ocurrencia
instrucción
I1 1 50%
I2 2 20%
I3 1 30%
Se le efectúan unas modificaciones a esta máquina, y como resultado se
obtiene una nueva versión de la máquina (llamémosla B). Estas modificaciones
afectan el CPI de la máquina, y el número de instrucciones de los tres
programas (P1, P2 y P3) de la siguiente manera: