Download - Problermas Entregar Tema1 Estructura Computadores

Transcript
Page 1: Problermas Entregar Tema1 Estructura Computadores

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

Page 2: Problermas Entregar Tema1 Estructura Computadores

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

106 = 2,5. 103 MIPS = 2500

Computador 2 2 ciclos

MIPS = 𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎

1 ×

1

106 = 3,2.109

1

106 = 1,6. 103 MIPS = 1600

Page 3: Problermas Entregar Tema1 Estructura Computadores

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

Page 4: Problermas Entregar Tema1 Estructura Computadores

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