Rendimiento de Computadoras - Ejercicios

26
RENDIMIENTO DE COMPUTADORAS EJERCICIO 1 Se propone a un 386 añadirle una memoria caché con una tasa de acierto de un 90%, deforma que, cuando el acceso se haga en la caché, el CPI de las instrucciones que afectan a la memoria se decrementa en una unidad. Al poner la caché, en los fallos se pierde un ciclo, es decir, se le suma al CPI 1 unidad. Se pide: - Calcular el rendimiento del 386 sin caché. - Calcular el rendimiento del 486 con caché. - Calcular la relación de rendimientos entre el 386 con caché y el 386 sin caché. Las diferentes instrucciones tienen la frecuencia y el CPI que se refleja en la tabla: de instrucciones Tipo de instrucciones CPI386 20 Carga 2 10 Almacenar 4 15 Reg/Reg 2 8/7 Salto condicional 9/3 10 Call 9 30 Operaciones Aritméticas 5 SOLUCIÓN Calcular el rendimiento del 386 sin caché. CPI= i=1 n N° Instruc i CPI i N°instrucTotal

Transcript of Rendimiento de Computadoras - Ejercicios

Page 1: Rendimiento de Computadoras - Ejercicios

RENDIMIENTO DE COMPUTADORASEJERCICIO 1Se propone a un 386 añadirle una memoria caché con una tasa de acierto de un 90%,

deforma que, cuando el acceso se haga en la caché, el CPI de las instrucciones que afectan a la memoria se decrementa en una unidad. Al poner la caché, en los fallos se pierde un ciclo, es decir, se le suma al CPI 1 unidad. Se pide:

- Calcular el rendimiento del 386 sin caché.- Calcular el rendimiento del 486 con caché.- Calcular la relación de rendimientos entre el 386 con caché y el 386 sin caché.Las diferentes instrucciones tienen la frecuencia y el CPI que se refleja en la tabla:

N° de instrucciones

Tipo de instrucciones

CPI386

20 Carga 210 Almacenar 415 Reg/Reg 28/7 Salto condicional 9/310 Call 930 Operaciones

Aritméticas5

SOLUCIÓN Calcular el rendimiento del 386 sin caché.

CPI=∑i=1

n

N ° Instruc i∗CPI i

N °instruc Total

CPI=20∗2+10∗4+15∗2+(8∗9+7∗3)+10∗9+30∗5100

=4.43

nprog=f CPU

N ° instruc∗CPIs−1

Page 2: Rendimiento de Computadoras - Ejercicios

nprog=F

100∗4.43s−1

Calcular el rendimiento del 486 con caché.

CPI=∑i=1

n

N ° Instruc i∗CPI i

N °instruc Total

CPI=(18∗1+2∗2 )+(9∗3+1∗4 )+15∗2+(8∗9+7∗3)+10∗9+30∗5

100 =4.16

nprog=f CPU

N ° instruc∗CPIs−1

nprog=F−1

100∗4.16s−1

Calcular la relación de rendimientos entre el 386 con cache y el 386 sin caché.

Relación=

F100∗4.16

F100∗4.43

=1.064903846FF

=1.064903846

Page 3: Rendimiento de Computadoras - Ejercicios

EJERCICIO 2Suponiendo que tenemos 2 maquinas con las siguientes características para un

determinado programa R:- Maquina A : Duración del ciclo de reloj de 23 ns. Con un CPI de 3,2- Maquina B : Duración del ciclo de reloj de 15 ns. Con un CPI de 4¿Cuál de las dos maquinas tiene mayor rendimiento para el programa R?

SOLUCIÓN

Máquina A:

nprog=1

T prog

nprog=1

23ns=0.04347826087ns−1

Máquina B:

nprog=1

T prog

nprog=1

15ns=0.06666666667ns−1

Rpta: La maquina B tiene mayor rendimiento.

Page 4: Rendimiento de Computadoras - Ejercicios

