Subido por Diego Tubay

EL RENDIMIENTO EN LOS COMPUTADORES

Anuncio
EL RENDIMIENTO EN LOS COMPUTADORES
EJEMPLO1
Para entender mejor el concepto de rendimiento analizaremos el siguiente ejemplo, se trata
de determinar cuál de los dos automóviles tiene mejor rendimiento.
COCHE
A
B
CONSUMO
4.5
7.1
VELOCIDAD
145
185
PLAZAS
4
7
C.V
90
110
PRECIO
13.400e
15.300e
Como hemos comentado anteriormente, el rendimiento dependerá de la finalidad a la que se
quiera destinar el vehículo y de unos parámetros, en este caso consumo, velocidad, etc :
• Si se utiliza para transportar2personas diariamente teniendo en cuenta el coste, el
rendimiento mejor será el del vehículo A.
• Si el vehículo es requerido para recorrer 100 km y transportar 6 personas, el rendimiento
mejor será el del vehículo B.
• Si lo que prima es el tiempo en un determinado recorrido la elección acertada es el B.
------------------------------------------------------------------------------------------------------------------------------
EJEMPLO2
Dadas las características de un programa calcular el tiempo que tarda en ejecutarse el
Programa y su rendimiento. Se sabe que la CPU trabaja a 1GHz. El programa se compone de 19
instrucciones de tres tipos: A, B y C y cada tipo de instrucción tiene un número de
microinstrucciones diferente según indica la tabla:
TIPO DE INSTRUCCION
A
B
C
INSTRUCCIONES/PROG
5
6
8
CPI
2
3
1
Tiempo de programa:
𝐶𝑃𝐼 =
∑ 𝑁° 𝑖𝑛𝑠𝑡𝑟𝑢𝑐.∗ 𝐶𝑃𝐼 (5 ∗ 2 + 6 ∗ 3 + 8 ∗ 1)
=
= 1.89
𝑁° 𝑖𝑛𝑠𝑡𝑟𝑢𝑐. 𝑇𝑂𝑇𝐴𝐿
19
𝑇𝑝𝑟𝑜𝑔 = 𝑁°𝑖𝑛𝑠𝑡𝑟𝑢𝑐.∗ 𝐶𝑃𝐼 ∗ 𝑇𝑐𝑝𝑢 = 19 ∗ 1.89 ∗
1
= 36𝑛𝑠
1000 ∗ 106
Rendimiento:
𝑁 𝑝𝑟𝑜𝑔 =
1
1
=
= 27777777.78𝑠 −1
𝑇𝑝𝑟𝑜𝑔 36𝑛𝑠
-----------------------------------------------------------------------------------------------------------------------------EJEMPLO3
Se dispone de un computador basado en un Pentium IVa2GHz.Se ejecuta un programa
compuesto por 1000 instrucciones. Según los datos de la siguiente tabla, calcular el
rendimiento:
TIPO DE INSTRUCCION
Lógico-Aritmética
Salto incondicional
Salto condicional
Carga
Almacenamiento
INSTRUCCIÓN/PROG.
20%
10%
10%/10%
30%
20%
CPI
4
3
7/5
3
4
Tiempo de programa:
𝐶𝑃𝐼 =
(200 ∗ 4 + 100 ∗ 3 + 100 ∗ 7 + 100 ∗ 5 + 300 ∗ 3 + 200 ∗ 4)
=4
1000
𝑇𝑝𝑟𝑜𝑔 = 𝑁°𝑖𝑛𝑠𝑡𝑟𝑢𝑐.∗ 𝐶𝑃𝐼 ∗ 𝑇𝑐𝑝𝑢 = 1000 ∗ 4 ∗
1
= 2000𝑛𝑠
2000 ∗ 106
Rendimiento:
1
1
109
𝑁 𝑝𝑟𝑜𝑔 =
=
=
= 2000𝑠 −1
𝑇𝑝𝑟𝑜𝑔 2000𝑛𝑠 2000 ∗ 106
-----------------------------------------------------------------------------------------------------------------------------EJEMPLO4
Tenemos un PentiumIV a 500 MHz y ejecuta un programa de 1000 instrucciones, según la
siguiente tabla calcular el rendimiento. Si sustituimos el procesador por un Pentium IVa1GHz,
¿cómo varia el rendimiento?.
TIPO DE INSTRUCCION
Carga y Almacenamiento
Lógica Aritmética
Salto
INSTRUCCIONES/PROG.
30%
50%
20$
CPI
3
4
2
𝑎) 𝐶𝑃𝐼 =
𝑁 𝑝𝑟𝑜𝑔 =
(300 ∗ 3 + 500 ∗ 4 + 200 ∗ 2)
= 3,3
1000
𝑓 𝑐𝑝𝑢
500 ∗ 106
=
= 151515,15𝑠 −1
𝑁°𝑖𝑛𝑠𝑡𝑟𝑢𝑐.∗ 𝐶𝑃𝐼 1000 ∗ 3,3
b) El rendimiento se multiplicará por 2 ya que es directamente proporcional a la frecuencia.
-----------------------------------------------------------------------------------------------------------------------------EJEMPLO5
Tenemos un PentiumIV a 2GHz y ejecuta un programa de 1000 instrucciones, según la
siguiente tabla calcular el rendimiento. Para aumentar el rendimiento se añade
posteriormente
una caché que ahorra1ciclo en accesos di el dato está en la caché y si no está dura lo mismo. El
porcentaje de acierto es del 90%. Calcular el rendimiento y la aceleración del rendimiento con
respecto del anterior sin caché.
TIPO DE INSTRUCCIÓN
Lógica-Aritmética
Llamadas a subrutinas
Salto incondicional
Salto condicional
Carga
Almacenamiento
Mov
𝐶𝑃𝐼 =
INSTRUCCIONES/PROG
300
100
100
50/50
100
100
200
300 ∗ 5 + 100 ∗ 9 + 100 ∗ 6 + 50 ∗ 9 + 50 ∗ 3 + 100 ∗ 2 + 100 ∗ 4 + 200 ∗ 2
= 3,3
1000
𝑁 sin 𝑐𝑎𝑐ℎ𝑒 =
𝐶𝑃𝐼 =
2 ∗ 109
= 434708,6𝑠 −1
1000 ∗ 4,6
. .100 ∗ 6 + 50 ∗ 9 + 50 ∗ 3 + 90 ∗ 1 + 10 ∗ 2 + 90 ∗ 3 + 10 ∗ 4 + 200 ∗ 2
= 4,42
1000
𝑁 con 𝑐𝑎𝑐ℎ𝑒 =
𝐶𝑃𝐼 =
CPI
5
9
6
9/3
2
4
2
2 ∗ 109
= 452488𝑠 −1
1000 ∗ 4,2
300 ∗ 5 + 100 ∗ 9 + 100 ∗ 6 + 50 ∗ 9 + 50 ∗ 3 + 100 ∗ 2 + 100 ∗ 4 + 200 ∗ 2
= 3,3
1000
𝐴𝑁 =
𝑟𝑒𝑛𝑑. 𝑐𝑜𝑛𝑐𝑎𝑐ℎ𝑒 452488
=
= 1,0407𝑠 −1
𝑟𝑒𝑛𝑑. 𝑠𝑖𝑛𝑐𝑎𝑐ℎ𝑒 434782
Hemos conseguido un aumento en el rendimiento de un1%al incorporar caché.
-----------------------------------------------------------------------------------------------------------------------------EJEMPLO6
Se dispone de una máquina con dos clases de instrucciones, la instrucción 1 tendrá un CPI
De 3 y la instrucción2un CPI de 2. Al medir el código para el mismo programa para dos
compiladores diferentes se obtienen los siguientes datos.
CODIGO
Compilador A
Compilador B
INSTRUCCIÓN 1
6
4
INSTRUCCIÓN 2
2
2
Se supone que la frecuencia de reloj de la máquina es de 200MHz. ¿Qué secuencia de código
se ejecuta con más rapidez de acuerdo con los MIPS? Realizar lo mismo de acuerdo al tiempo
de
ejecución. Explicar los resultados.
Para calcular los MIPS utilizamos la ecuación:
𝑀𝐼𝑃𝑆 =
𝐶𝑃𝐼 =
𝐶𝑃𝐼 𝐴 =
∑𝑁
𝑖=1(𝐶𝑃𝐼 ∗ 𝐼)
𝑁°𝑖𝑛𝑠𝑡𝑟𝑢𝑐. 𝑇𝑂𝑇𝐴𝐿
(6 ∗ 3 + 2 ∗ 2) 22
=
= 2.75
6+2
8
𝑀𝐼𝑃𝑆 𝐴 =
𝐶𝑃𝐼 𝐵 =
𝐹𝑐𝑝𝑢
𝐶𝑃𝐼 ∗ 106
200 ∗ 106
= 72.72
2.75 ∗ 106
(4 ∗ 3 + 2 ∗ 2) 16
=
= 2.66
4+2
6
𝑀𝐼𝑃𝑆 𝐵 =
200 ∗ 106
= 75.18
2.66 ∗ 106
Por consiguiente, el código producido por el compilador B tiene una frecuencia en MIPS
más elevada.
Calcularemos ahora el tiempo de ejecución y para ello utilizaremos la formula:
𝑇 𝑝𝑟𝑜𝑔 =
𝑇 𝑝𝑟𝑜𝑔 𝐴 =
𝐶𝑃𝐼 ∗ 𝑁°𝑖𝑛𝑠𝑡𝑟𝑢𝑐
𝐹𝑐𝑝𝑢
2.75 ∗ (6 + 2)
= 1,1𝑠 −7
200 ∗ 106
𝑇 𝑝𝑟𝑜𝑔 𝐵 =
2.66 ∗ (4 + 2)
= 79,8𝑠 −7
200 ∗ 106
-----------------------------------------------------------------------------------------------------------------------------EJEMPLO7
Hallar los MFLOPS nativos y relativos que se obtienen al utilizar un computador que ejecuta
un programa en 66 segundos y que consta de las siguientes instrucciones en coma flotante.
OPERACION
ADD
SUB
MUL
DIV
EXP
SIN
SQRT
𝑀𝐹𝐿𝑂𝑃𝑆 𝑛𝑎𝑡𝑖𝑣𝑜𝑠 =
MILLONES DE INSTRUCCIONES
20
10
10
12
2
99
1
PESO
1
1
1
4
8
8
4
(20 + 10 + 10 + 12 + 2 + 99 + 1) ∗ 106
= 2,33
66 ∗ 106
(220 ∗ 1 + 10 ∗ 1 + 10 ∗ 1 + 12 ∗ 4 + 2 ∗ 8 + 99 ∗ 8 + 1 ∗ 4) ∗ 106
𝑀𝐹𝐿𝑂𝑃𝑆 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜𝑠 =
66 ∗ 106
𝑀𝐹𝐿𝑂𝑃𝑆 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜𝑠 = 13,64
El resultado de los Mflops relativos es mayor porque utiliza muchas instrucciones de alta
complejidad.
Descargar