Problemas Perfomance Arquitectura y Organización de Computadores Javier Vidal Valenzuela August 15, 2007 1 Problema 1 Se tienen dos implementaciones distintas para una misma máquina MIPS R2001. La versión A, que tiene un clock de 1000 MHz y dos tipos de instrucciones, las α y las β con un CPI de 2 y 1 respectivamente. La versión B, tiene un reloj un 5% más rápido que A y el CPI de las instrucciones tipo α y β es de 2. En la máquina A se ejecuta un código que tiene 300 millones de instrucciones α y 700 millones de instrucciones β, mientras que en la máquina B, el mismo código, ahora optimizado, ejecuta dos tercios de las instrucciones tipo α y la misma cantidad de instrucciones tipo β. Calcular: • El CPI del código en cada implementación. • Los MIPS del código en cada implementación. • ¿Cuál de las dos implementaciones ejecuta más rápidamente el código? Justifique adecuadamente su respuesta. 2 Problema 2 Para las máquinas M1 (que tiene un reloj de 1 GHz) y M2 (que tiene un reloj de 1.2 GHz), los tres tipos y la cantidad de instrucciones enteras ejecutadas por ellas indicadas en las tablas que se presentan a continuación, se pide: 1. Determinar cuál es más rápida según CPI. 2. Determinar cuál es más rápida según MIPS. 3. Determinar cuál es más rápida según CPUtime. 4. Determinar cuál de las dos es realmente la más rápida. CPI Tipo A 1 Tipo B 2 Máq M1 M2 Tipo C 3 1 instr A 5 mill 10 mill instr B 1 mill 1 mill instr C 1 mill 1 mill Arquitectura y Organización de Computadores 3 Problema 3 Considere el siguiente código assembly MIPS loop: addi muli addi addi lw lw add sw bnq $5,$0,n $5,$5,4 $10,$0,$0 $10,$10,4 $15,0x1000($10) $20,0x2000($10) $30,$15,$20 $30,0x3000($10) $10,$5,loop 1. ¿Qué hace el programa?. Explique brevemente. 2. Si n = 5 y el CPI de las instrucciones store es 4, el de las load es 5, el de las branch es 3 y el de las ALU 4; calcule el CPI, los MIPS y el tiempo de ejecución del código si el reloj de la CPU es de 1000 MHz. 3. Se introduce una mejora de hardware que reduce en un 15% el CPI de las instrucciones ALU. ¿Cuál es la mejora obtenida con esta nueva implementación?. 4. Considere la versión del procesador MIPS segmentado visto en clase. Reescribir el código anterior insertando la cantidad de instrucciones nops necesarias para que la máquina no se detenga si la CPU segmentada NO usa forwarding y si la CPU usa forwarding. Nota: Recordar que la multiplicación es una operación aritmética. 4 Problema 4 Considere una implementación de MIPS (MIPS1), con los siguientes tiempos de ejecución para cada tipo de instrucción: Tipo de instrucción ALU Load Store Saltos incondicionales Saltos condicionales Ciclos por instrucción 6 10 10 4 5 La máquina funciona con un reloj de 2.8GHz. Para evaluar el desempeño de esta máquina (y potenciales mejoras a ella) se utiliza un benchmark con las siguientes frecuencias de ejecución de instrucciones: 2 Arquitectura y Organización de Computadores Tipo de instrucción ALU Load Store Saltos incondicionales Saltos condicionales Frecuencia (%) 35 25 15 10 15 Muestre claramente su trabajo para cada parte del problema • Calcule el CPI y el MIPS del benchmark proporcionado arriba. • Una mejora en la tecnologı́a VLSI utilizada para implementar una nueva versión del procesador (MIPS-II) permite aumentar la frecuencia de reloj a 3.4GHz. Todas las instrucciones que no hacen acceso a memoria reducen proporcionalmente su tiempo de ejecución, por lo que se ejecutan en el mismo número de ciclos que MIPS-I. Lamentablemente la tecnologı́a utilizada para implementar la memoria de datos no permite reducir su tiempo de acceso, por lo que el tiempo de ejecución de las instrucciones Load y Store en MIPS-II es igual al de MIPS-I. Determine los CPI y MIPS de MIPS-II ejecutando el benchmark, y calcule la aceleración de MIPSII sobre MIPS-I. Recuerde que una instrucción siempre se ejecuta en un número entero de ciclos de reloj. (10 puntos) • Considere que al procesador MIPS-I se le agrega una memoria cache para mejorar el desempeño de las instrucciones Load y Store, con lo cual los ciclos para load y store se reducen a 8. Utilizando la ley de Amdahl, determine qué porcentaje de las instrucciones Load y Store deberı́a acelerar la memoria cache para que la aceleración sobre MIPS-I conseguida con esta mejora sea la misma que la alcanzada en el punto (b). (15 puntos) 5 Problema 5 Considere los siguientes parámetros para una máquina: • Frecuencia de las operaciones en punto flotante: 25% • CPI promedio para las operaciones de punto flotante: 4.0 • CPI promedio para otras instrucciones: 1.33 • Frecuencia de operación raı́z cuadrada: 2% • CPI para operación raı́z cuadrada: 20 Suponga que existen dos alternativas de diseño: la primera considera la reducción a 2 CPIs para la instrucción raı́z cuadrada y la segunda considera la reducción a 2 CPIs para todas las operaciones en punto flotante. Comparar estas dos alternativas de diseño usando la ecuación de rendimiento de la CPU. 3