EJERCICIO 3Estamos interesados en dos implementaciones de una máquina. Una con hardware especial de punto flotante y otra sin él. Considerar un programa P, con la siguiente mezcla de operaciones:Multiplicación en punto flotante 10%Suma en punto flotante 15%División en punto flotante 5%Instrucciones enteras 70%La maquina MFP (máquinas con punto flotante), tiene hardware de punto flotante y además puede implementar directamente las operaciones en punto flotante. Necesita el siguiente número de ciclos para cada clase de instrucción:Multiplicación en punto flotante 6Suma en punto flotante 4División en punto flotante 20Instrucciones enteras 2

La máquina MNFP (máquina sin puntos flotante) no tiene hardware de punto flotante y por ello debe las operaciones en punto flotante utilizando instrucciones enteras. Todas las instrucciones enteras necesitan dos ciclos de reloj. El número de instrucciones enteras necesarias para implementar cada una de las operaciones en punto flotante es como sigue:

Multiplicación en punto flotante 30Suma en punto flotante 20División en punto flotante 50Ambas máquinas tienen una frecuencia de reloj de 100 MHz. Calcular las frecuencias en

MIPS nativos para ambas máquinas.

Page 5: Rendimiento de Computadoras - Ejercicios

SOLUCIÓN

Máquina MFP:

CPI=∑i=1

n

N ° Instruc i∗CPI i

N °instruc Total

CPI=0.1 I∗6+0.15 I∗4+0.05 I∗20+0.7 I∗2I

=3.6

T prog=N instruc∗CPI∗TCPU

T prog=I∗3.6∗10−8

MFLOPSnativos=Millonesde instrucciones

T prog∗106 }

MFLOPSnativos=I

I∗3.6∗10−8∗106

MFLOPSnativos=27.77777778

Máquina MNFP:

CPI=∑i=1

n

N ° Instruc i∗CPI i

N °instruc Total

Page 6: Rendimiento de Computadoras - Ejercicios

CPI=0.1 I∗30+0.15 I∗20+0.05 I∗500.30 I

=853

T prog=N instruc∗CPI∗TCPU

T prog=0.30I∗853

∗10−8=85∗10−9 I

MFLOPSnativos=Millonesde instrucciones

T prog∗106 }

MFLOPSnativos=0.3 I

I 85∗10−9∗106

MFLOPSnativos = 3.5294117647059

EJERCICIO 4Se va a mejorar una máquina y se barajan dos opciones: hacer que la ejecución de las instrucciones de multiplicación tarden 4 veces menos, o que la ejecución de las de acceso a memoria tarde 2 veces menos. Se ejecuta un programa de prueba antes de realizar la mejora y se obtienen las siguientes medidas de tiempo de uso de la CPU: el 20% del tiempo es utilizado para multiplicar, el 50% para instrucciones de acceso a memoria y el 30% restante para otras tareas.¿Cuál será el incremento de velocidad si sólo se mejora la multiplicación? ¿Y si sólo se mejoran los accesos a memoria? ¿Y si se realizan ambas mejoras?

SOLUCIÓN:

N a=1

T Prog= 1N ° Instrucc∗CPI∗T CPU

1T Prog

= 1N ° Instrucc∗3.2∗23∗10−9

N a=109

N ° Instrucc∗3.2∗23= 109

N ° Instrucc∗73.6

N b=1

T Prog= 1N ° Instrucc∗CPI∗T CPU

Page 7: Rendimiento de Computadoras - Ejercicios

1T Prog

= 1N ° Instrucc∗4∗15∗10−9

N b=109

N ° Instrucc∗4∗15= 109

N ° Instrucc∗60

An=1.23El rendimiento de la maquina A es 1.23 veces mejor que el rendimiento de la maquina B.

EJERCICIO 5Se ejecutan sobre una máquina dos programas A y B utilizados como test para medir su rendimiento. Los recuentos de instrucciones tienen la siguiente distribución en ambos:

PROGRAMA A

PROGRAMA B

Instrucciones de proceso

37% 48%

Instrucciones de transferencia

45% 36%

Instrucciones de salto 18% 16%

