Sunteți pe pagina 1din 6

Practica 1 - Rendimiento*

Organizacion del Computador 1

Verano 2014

Subconjunto mnimo de ejercicios recomendado: 1 a 11

Ejercicio 1 Considere tres procesadores distintos P 1, P 2 y P 3 que ejecutan el mismo set de


instrucciones con las frecuencias de reloj y ciclos por instruccion (CPI) dados en la siguiente
tabla:

Procesador Frecuencia de reloj CPI


P1 3 GHz 1.5
a. P2 2.5 GHz 1.0
P3 4 GHz 2.2
P1 2 GHz 1.2
b. P2 3 GHz 0.8
P3 4 GHz 2.0

a) Cual de todos los procesadores tiene mayor performance expresada en instrucciones por
segundo?

b) Si cada uno de los procesadores ejecuta un programa que demora 10 segundos, dar la
cantidad de ciclos y la cantidad de instrucciones de dicho programa.

c) Al intentar reducir el tiempo en un 30 % se produce un incremento del 20 % en los ciclos


por instruccion de cada procesador Que frecuencia de reloj sera necesaria en cada caso
para lograr dicha mejora?

Ejercicio 2 Dada la siguiente informacion:


Procesador Frecuencia de reloj N instrucciones Tiempo
P1 3 GHz 20.00E+09 7s
a. P2 2.5 GHz 30.00E+09 10s
P3 4 GHz 90.00E+09 9s
P1 2 GHz 20.00E+09 5s
b. P2 3 GHz 30.00E+09 8s
P3 4 GHz 25.00E+09 7s

a) Dar la cantidad de instrucciones por ciclo (IPC) para cada procesador.

b) Dar la frecuencia de reloj para P 2 que reduce el tiempo de ejecucion al de P 1.

c) Cual es la cantidad de instrucciones que reduce el tiempo de ejecucion de P 2 al de P 3?

Ejercicio 3 Considere dos implementaciones distintas de la misma arquitectura. La misma


posee cuatro clases de instrucciones: A, B, C y D. A continuacion se muestran las frecuencias
*
Los ejercicios han sido tomados del libro Computer Organization and Design. The Hardware / Software
Interface 4ta edicion.

1
de reloj y los ciclos por instruccion (CPI) de cada implementacion:
Frecuencia de reloj CPI clase A CPI clase B CPI clase C CPI clase D
P1 2.5 GHz 1 2 3 3
a.
P2 3 GHz 2 2 2 2
P1 2.5 GHz 2 1.5 2 1
b.
P2 3 GHz 1 2 1 1

a) Dado un programa con 106 instrucciones divididas en clases de la siguiente forma: 10 % de


clase A, 20 % de clase B, 50 % de clase C y 20 % de clase D Cual de las implementaciones
es la mas rapida?

b) Cual es el CPI global para cada implementacion?

Ejercicio 4 La siguiente tabla muestra la cantidad de instrucciones de un programa:

Arit. Store Load Salto Total


a. 650 100 600 50 1400
b. 750 250 500 500 2000

a) Asumiendo que las instrucciones aritmeticas toman 1 ciclo, load y store toman 5 ciclos y
los altos toma 2 ciclos Cual es el tiempo de ejecucion del programa en un procesador de
2 GHz?

b) Cual es el CPI del programa?

c) Si la cantidad de instrucciones de tipo load puede reducirse a la mitad Cual es la mejora


en el rendimiento obtenida y cual es el nuevo CPI del programa?

Ejercicio 5 Considere dos implementaciones diferentes , P 1 y P 2, del mismo set de instruc-


ciones. Dicho set de instrucciones tiene cinco clases de instrucciones (A, B, C, D y E). La
frecuencia de reloj y el CPI de cada clase esta dado por la siguiente tabla:
Frecuencia de reloj CPI clase A CPI clase B CPI clase C CPI clase D CPI clase E
P1 2.0 GHz 1 2 3 4 3
a.
P2 4.0 GHz 2 2 2 4 4
P1 2.0 GHz 1 1 2 3 2
b.
P2 3.0 GHz 1 2 3 4 3

a) Asumiendo que la performance de pico se define como la frecuencia mas rapida a la que una
computadora puede ejecutar cualquier secuencia de instrucciones Cual es la performance
de pico de P 1 y P 2 expresada en instrucciones por segundo?

