DEPARTAMENTO DE AUTOMÁTICA Arquitectura e Ingenierı́a de Computadores Ingenierı́a Informática Tema 1 Rendimiento de computadores Problemas 1. En un procesador de una frecuencia de 40 Mhz se ejecuta un benchmark con la siguiente mezcla de instrucciones y ciclos: No de instrucciones 45.000 32.000 15.000 8.000 Tipo Aritmética entera Transferencia de datos Punto flotante Transferencia de control Ciclos 1 2 5 2 Calcular Ic , CPI, rendimiento y tiempo de ejecución. 2. Considerar la ejecución de un programa con 200.000 instrucciones, en un procesador a 40 Mhz. La relación de instrucciones y el número de ciclos se muestra en la siguiente tabla: Instrucción Aritmética y lógica Transferencia de datos Saltos Referencias a memoria CPI 1 2 4 8 % 60 % 18 % 12 % 10 % Calcular CPI, rendimiento y tiempo de ejecución. 3. Una estación de trabajo usa un procesador de 15 Mhz, con un rendimiento de 10 MIPS para ejecutar un programa dado. Asumir un ciclo de retardo para cada acceso a memoria. a) ¿Cuál es el número de ciclos por instrucción de este computador? b) Suponer que se actualiza el procesador a una frecuencia de 30 Mhz, sin modificar la velocidad de memoria y, consecuentemente, necesitamos dos ciclos para accesos a memoria. Si el 30 % de instrucciones requiere un acceso a memoria y el 5 % requiere dos accesos a memoria, ¿cuál es el rendimiento del nuevo procesador? 1 4. El tiempo de ejecución en segundos de cuatro programas en tres computadores es el siguiente: Programa 1 2 3 4 Comp 1 1 1000 500 100 Comp 2 10 100 1000 800 Comp 3 20 20 50 100 Asumir que en cada programa se ejecutan cien millones de instrucciones. Calcular el rendimiento de cada máquina para cada programa. Analizar los resultados obtenidos. ¿Se obtiene alguna conclusión clara relativa a los computadores? 5. 6. Se realiza una prueba de ejecución de un programa sobre n diferentes procesadores, con el resultado de que, en el procesador p i , el programa tarda un tiempo ki ·t, con k1 < k2 < . . . < kn . Se desea paralelizar la ejecución de tal programa, dividiendo la carga por igual entre los n procesadores. Se pide: a) Suponiendo que el programa es totalmente paralelizable, ¿cuánto tiempo tardará en ejecutarse el programa? ¿Cuánto valdrá la ganancia o speedup con respecto a la mejor ejecución en un solo procesador? b) Supongamos ahora que el programa no es totalmente paralelizable y sea f la fracción no paralelizable del mismo. ¿Cuál será ahora la ganancia con respecto a la mejor ejecución en un solo procesador? c) Supóngase que n = 4, k1 = 1, k2 = 5/4, k3 = 4/3, k4 = 3/2. ¿Qué rango de valores de f garantizan una ganancia mı́nima de 2 con respecto a la ejecución en el procesador más rápido? Un procesador no segmentado que funciona a 100 MHz ejecuta un programa de acuerdo a la siguiente tabla: Instrucción LOAD STORE ALU Saltos CPI 4 3 6 3 % 20 % 15 % 40 % 25 % a) ¿Cuál será la ganancia si se mejora la ALU para que el número de ciclos que consume una operación se reduzca a la mitad? b) Supongamos ahora que dos ciclos del LOAD y dos del STORE son imputables a la ALU. Con la mejora indicada en el punto anterior, ¿cuál será ahora la ganancia? 2