Organización del Computador I Verano Verano 2004 Problemas del capítulo 2 del Hennessy Patterson. Rendimiento Se deberán resolver los siguientes ejercicios: 2.1 al 2.13, 2.15 al 2.24, 2.26 y 2.27. El resto de los ejercicios son opcionales. Ejercicios 2.1 [5] <§2.1> Se desea comparar el rendimiento de 2 máquinas diferentes: Ml y M2. Se han tomado las siguientes medidas en estas máquinas: Programa 1 2 Tiempo en M1 10 segundos 3 segundos Tiempo en M2 5 segundos 4 segundos ¿Qué máquina es más rápida y cuánto más? 2.2 [5] <§2.1> Considere las dos máquinas y programas del Ejercicio 2.1.Se han tomado las siguientes medidas adicionales: Programa 1 Instrucciones ejecutadas en M1 200 x 106 Instrucciones ejecutadas en M2 160 x 106 Calcule la tasa de ejecución de instrucciones (instrucciones por segundo) para cada máquina cuando ejecutan el programa 1. 2.3 [5] <§§2.2-2.3> Si las frecuencias de reloj de las máquinas Ml y M2 del Ejercicio 2.1 son 200 MHz y 300 MHz respectivamente, calcule los ciclos de reloj por instrucción (CPI) para el programa 1, en ambas máquinas, usando los datos de los Ejercicios 2.1 y 2.2. 2.4 [5] <§§2.2-2.3> {Ej. 2.3} Suponiendo que el CPI del programa 2 en cada máquina del Ejercicio 2.1 es igual al CPI del programa 1 calculado en el Ejercicio 2.3, calcule el número de instrucciones del programa 2 ejecutándolo en cada máquina y usando el tiempo de ejecución del Ejercicio 2.1. 2.5 [5] <§2.1> Suponga que la máquina M1 del Ejercicio 2.1 cuesta 10.000$ y M2 cuesta 15.000$. Si se necesita ejecutar el programa 1 un gran número de veces (es decir, si se está más preocupado por la productividad que por el tiempo de respuesta), ¿que máquina se compraría en grandes cantidades? ¿y por qué? 2.6 [10] <§2.1> Suponga que se pueden considerar muchas más máquinas que las de tipo M1 y M2 descritas en los Ejercicios 2.1 y 2.5 (cada una con el coste y tiempo de ejecución del programa 1, que se necesita ejecutar un gran número de veces). ¿Se podría usar el coste dividido por el tiempo de ejecución como métrica para ayudar en la decisión de compra? ¿Y el coste multiplicado por el tiempo de ejecución? Si ninguna de las 2 fórmulas puede ser usada, presente un ejemplo simple que. demuestre el por qué. 2.7 [5] <§2.1> {Ej. 2.6} Si se quiere que nuestra métrica llamémosla coste-efectividad) sea similar al rendimiento un cuanto a que un número grande debería indicar un mejor coste-efectividad, ¿qué fórmula se debería usar? 2.8 [5] <§2.1> Otro usuario está preocupado por la productividad de la máquina del Ejercicio 2.1, medida con una carga de trabajo igual para los programas 1 y 2. ¿Qué máquina tiene mejor rendimiento para esa carga de trabajo? ¿Cuánto más? ¿Qué máquina tiene un mejor coste-efectividad para esa carga de trabajo? ¿Cuánto más? Selección de problemas capítulo 2 - Patterson & Hennesy 1 Organización del Computador I Verano Verano 2004 2.9 [10] <§2.1> Ahora otro usuario tiene las siguientes necesidades para las máquinas descritas en el Ejercicio 2.1: e] programa 1 se debe ejecutar 200 veces por hora. El tiempo sobrante puede ser usado para ejecutar el programa 2. Si la máquina tiene suficiente rendimiento como para ejecutar el programa 1 el número de veces por hora requerido, el rendimiento es medido por la productividad del programa 2. ¿Qué máquina es más rápida para esa carga de trabajo? ¿Qué máquina tiene mejor coste-efectividad? 2.10 [5] <§§2.2-2.3> Considérense 2 posibles realizaciones, Ml y M2, con el mismo repertorio de instrucciones. Hay 4 clases de instrucciones (A, B, C y D) dentro del repertorio de instrucciones. M1 tiene una frecuencia de reloj de 500 MHz. El número medio de ciclos por instrucción para cada tipo de instrucción en M1 es el siguiente: Tipo A B C D CPI 1 2 3 4 M2 tiene una frecuencia de reloj de 750 MHz. El número medio de ciclos por instrucción para cada tipo de instrucción en M2 es el siguiente: Tipo A B C D CPI para esta clase 2 2 4 4 Suponiendo que el rendimiento pico se define como la frecuencia más alta a la que una máquina puede ejecutar una secuencia de instrucciones escogida para maximizar esa frecuencia, ¿cuáles son los rendimiento pico de M1 y M2 expresados en instrucciones por segundo? 2.11 [10] <§§2.2-2.3> Si el número de instrucciones ejecutado en ciertos programas se divide equitativamente entre los tipos de instrucciones del Ejercicio 2.10, ¿cuánto más rápida es M2 respecto a M1? 2.12 [5] <§§22-2.3> {Ej. 211} Asumiendo los valores de CPI del Ejercicio 2.10 y la distribución de las instrucciones del Ejercicio 2.11, ¿a qué frecuencia de reloj tendría Ml el mismo rendimiento que una versión de M2 a 750 MHz? 2.13 [10] <§§2.2-23> Considere dos posibles realizaciones, Ml y M2, con el mismo repertorio de instrucciones. Hay tres tipos de instrucciones (A, B y C) en el repertorio de instrucciones. Ml tiene una frecuencia de reloj de 400 MHz y M2 tiene una frecuencia de reloj de 200 MHz. El número medio de ciclos para cada tipo de instrucción de Ml y M2 se muestra en la siguiente tabla: Tipo CPI en M1 CPI en M2 Uso en C1 Uso en C2 Uso en tercero A 4 2 30% 30% 50% B 6 4 503 20% 30% C 8 8 20% 50% 20% La tabla contiene adicionalmente un resumen de cómo tres compiladores diferentes usan el repertorio de instrucciones. Cl es un compilador producido por los fabricantes de MI, C2 es un compilador producido por los fabricantes de M2, y el otro compilador es un producto de un tercero. Suponga que cada compilador usa el mismo número de instrucciones para un programa dado, pero usando la mezcla de instrucciones mostrada en la tabla. Usando: Cl en Ml y M2, ¿cuánto más rápida pueden los fabricantes de M1 afirmar que es M1, comparada con M2? Usando C2 en M2 y M1, ¿cuánto más rápida pueden los fabricantes de M2 afirmar que es M2, comparada Selección de problemas capítulo 2 - Patterson & Hennesy 2 Organización del Computador I Verano Verano 2004 con M1? Si se comparada M1, ¿qué compilador se debería usar? ¿Y si se comparara M2? ¿Qué máquina se debería comprar si se asume que todos los otros criterios son idénticos, incluido el coste? 2.14 [5] <§§22, 2.3, 2.7> Para el siguiente conjunto de variables, identifique todos los subconjuntos que puedan ser usados para calcular el tiempo de ejecución. Cada subconjunto deberá ser mínimo, lo que significa que no debe contener ninguna variable innecesaria. {CPI, frecuencia de reloj, tiempo de ciclo, MIPS, número de instrucciones del programa, número dc ciclos del programa} 2.15 [10] <§§2.2, 2.3, 2.7> Se está interesado en 2 realizaciones de una máquina, una con circuitería especial de coma flotante y otra sin ella. Considérese un programa con la siguiente mezcla de operaciones: multiplicación en coma flotante 10% suma en coma flotante 15% división en coma flotante 5% instrucciones de enteros 70% La máquina MCF (Máquina con Coma Flotante) tiene circuitería de coma flotante y puede por lo tanto realizar operaciones de coma flotante directamente. Se requiere el siguiente número de ciclos de reloj para cada tipo de instrucción: multiplicación en coma flotante suma en coma flotante división en coma flotante instrucciones de enteros 6 4 20 2 La máquina MSCF (Máquina Sin Coma Flotante) no tiene circuitería de coma flotante y por lo tanto debe emular las operaciones de coma flotante usando instrucciones de enteros. Las instrucciones de enteros necesitan todas 2 ciclos de reloj. El número de instrucciones de enteros necesarias para realizar cada operación de coma flotante es el siguiente: multiplicación en coma flotante suma en coma flotante división en coma flotante 30 20 50 Ambas máquinas tienen una frecuencia de reloj de 100 MHz. Busque la tasa de MIPS original para ambas máquinas. 2.16 [10] <§2.2, 2.3, 2.7> Si la máquina MCF del Ejercicio 2.15 necesita 300 millones de instrucciones para un programa, ¿cuántas instrucciones de enteros requerirá la máquina MSCF para el mismo programa? 2.17 [5] <§2.2, 2.3, 2.7> {Ej. 2.1 6} Asumiendo los recuentos de instrucciones del Ejercicio 2.16, ¿cuál es el tiempo de ejecución (en segundos) para el programa del Ejercicio 2.15 si se lo ejecuta en MCF y MSCF? 2.18 [l0] <§2.2-2.3> Asuma la personalidad del diseñador jefe de un nuevo procesador. El diseño del procesador y el compilador están completados, y ahora se debe decidir si se fabrica el diseño actual tal como está o se utiliza tiempo adicional para mejorarlo. Se discute el problema con el grupo de ingeniería de circuitos y se llega a las siguientes opciones: a. Dejar el circuito tal como está. A esta máquina base se le da el nombre de Mbase Tiene una frecuencia de reloj de 500 MHz y se han lomado las siguientes medidas usando un simulador: Tipo de instrucción A B C CPI 2 3 3 Selección de problemas capítulo 2 - Patterson & Hennesy Frecuencia 40% 25% 25% 3 Organización del Computador I Verano D Verano 2004 5 10% B. Optimizar la circuitería.. El grupo de ingeniería de circuitos indica que puede mejorar el diseño del procesador para dar una frecuencia de reloj de 600 MHz. A esta máquina se le da el nombre Mopt. Se han tomado las siguientes medidas usando un simulador para Mopt: Tipo de instrucción CPI Frecuencia A 2 40% B 2 25% C 3 25% D 4 10% ¿Cuál es el CPI para cada máquina? 2.19 [5] <§2.2, 2.3, 2.7> {Ej. 2. 18} ¿Cuáles son las tasas de MIPS originales para Mbase y Mopt en el Ejercicio 2.18? 2.20 [10] <§2.2-2.3> {Ej. 2.18} ¿Cuánto más rápida es Mopt que Mbase en el Ejercicio 2.18? 2.21 [5] <§2.2-2.3> El grupo de diseño del compilador se entera de la discusión surgida en los Ejercicios 2.18 a 2.20 para mejorar la máquina. Este grupo propone mejorar el compilador de la máquina para aumentar el rendimiento del procesador. A esta combinación de compilador mejorado y máquina base se le llama Mcomp. El ahorro de instrucciones ejecutadas para este nuevo compilador mejorado ha sido estimado de la siguiente forma: Tipo de instrucción A B C D Porcentaje de instrucciones ejecutadas frente a máquina base 90% 90% 85% 95% Por ejemplo, si la máquina base ejecuta 500 instrucciones de tipo A, Mcomp ejecutaría 0,9 X 500 = 450 instrucciones de tipo A para el mismo programa. ¿Cuál es el CPI Mcomp? 2.22 [5] <§§2.2-2.3> {Ej. 2.18, 2.21} Usando los datos del ejercicio 2.18, ¿cuánto más rápida es Mcomp que Mbase? 2.23 [10] <§2.2-2.3> {Ej. 2,18, 2.21, 2.22} El grupo de diseño del compilador puntualiza que es posible realizar al mismo tiempo las mejoras de circuitería del Ejercicio 2.18 y las del compilador descritas en el Ejercicio 2.21 . Si se realizan ambas mejoras, de circuitería y de compilador, lo que da lugar a la máquina Mambas, ¿cuánto más rápida es Mambas respecto a Mbase? 2.24 [10] <§§2.2-2.3> {Ej. 2.18, 2.21, 2.22, 2.23} Se debe decidir si se incorporan las mejoras de circuitería sugeridas en el Ejercicio 2.18 o las mejoras de compilación del Ejercicio 2.21 (o ambas) en la máquina base descrita en el Ejercicio 2.18. Se estima que serían necesarios los siguientes tiempos para realizar las optimizaciones descritas en los Ejercicios 2.18, 2.21 y 2.23: Optimización Circuitería Compilador Tiempo de realización 6 meses 6 meses Selección de problemas capítulo 2 - Patterson & Hennesy Nombre de la máquina Mopt Mcomp 4 Organización del Computador I Verano Ambas Verano 2004 8 meses Mambas Recordemos del capítulo 1 que el rendimiento de la CPU se mejora aproximadamente en un 50% por año, y alrededor de un 3,4% por mes. Suponiendo que la máquina base tiene un rendimiento equiparable a sus competidoras, ¿qué optimizaciones (si es que se hace alguna) se deberían escoger para realizar? 2.25 [10] <§2.4, 2.6> Mire la lista actual de los programas de prueba SPEC de la figura 2.6 en la página 66. ¿Incluye aplicaciones que se asemejen a las usadas habitualmente en computadores? ¿Qué clase de programas son irrelevantes o se echan en falta? ¿Por qué están o no incluidos en los SPEC? ¿Qué se debería hacer para incluir/excluir ese tipo de programas en la próxima edición de los SPEC? 2.26 [5] <§2.5> La siguiente tabla muestra el número de operaciones de coma flotante ejecutadas en dos programas diferentes y el tiempo de ejecución para esos programas en 3 máquinas diferentes Programa Programa 1 Programa 2 Operaciones coma flotante 10000000 100000000 Tiempo de ejecución en segundos Computador A Computador B 1 10 1000 100 Computador C 20 20 ¿Qué máquina es más rápida en concordancia con el tiempo total de ejecución? ¿Cuánto más rápida es cada una con respecto a las otras dos? 2.27 [5] <§2.5, 2.7> Se desea ver cómo debería compararse el rendimiento de las tres máquinas del Ejercicio 2.26 usando otras medidas de normalización de rendimiento. ¿Qué máquina es más rápida usando la media geométrica? 2.28 [15] <§§2.5, 2.7> {Ej. 2.27} Encuentre la carga de trabajo para los dos programas del Ejercido 2.26 que producirá el mismo rendimiento usando el tiempo total de ejecución de la carga de trabajo como media geométrica, tal como se ha calculado en el Ejercicio 2.27. Dé la carga de trabajo como porcentaje de ejecuciones de cada programa por pareja de máquinas: A-B, B-C y A-C. 2.29 [15] <§2.5, 2.7> Un usuario comprueba que los dos programas del Ejercicio 2.26 constituyen la mayor parte de la carga de trabajo, pero que no se ejecutan equitativamente. El usuario quiere determinar la forma de comparar las tres máquinas cuando la carga de trabajo consiste en diferentes mezclas de esos dos programas. (Se puede usar la inedia aritmética para buscar rendimientos relativos). Suponga que el número total de FLOPS ejecutados por la carga de trabajo está equitativamente repartida entre los dos programas. Esto significa que el programa 1 se ejecuta con una frecuencia 10 veces superior al programa 2. Encuentre qué máquina es más rápida para esta carga de trabajo y cuánto más. Haga una comparación con el tiempo total de ejecución para una carga de trabajo con igual número de ejecuciones de programa. 2.30 [15] <§2.5, 2.7> Una forma de ponderación alternativa para el Ejercicio 2.29 es suponer que se consumirá igual cantidad de tiempo ejecutando cada programa en cualquier máquina. ¿Qué máquina es más rápida usando los datos del Ejercicio 2.26 y suponiendo una ponderación que genere igual tiempo de ejecución para cada programa de prueba en la máquina A? ¿Qué máquina es más rápida si se supone una ponderación que genere igual tiempo de ejecución para cada programa de prueba en la máquina B? ¿Cómo son estos resultados en comparación con las tasas de rendimiento no ponderadas? 2.31 [5] <§2.7> Suponga que las instrucciones de multiplicación requieren 12 ciclos y constituyen un 10% de las instrucciones de un programa típico, y que el otro 90%, de las instrucciones requieren en media 4 ciclos por instrucción. ¿Qué porcentaje del tiempo emplea la CPU para realizar las multiplicaciones? Selección de problemas capítulo 2 - Patterson & Hennesy 5 Organización del Computador I Verano Verano 2004 2.32 [5] <§2.7> <Ej. 2.31> Un grupo de ingeniería de circuitos indica que es posible posible reducir a 6 el número de ciclos necesarios para las multiplicaciones del ejercicio 2.3 1, pero que esto requiere aumentar el tiempo de ciclo en un 204’o. Nada más se verá afectado. ¿Se debería proceder a la modificación? 2.33 [10] <§§2.1-2.7> Considere las siguientes noticias como hipotéticas: “La compañía lanzará la primera versión del chip a 800 MHz de la industria, que ofrece un aumento del rendimiento del 20% sobre la anterior compañía campeona de velocidad, que funciona a 666 MHz. El nuevo chip se puede conectar en los sistemas para el chip anterior original (que funcionaba a 400 MHz) para proporcionar un aumento del rendimiento del 70%.” Comente la definición (o definiciones) de rendimiento que la compañía ha usado. ¿Lleva esta noticia a conclusiones erróneas? 2.34 [3 horas] <§2.5> Escoja dos computadores, A y B, y ejecute el programa de prueba Dhrystone y algún programa en C de tamaño considerable, tal como el propio compilador de C; llame P a este programa. Intente ejecutar los dos programas sin usar optimizaciones y usando máxima optimización. A continuación calcule las siguientes tasas de rendimiento: a. Dhrystone no optimizado en la máquina A contra Dhrystone no optimizado en la máquina B. b. P no optimizado en la máquina A contra P no optimizado en la máquina B. c. Dhrystone optimizado en la máquina A contra Dhrystone optimizado en la máquina B. d. P optimizado en la máquina A contra P optimizado en la máquina B. e. Dhrystone no optimizado contra Dhrystone optimizado en la máquina A. f. P no optimizado contra P optimizado en la máquina A. g. Dhrystone no optimizado contra Dhrystone optimizado en la máquina B. h. P no optimizado contra P optimizado en la máquina B. Se quiere estudiar si el programa Dhrystone predice de forma precisa el rendimiento de otros programas en C Si Dhrystone predice el rendimiento, entonces las siguientes ecuaciones deberían ser ciertas en cuanto a las tasas: (a) = (b) y (c) = (d) Si Dhrystone predice de forma precisa el valor de las optimizaciones del compilador para programas reales, entonces: (e) = (f) y (g) = (h) Determine cual de las relaciones anteriores es válida. Para aquellas situaciones en las que las relaciones no se cumplen, intente encontrar una explicación. ¿ Pueden las diferentes características de las máquinas, las optimizaciones del compilador, o las diferencias entre P y Dhrystone justificar la respuesta? 2.35 [3 horas] <§2.5> Repita el mismo experimento del Ejercicio 2.34, reemplazando el programa Dhrystone por el programa Whetstone y eligiendo un programa de coma flotante escrito en Fortran para reemplazar a P. 2.36 [4 horas] <§§2.4, 2.7> Idee un programa en C o Pascal que determine la tasa de MIPS de pico para un computador. Ejecútelo en 2 máquinas para calcular los MIPS de pico. Ahora ejecute un programa real en C o Pascal tal como un compilador en las dos máquinas. ¿Cómo predicen los MIPS de pico el rendimiento en un programa real? 2.37 [indefinido] <§§2. 1-2.7> Escoja un conjunto de artículos que sospeche que contienen análisis incorrectos de rendimiento o tasas de rendimiento que puedan llevar a conclusiones erróneas para intentar persuadir a los lectores. Por ejemplo, un artículo aparecido en el New York Times (20 de Abril 1994, p. D1) describía una consola de video juegos que incluso superaría la potencia de computación de los más potentes ordenadores personales” y presentaban la siguiente tabla para apoyar el argumento de que las “máquinas de videojuegos pueden ser los supercomputadores del mañana” Selección de problemas capítulo 2 - Patterson & Hennesy 6 Organización del Computador I Verano Máquina 1975 IBM Mainframe 1976 Cray-1 1979 DigitaI VAX 1981 IBM PC 1984 Sun 2 1994 Pentium-chip PC 1995 Sony PCX video game 1995 Microunity set-top Verano 2004 Número aproximado instrucciones por segundo 10000000 160000000 1000000 250000 1000000 66000000 500000000 1000000000 de Precio $10000000 $20000000 $200000 $3000 $10000 $3000 $500 $500 En ningún momento el artículo menciona la manera en que la naturaleza de las instrucciones influirá en la definición de “potencia”. Para cada artículo escogido, describa por qué puede llevar a conclusiones erróneas o es incorrecto. Buenos lugares para buscar material de este tipo son las secciones de economía y tecnología de los periódicos y revistas, y también en Internet. 2.38 [5] <§2.2> Encontrar la tasa de MFLOPS para cada uno de los dos programas del Ejercicio 2.26 suponiendo que cada operación de comía flotante cuenta con 1 FLOP ¿Cuál es la tasa de MFLOPS para los programas 1 y 2 comparada con cada máquina? ¿Ilustra el ejemplo de los problemas descritos anteriormente? 2.39 [5] <§2.5> Si se expresa el rendimiento como una tasa, tal como MFLOPS, entonces una tasa mayor y una media mayor indican mejor rendimiento. Cuando se expresa el rendimiento como una tasa, la media que muestra el tiempo total de ejecución es la media armónica (MA): MA= n n 1 ∑ Tasa i =1 i Cada Tasai, es 1/Tiempoi, donde Tiempoi es el tiempo de ejecución para el i-ésimo programa de los n que componen la carga de trabajo. Demuestre que la media armónica de un conjunto de tasas sigue la trayectoria del tiempo de ejecución; para ello demuestre que es la inversa de la media aritmética de los correspondientes tiempos de ejecución. 2 .40 [4 horas] <§2.4> Idee un programa en C o Fortran que determine la tasa de MFLOPS de pico para un computador. Ejecútelo en dos máquinas para calcular los MFLOPS de pico. Luego ejecute un programa de coma flotante real en ambas máquinas. ¿Cómo predicen los MFLOPS de pico el rendimiento de programas reales de coma flotante? 2.41 [5] <2.7> Suponga que se mejora una máquina para realizar todas las instrucciones de coma flotante 5 veces más rápido. Observe el comportamiento del incremento de velocidad cuando se incorpora una circuitería de coma flotante más rápida. Si el tiempo de ejecución de algún programa de prueba antes de la mejora de coma flotante es de 10 segundos, ¿cuál será el incremento de velocidad si la mitad de esos 10 segundos se emplean en la ejecución de instrucciones de coma flotante? 2.42 [10] <2.7> Se busca un programa de prueba que destaque la nueva unidad de coma flotante descrita en el Ejercicio 2.41, y se quiere que muestre un incremento velocidad en su totalidad de 3. Se toma en consideración un programa de prueba que se ejecuta durante 100 segundos en la antigua circuitería de coma flotante. ¿Qué parte del tiempo de ejecución inicial deberían representar las instrucciones de coma flotante para conseguir un incremento de velocidad de 3 en su totalidad para este programa de prueba? 2.43 [10] <2.7> Suponiendo que se mejora la unidad de coma flotante tal y como se describe en el Ejercicio 2.41, dibuje el incremento de velocidad obtenido frente a la proporción de tiempo del programa Selección de problemas capítulo 2 - Patterson & Hennesy 7 Organización del Computador I Verano Verano 2004 original dedicada a operaciones de coma flotante, en la siguiente gráfica: 2.44 [5] <2.7> Se va a mejorar una máquina, y hay 2 posibles opciones: hacer que la ejecución de las instrucciones de multiplicación vayan veces más rápido, o hacer que las instrucciones de acceso a memoria vayan 2 veces más rápido que antes. Se ejecuta repetidamente un programa que tarda 100 segundos en ejecutarse. De ese tiempo, el 20% es usado para multiplicar, el 50% por instrucciones de acceso a memoria y el 30% restante en otras tareas. ¿Cuál será el incremento de velocidad si sólo se mejora la multiplicación? ¿Y si sólo se mejoran los acceso a memoria? ¿Cuál será el incremento de velocidad si se realizan ambas mejoras? 2.45 [5] <2.7> {Ej. 2.44} Se va a cambiar el programa descrito en cl Ejercicio 2.44 por lo que los porcentajes ya no serán 20%, 50% y 30% nunca más. Suponiendo que ninguno de los nuevos porcentajes es 0, ¿qué clase dc programa debería resultar para equiparar (en relación al incremento de velocidad) las dos mejoras individuales? Proporcione una fórmula para cada caso y algunos ejemplos. 2.46 [20] <2.7> La ley de Amdahl frecuentemente se escribe en términos de incremento de velocidad total en función de 2 variables: la cantidad de mejora y la proporción de uso de la mejora en el tiempo de ejecución original. Deduzca esta ecuación de las dos anteriores. Selección de problemas capítulo 2 - Patterson & Hennesy 8