Tema 1: Soluciones a los ejercicios - myTeachingURJC/Arq-computadores-01 GitHub Wiki
Soluciones a los ejercicios del Tema 1: Abstracciones y Tecnología
Contenido
Sesión 3: Computadores y rendimiento (II)
Soluciones a los ejercicios propuestos en la sesión 3: Computadores y rendimiento (II)
Ejercicio 1
A partir de la ecuación 6 calculamos el tiempo que tarda en ejecutarse una instrucción: Hay que multiplicar el CPI por el perido de Reloj
El rendimiento es la inversa del tiempo (Ecuación 1):
El procesador P1 ejecuta ¡¡2 billones de instrucciones por segundo!!
Ejercicio 2
Se resuelve igual que el ejercicio 1, pero con otros datos
El procesador P2 ejecuta ¡¡2.5 billones de instrucciones por segundo!!
Ejercicio 3
- Apartado a)
Se calcula igual que en los ejercicios 1 y 2
El procesador P3 ejecuta ¡¡1.8 billones de instrucciones por segundo!!
- Apartado b)
El mejor rendimiento es el del procesador P2, que ejecuta 2500 Millones de instrucciones por segundo, a pesar de tener la frecuencia de funcionamiento más baja
Ejercicio 4
- Apartado a) ¿Cuantos ciclos de reloj ha tardado en ejecutar el programa?
El número de ciclos los obtenemos directamente aplicando la ecuación 4:
En total ha tardado 40 Billones de ciclos
- Apartado b) ¿Cuantas instrucciones ha ejecutado en total?
Aplicando la ecuación 5:
El numero de instrucciones ejecutadas es de aproximadamente 18.2 Billones
Ejercicio 5
En la situación original, el tiempo de CPU es de 10 (TCPU1 = 10). En la nueva situación, el tiempo de CPU se quiere reducir en un 30%, es decir, que el programa tarde 7 segundos en vez de 10. Entre una situación y otra cambia la frecuencia del reloj y el CPI. El número de instrucciones es el mismo. Aplicando la ecuación 6 para calcular el TCPU2:
Tenemos que la nueva frecuencia es de 6.9 GHz. El nuevo procesador con esa frecuencia tarda 7 segundos en ejecutar el programa
Ejercicio 6
El programa de prueba tiene un total de un millón de instrucciones. Como hay instrucciones de las 4 clases, lo podemos dibujar de esta forma:
Siendo que N es el número total de instrucciones (1 millón), calculamos fácilmente cuántas instrucciones hay de cada clase: Tipo A (N * 0.1), Tipo B (N * 0.2), Tipo C (N * 0.5) y Tipo D (N * 0.2)
a) Para calcular el número de cilos que tarda el programa en ejecutarse en el procesador P1, hay que multiplicar el número de ciclos que tarda cada tipo de instrucciones (CPI) y sumarlo todo. Así, tendremos que:
Ciclos_P1 = N*0.1*1 + N*0.2*2 + N*0.5*3 + N*0.2*3 = N[0.1 + 0.4 + 1.5 + 0.6] = N * 2.6
El procesador P1 tarda 2.6 millones de ciclos en ejecutar el programa
b) Dividiendo el número total de ciclos por la frecuencia del procesador P1 obtenemos el tiempo que tarda:
Tcpu_1 = 2.6 * 10^6 / (2.5 * 10^9) = 2.6/2.5 ms = 1.04 ms
c) En el procesador P2 todas las instrucciones tarda 2 ciclos de reloj, por lo que el número total de ciclos es N * 2. El procesador P2 tarda 2 millones de ciclos en ejecutar el programa
d) Dividiendo el tiempo anterior por la frecuencia del procesador P2 obtenemos el tiempo que tarda:
Tcpu_2 = 2 * 10^6 / (3 * 10^9) = 2 / 3 ms = 0.667ms
e) El procesador más rápido es el que tarda menos tiempo en ejecutar el programa. En este caso el P2. Para saber cuánto más rápido es, calculamos el rendimiento relativo:
n = R_2 / R_1 = Tcpu_1 / Tcpu_2 = (2.6 * 3) / (2 * 2.5) = 7.8 / 5 = 1.56
El procesador P2 es 1.56 veces más rápido que el procesador P1
f) Los CPI (ciclos por instrucción) son una medida estadística. En este problema sabemos el número total de instruciones y la cantidad de ciclos que ha tardado cada procesador, por lo que el CPI lo calculamos directamente diviendo los ciclos totales entre las instrucciones:
CPI_1 = Ciclos_totales_1 / Instrucciones = N * 2.6 / N = 2.6
. El procesador P1 tiene un CPI de 2.6 (2.6 ciclos de media por instrucción)CPI_2 = Ciclos_totales_2 / Instrucciones = N * 2 / N = 2
. El procesador P2 tiene un CPI de 2 (una media de 2 ciclos por instrucción)
Autores
- Katia Leal Algara
- Juan González-Gómez (Obijuan)
Licencia
Créditos
- La mayoría de los ejercicios son adaptaciones tomadas del libro de referencia: "Computer Organization and Design. RISC-V". Patterson y Hennessy