Post on 13-Apr-2016
description
Ejercicios de Estructura de Computadores. Grado en Ingeniería Informática Curso 2014/15
Página 1
Deseamos comparar el rendimiento de dos sistemas diferentes: S1 y S2. Se han realizado las siguientes
medidas sobre estos sistemas:
Tiempo en Sistema 1 Tiempo en Sistema 2
Programa 1 12 s 15s
Programa 2 4 s 5 s
¿Qué sistema tiene mejor redimiendo usando como carga de trabajo los programas 1 y 2?
Sabemos que:
RENDIMIENTO = 1 /TIEMPO DE EJECUCIÓN
Como se utilizan 2 programas tenemos que sumar ambos tiempos
Por lo tanto
RENDIMIENTO DEL SISTEMA 1
*Sumamos el tiempo de los 2 programas: 12S+4S=16S
Rendimiento= 1/16= 0.0625
RENDIMIENTO DEL SISTEMA 2
*Sumamos el tiempo de los 2 programas: 15S+5S=20S
1/20=0.05
COMO SE PUEDE OBSEVAR EL SISTEMA 1 TIENE MAYOR RENDIMIENTO POR OBTENER
MAYOR EL RENDIMIENTO EN LA EJECUCION DE LOS PROGRAMAS
Ejercicios de Estructura de Computadores. Grado en Ingeniería Informática Curso 2014/15
Página 2
Considerar dos implementaciones diferentes, Computador 1 y Computador 2 del mismo repertorio de
instrucciones. Hay cuatro clases de instrucciones (A, B, C y D) en el repertorio de instrucciones.
Computador 1 tiene una frecuencia de reloj de 2.5 GHz. El Computador 2 tiene una frecuencia de reloj
de 3.2 GHz. El número medio de ciclos para cada clase de instrucciones en Computador 1 y 2 es como
sigue:
Clase Computador1 Computador 2
A 1 ciclo 2 ciclos
B 2 ciclo 2 ciclos
C 3 ciclo 4 ciclos
D 4 ciclo 4 ciclos
Suponer que el rendimiento de pico se define como la frecuencia más rápida a la que una máquina
podría ejecutar una secuencia de instrucciones escogidas para maximizar esa frecuencia. ¿Cuáles son
los rendimientos pico de Computador 1 y Computador 2 expresados como instrucciones por segundo?
COMO HACE REFERENCIA A PICO HAY QUE PONER LA MENOR DE LAS
INSTRUCCIONES YA QUE ES EL MEJOR CASO POSIBLE
Computador 1 frecuencia de reloj de 2,5 109 Hz
Computador 2 frecuencia de reloj de 3,2. 109 Hz
MIPS = 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠
𝑇.𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛 ×
1
106 = 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠 ×𝐶𝑃𝐼 × 1
𝑓𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑟𝑒𝑙𝑜𝑗
× 1
106 =
= 𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎
𝐶𝑃𝐼 ×
1
106 ;
Computador 1 1 ciclo
MIPS = 𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎
1 ×
1
106 = 2,5.109
1×
1
106 = 2,5. 103 MIPS = 2500
Computador 2 2 ciclos
MIPS = 𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎
1 ×
1
106 = 3,2.109
2×
1
106 = 1,6. 103 MIPS = 1600
Ejercicios de Estructura de Computadores. Grado en Ingeniería Informática Curso 2014/15
Página 3
Considérese un Computador con tres tipos de instrucciones A, B, C y los siguientes CPI: CPIA=1,
CPIB=2, CPIC=3. Compilamos un mismo programa usando dos compiladores diferentes y obtenemos
los siguientes valores:
Número de instrucciones
(en miles de millones)
A B C
Compilando con Compilador 1 5 1 1
Compilando con Compilador 2 10 1 1
Asumiendo que la frecuencia de reloj de la máquina es de 3 GHz:
a) ¿Qué secuencia de código se ejecutará más rápido, la generada por el compilador 1 o por el
compilador 2?
Hay que hallar primero los tiempos de ejecución de los compiladores:
Para ello sabemos que el Tejec =Ciclo del reloj CPU/ Frecuencia del Reloj
Para el COMPILADOR 1 tenemos que:
TIPO A: 5*1 Ciclos= 5
TIPO B: 1*2 Ciclos= 2
TIPO C: 1*3 Ciclos= 3
TOTAL CICLOS = 10 . Como la frecuencia está en GHZ=109 = 10*109
CON LO QUE EL TIEMPO DE EJECUCION PARA EL COMPILADOR 1 ES:
10𝑥109
3𝑥109= 3,3 𝑠
Para el COMPILADOR 2 tenemos que:
TIPO A: 10*1 Ciclos= 10
TIPO B: 1*2 Ciclos= 2
TIPO C: 1*3 Ciclos= 3
TOTAL CICLOS = 15 . Como la frecuencia está en GHZ=109 = 15*109
CON LO QUE EL TIEMPO DE EJECUCION PARA EL COMPILADOR 1 ES:
15𝑥109
3𝑥109= 5 𝑠
Con lo que el COMPILADOR 1 obtiene el código más rápido
Ejercicios de Estructura de Computadores. Grado en Ingeniería Informática Curso 2014/15
Página 4
b) ¿Y en cuanto a MIPS?
Sabemos que MIPS=Nº de Instrucciones / Tiempo de ejecución x 106
Por lo que: Nº Instrucciones Compilador 1: (5+1+1)= 7 * 109 como su tiempo de ejecución es de: 3,3s
7𝑥109
3.3𝑥106= 2121,21 𝑀𝐼𝑃𝑆
Nº Instrucciones Compilador 2: (10+1+1)= 12* 109 como su tiempo de ejecución es de: 5s
12𝑥109
5𝑥106= 2400 𝑀𝐼𝑃𝑆
Con lo que se observa que con el Compilador 2 se obtienen mayor nº de instrucciones.
c) ¿Qué nos da mejor medida de rendimiento: el tiempo de ejecución del programa o los MIPS que
se ejecutan?
El tiempo de ejecución, puesto que se ha acordado que se toma como valor referencia para el
rendimiento: el tiempo de ejecución