b) Si el numero de instrucciones ejecutadas por un cierto programa esta dividida equitativa-


mente entre las distintas clases excepto por las instrucciones de clase A, que son el doble
de frecuentes que cada una de las otras Que computadora es mas rapida? Cuanto mas
rapida?

c) Si el numero de instrucciones ejecutadas por un cierto programa esta dividida equitativa-


mente entre las distintas clases excepto por las instrucciones de clase E, que son el doble
de frecuentes que cada una de las otras Que computadora es mas rapida? Cuanto mas
rapida?

Ejercicio 6 La siguiente tabla muestra la particion en clases de instrucciones de dos progra-


mas distintos:
Arit. Store Load Salto Total
a. 600 600 200 50 1450
b. 900 500 100 200 1700

2
a) Asumiendo que las instrucciones aritmeticas toman 1 ciclo, load y store toman 10 ciclos y
los saltos toman 3 ciclos dar el tiempo de ejecucion de cada programa en una computadora
MIPS de 3.0 GHz.

b) Asumiendo que las instrucciones aritmeticas toman 1 ciclo, load y store toman 2 ciclos y
los saltos toman 3 ciclos dar el tiempo de ejecucion de cada programa en una computadora
MIPS de 3.0 GHz.

c) Asumiendo que las instrucciones aritmeticas toman 1 ciclo, load y store toman 2 ciclos y
los saltos toman 3 ciclos Cual es la mejora en la performance que se obtiene al reducir el
numero de instrucciones aritmeticas a la mitad?

Ejercicio 7 Los compiladores pueden tener un impacto muy profundo en la performance


de una aplicacion en un cierto procesador. En la siguiente tabla se muestra la cantidad de
instrucciones y el tiempo de ejecucion de dos programas distintos usando dos compiladores
distintos (sobre la misma computadora)
Compilador A Compilador B
N inst. Tiempo de ejecucion N inst. Tiempo de ejecucion
a. 1.00E+09 1.8s 1.20E+09 1.8s
b. 1.00E+09 1.1s 1.20E+09 1.5s

a) Calcule los ciclos por instruccion promedio (CPI) para cada programa sabiendo que el
ciclo del procesador demora 1ns.

b) Asumiendo el numero de CPI promedio calculado en el punto anterior: suponga que los
programas se ejecutan sobre dos procesadores distintas. Los compilados con el compilador
A en un procesador y los compilados con el compilador B en otro procesador. Si el tiempo
de ejecucion de cada programa en cada procesador es el mismo Cuanto mas rapido es
el procesador que ejecuta los programas compilados con el compilador A con respecto al
otro?

c) Se ha desarrollado un nuevo compilador que utiliza tan solo 600 millones de instrucciones
y cuyo CPI promedio es de 1,1 Cual es el speedup que se obtiene al utilizar este nuevo
compilador en comparacion a los otros dos en el procesador original?

Ejercicio 8 Considere dos implementaciones diferentes, P 1 y P 2, del mismo set de instruc-


ciones. El mismo cuenta con cinco clases de instrucciones. P 1 tiene una frecuencia de reloj
de 4Ghz mientras que P 2 tiene una frecuencia de 6GHz. La siguiente tabla lista el valor de
CPI promedio por clase:
CPI clase A CPI clase B CPI clase C CPI clase D CPI clase E
P1 1 2 3 4 5
a.
P2 3 3 3 5 5
P1 1 2 3 4 5
b.
P2 3 2 2 2 6

a) Asumiendo que la performance de pico se define como la frecuencia mas rapida a la que una
computadora puede ejecutar cualquier secuencia de instrucciones Cual es la performance
de pico de P 1 y P 2 expresada en instrucciones por segundo?

b) Si el numero de instrucciones ejecutadas por un cierto programa esta dividida equitativa-


mente entre las distintas clases excepto por las instrucciones de clase A, que son el doble
de frecuentes que cada una de las otras Que computadora es mas rapida? Cuanto mas
rapida?

c) A que frecuencia P 1 tiene la misma performance que P 2 considerando las proporciones


de cada clase de instruccion dada en el punto anterior?