La máquina presenta los siguientes CPI (ciclos por instrucción) medios para cada grupo de instrucciones sin memoria caché de 2º nivel y con ella.

CPI MEDIO

SIN CACHE DE 2º NIVEL CON CACHE DE 2º NIVEL

Instrucciones de proceso 1.0 1.0

Page 8: Rendimiento de Computadoras - Ejercicios

Instrucciones de transferencia

5.2 2.4

Instrucciones de salto 1.1 1.0

Determinar la ganancia de rendimiento (aceleración o speed up) que presenta la mejora de la jerarquía de memoria introducida en la máquina con respecto a la situación sin mejora.

SOLUCIÓN

Calcular el rendimiento de la máquina A.

CPI=∑i=1

n

N °∈struc i∗CPI i

N °instruc Total

CPI=0.37 I∗1+0.45 I∗5.2+0.18 I∗1.11 I

=2.908

nprog=f CPU

N ° instruc∗CPIs−1

nprog=f CPU

1 I∗2.908s−1

nprog=0.34388F I−1 s−1

Calcular el rendimiento de la máquina B.

CPI=∑i=1

n

N ° Instruc i∗CPI i

N °instruc Total

CPI=0.48 I∗1+0.16 I∗2.4+0.36 I∗11 I

=1.224

nprog=f CPU

I∗1.224s−1

nprog=0.81699F I−1 s−1

Page 9: Rendimiento de Computadoras - Ejercicios

Laganancia es :0.81699 I−1F−0.34388 I−1F=0.47311 I−1F

EJERCICIO 6Una vez graduado, el lector se preguntará cómo llegar a ser un líder en el diseño de computadores. Su estudio sobre la utilización de construcciones de los lenguajes de alto nivel sugiere que las llamadas a los procedimientos son una de las operaciones más caras. Suponga que ha inventado un esquema que reduce las operaciones de carga y almacenamiento normalmente asociadas con las llamadas y vueltas de procedimientos. Lo primero que hace es ejecutar algunos experimentos con y sin esta optimización. Sus experimentos utilizan el mismo compilador optimizador en ambas versiones del computador.Los experimentos realizados revelan lo siguiente:• La duración del ciclo de reloj de la versión no optimizada es el 5% más rápido.

Page 10: Rendimiento de Computadoras - Ejercicios

• El 30% de las instrucciones de la versión no optimizada son operaciones de carga o almacenamiento.

• La versión optimizada ejecuta 1/3 menos de operaciones de carga y almacenamiento que la versión no optimizada. Para las demás instrucciones, el recuento de ejecución dinámica es inalterable.• Todas las instrucciones (incluyendo las de carga y almacenamiento) emplean un ciclo de

reloj.¿Qué versión es más rápida? Justificar cuantitativamente la decisión.

SOLUCIÓNNo Optimizado

TCPU (1 + 0.05) = TCPU (1.05)0.3 carga y almacenamiento

N 0.7 otros CPI = 1

N A=1.05T CPU

n∗1

Optimizado

TCPU (optimizado) = TCPU 0.2n carga y almacenamiento

0.9N 0.7n otros CPI = 1

NB=T CPU0.9n∗1

A=NB

N A=

T CPU0.9n∗1

1.05T CPUn∗1

=1.058

La versión optimizada es 5.8% mejor.

Page 11: Rendimiento de Computadoras - Ejercicios
Page 12: Rendimiento de Computadoras - Ejercicios
Page 13: Rendimiento de Computadoras - Ejercicios
Page 14: Rendimiento de Computadoras - Ejercicios
Page 15: Rendimiento de Computadoras - Ejercicios
Page 16: Rendimiento de Computadoras - Ejercicios
Page 17: Rendimiento de Computadoras - Ejercicios
Page 18: Rendimiento de Computadoras - Ejercicios
Page 19: Rendimiento de Computadoras - Ejercicios
Page 20: Rendimiento de Computadoras - Ejercicios
Page 21: Rendimiento de Computadoras - Ejercicios