3
Ejercicio 9 La siguiente tabla muestra el desglose por tipo de instruccion de una aplicacion
ejecutado en 1, 2, 4 u 8 procesadores
Procs. N inst. p/proc. CPI
Aritmeticas Load/Store Branch Aritmeticas Load/Store Branch
a. 1 2560 1280 256 1 4 2
2 1280 640 128 1 5 2
4 640 320 64 1 7 2
8 320 160 32 1 12 2
Procs.
N inst. p/proc. CPI
Aritmeticas Load/Store Branch Aritmeticas Load/Store Branch
b. 1 2560 1280 256 1 4 2
2 1280 640 128 1 6 2
4 640 320 64 1 8 2
8 320 160 32 1 10 2

a) Cual es el numero total de instrucciones que se ejecutan por procesador y cual el numero
total de instrucciones entre todos los procesadores?

b) Asumiendo que cada procesador tiene una frecuencia de reloj de 2GHz calcule el tiempo
total de ejecucion para cada programa para cada cantidad de procesadores.

c) Si el valor de CPI de las instrucciones aritmeticas se duplica Cual sera el impacto en el


tiempo de ejecucion de los programas para cada cantidad de procesadores?

Ejercicio 10 La siguiente tabla muestra el numero de instrucciones por core en un pro-


cesador multicore as como el valor de CPI promedio al ejecutar el programa en 1, 2, 4 u 8
cores
#cores Instr. por core CPI promedio
a. 1 1.00E+10 1.2
2 5.00E+09 1.4
4 2.50E+09 1.8
8 1.25E+09 2.6
#cores Instr. por core CPI promedio
b. 1 1.00E+10 1.0
2 5.00E+09 1.2
4 2.50E+09 1.4
8 1.25E+09 1.7

a) Asumiendo un frecuencia de reloj de 3GHz Cual es el tiempo de ejecucion del programa


para cada cantidad de cores?

b) Si se usara un unico core calcule cual es el valor de CPI promedio requerido para que
el tiempo de ejecucion del programa sea igual los calculados en el punto anterior. Ten-
ga en cuenta que la cantidad total de instrucciones surge de considerar la suma de las
instrucciones ejecutadas en cada core.

Ejercicio 11 La siguiente tabla muestra la informacion sobre la ejecucion de dos programas


en dos procesadores distintos
Frecuencia de reloj CPI N inst.
P1 4.0 GHz 0.9 5.00E+06
a.
P2 3.0 GHz 0.75 1.00E+06
P1 3.0 GHz 1.1 3.00E+06
b.
P2 2.5 GHz 1.0 0.50E+06

4
a) Una falacia muy comun es considerar al procesador con mayor frecuencia de reloj como el
de mayor performance. Verifique si esto es cierto teniendo en cuenta los datos de la tabla
anterior.

b) Otra falacia es considerar que el procesador que ejecuta mayor numero de instrucciones
requerira mayor tiempo de ejecucion. Utilizando los valores de CPI de la tabla calcule
cuantas instrucciones puede ejecutar el procesador P 2 en el tiempo que P 1 necesita para
ejecutar 106 instrucciones.

c) Otra falacia muy usual es usar el valor MIPS (millones de instrucciones por segundo) para
comparar la performance de dos procesadores diferentes y considerar que aquel con mayor
valor de MIPS es el mejor. Verifique si esta afirmacion se cumple o no para los procesadores
P 1 y P 2 de la tabla.

Ejercicio 12 Otra medida de performance muy comun es la de MFLOPS (millones de ope-


raciones de punto flotante por segundo) que se define como

N operaciones punto flotante


MFLOPS =
tiempo de ejecucion 106
La siguiente tabla muestra datos de la ejecucion de dos programas distintos sobre dos
procesadores distintos:
N inst. CPI
Conteo de inst. L/S FP Branch L/S FP Branch Frecuencia de reloj
P1 1.00E+06 50 % 40 % 10 % 0.75 1.0 1.5 4.0 GHz
a.
P2 5.00E+06 40 % 40 % 20 % 1.25 0.8 1.25 3.0 GHz
P1 5.00E+06 30 % 30 % 40 % 1.5 1.0 2.0 4.0 GHz
b.
P2 2.00E+06 40 % 30 % 30 % 1.25 1.0 2.5 3.0 GHz

a) Calcule el valor de MFLOPS para cada programa.

b) Calcule el valor de MIPS para cada programa.

c) Calcule la performance de cada procesador para cada programa y comparela con los valores
de MFLOPS y MIPS calculados.

Ejercicio 13 A veces se cae en la trampa de pensar que se puede mejorar la performance


global de un procesador mejorando solo un aspecto del mismo. Esto puede no ser siempre
cierto. Considere una computadora ejecutando dos programas con los tiempos de ejecucion
que se muestran en la siguiente tabla
FP Instr. INT Instr. L/S Instr. Branch Instr. Tiempo total
a. 70s 85s 55s 40s 250s
b. 40s 90s 60s 250s 210s

a) Cuanto se reduce el tiempo total de ejecucion si el tiempo requerido por las instrucciones
de punto flotante se reduce en un 20 %?

b) En cuanto se debe reducir el tiempo requerido por las instrucciones de enteros para que
el tiempo total se reduzca en un 20 %?

c) Es posible lograr una reduccion del 20 % en el tiempo total de ejecucion reduciendo


unicamente el tiempo requerido por las instrucciones de salto?

5
Ejercicio 14 La siguiente tabla muestra el desglose por tipo de instruccion (por procesador)
de dos aplicaciones ejecutadas en diferente cantidad de procesadores
Procs. FP Instr. INT Instr. L/S Instr. Branch Instr. CPI CPI CPI CPI
(FP) (INT) (L/S) (Branch)
a. 2 280 106 1000 106 640 106 128 106 1 1 4 2
b. 16 50 10 6 110 10 6 80 106 16 106 1 1 4 2
Asumiendo que cada procesador tiene una frecuencia de reloj de 2GHz

a) Cuanto debemos mejorar el CPI de la instrucciones de punto flotante si queremos que el


programa se ejecute dos veces mas rapido?

b) Cuanto debemos mejorar el CPI the las instrucciones de load y store si queremos que el
programa se ejecute dos veces mas rapido?

c) Cual es el tiempo de ejecucion del programa si el CPI de las instrucciones de enteros y


de punto flotante se reduce en un 40 % y el de las instrucciones de load y store se reduce
en un 30 %?

Ejercicio 15 Otra trampa, relacionada con la ejecucion de programas en sistemas multi-


procesador, es pretender una mejora en la performance mediante la mejora en el tiempo de
ejecucion en algunas partes de las rutinas unicamente. La siguiente tabla muestra el tiempo de
ejecucion de cinco rutinas de un programa ejecutando en diferente cantidad de procesadores:
Procs. Rutina A Rutina B Rutina C Rutina D Rutina E
(ms) (ms) (ms) (ms) (ms)
a. 4 12 45 6 36 3
b. 32 2 7 1 6 2

a) Calcule el tiempo total de ejecucion y en cuanto se reduce si las rutinas A, C y E sufren


una mejora de un 15 %.

b) En cuanto mejora el tiempo total de ejecucion si la rutina B sufre una mejora del 10 %.

c) En cuanto mejora el tiempo total de ejecucion si la rutina D sufre una mejora del 10 %.

Ejercicio 16 El tiempo de ejecucion en un sistema multiprocesador se puede dividir entre


tiempo de computo y tiempo de ruteo (el tiempo gastado enviando datos de un procesador a
otro). Considerando los tiempos de computo y de ruteo dados en la siguiente tabla:
Procs. Rutina A Rutina B Rutina C Rutina D Rutina E Ruteo
(ms) (ms) (ms) (ms) (ms) (ms)
2 40 78 9 70 4 11
4 29 60 4 36 2 13
8 15 45 3 19 3 17
16 7 35 1 11 2 22
32 4 23 1 6 1 23
64 2 12 0.5 3 1 26

a) Calcule la proporcion entre el tiempo de computo de cada fila y el tiempo de computo de


la fila anterior.

b) Calcule la proporcion entre el tiempo de ruteo de cada fila y el tiempo de ruteo de la fila
anterior.

c) Haciendo una extrapolacion a partir de los datos obtenidos prediga cual sera el tiempo de
computo y el tiempo de ruteo en un sistema con 128 procesadores.

d) Calcule el tiempo de computo y el tiempo de ruteo para un sistema monoprocesador.

S-ar putea să vă placă și