UNIVERSIDAD NACIONAL AUTÓNOMA DE HONDURAS
DEPARTAMENTO INGENIERÍA EN SISTEMAS
ARQUITECTURA DE COMPUTADORES IS-603
GUÍA DE EJERCICIOS
TEMA: RENDIMIENTO EN LAS COMPUTADORAS
EJERCICIO 1
Se propone a un procesador 80386 a 25 MHz, añadirle una memoria caché con una tasa de
acierto de un 90%, de forma que, cuando el acceso se haga en la caché, el CPI de las
instrucciones que afectan a la memoria se decrementa en una unidad. Al poner la caché, en los
fallos se pierde un ciclo, es decir, se le suma al CPI 1 unidad. Se pide:
a) Calcular el rendimiento del 386 sin caché.
b) Calcular el rendimiento del 386 con caché.
c) Calcular la relación de rendimientos entre el 386 con caché y el 386 sin caché.
Las diferentes instrucciones tienen la frecuencia y el CPI que se refleja en la tabla:
EJERCICIO 2
Suponiendo que tenemos 2 máquinas con las siguientes características para un determinado
programa R:
- Maquina A: Duración del ciclo de reloj de 23 ns. Con un CPI de 3,2
- Maquina B: Duración del ciclo de reloj de 15 ns. Con un CPI de 4
¿Cuál de las dos máquinas tiene mayor rendimiento para el programa R?
EJERCICIO 3
Estamos interesados en dos implementaciones de una máquina. Una con hardware especial de
punto flotante y otra sin él. Considerar un programa P, con la siguiente mezcla de operaciones:
Multiplicación en punto flotante 10%
Suma en punto flotante 15%
División en punto flotante 5%
Instrucciones enteras 70%
La máquina MFP (máquinas con punto flotante), tiene hardware de punto flotante y además
puede implementar directamente las operaciones en punto flotante.
Necesita el siguiente número de ciclos para cada clase de instrucción:
Multiplicación en punto flotante 6
Suma en punto flotante 4
División en punto flotante 20
Instrucciones enteras 2
La máquina MNFP (máquina sin puntos flotante) no tiene hardware de punto flotante y por
ello debe las operaciones en punto flotante utilizando instrucciones enteras. Todas las
instrucciones enteras necesitan dos ciclos de reloj. El número de instrucciones enteras
necesarias para implementar cada una de las operaciones en punto flotante es como sigue:
Multiplicación en punto flotante 30
Suma en punto flotante 20
División en punto flotante 50
Ambas máquinas tienen una frecuencia de reloj de 100 MHz. Calcular los MIPS para ambas
máquinas.
EJERCICIO 4
Se va a mejorar una máquina y se barajan dos opciones: hacer que la ejecución de las
instrucciones de multiplicación tarde 4 veces menos, o que la ejecución de las de acceso a
memoria tarde 2 veces menos. Se ejecuta un programa de prueba antes de realizar la mejora y
se obtienen las siguientes medidas de tiempo de uso de la CPU: el 20% del tiempo es utilizado
para multiplicar, el 50% para instrucciones de acceso a memoria y el 30% restante para otras
tareas.
¿Cuál será el incremento de velocidad si sólo se mejora la multiplicación? ¿Y si sólo se mejoran
los accesos a memoria? ¿Y si se realizan ambas mejoras?
EJERCICIO 5
Se ejecutan sobre una máquina dos programas A y B utilizados como test para medir su
rendimiento. Los recuentos de instrucciones tienen la siguiente distribución en ambos:
La máquina presenta los siguientes CPI (ciclos por instrucción) medios para cada grupo de
instrucciones sin memoria caché de segundo nivel (una sola caché) y con ella (dos cachés).
Determinar la ganancia de rendimiento (aceleración o speed up) que presenta la mejora de la
jerarquía de memoria introducida en la máquina con respecto a la situación sin mejora.
EJERCICIO 6
Una vez graduado, el lector se preguntará cómo llegar a ser un líder en el diseño de
computadores. Su estudio sobre la utilización de construcciones de los lenguajes de alto nivel
sugiere que las llamadas a los procedimientos son una de las operaciones más caras. Suponga
que ha inventado un esquema que reduce las operaciones de carga y almacenamiento
normalmente asociadas con las llamadas y vueltas de procedimientos. Lo primero que hace es
ejecutar algunos experimentos con y sin esta optimización. Sus experimentos utilizan el mismo
compilador optimizador en ambas versiones del computador.
Los experimentos realizados revelan lo siguiente:
• La duración del ciclo de reloj de la versión no optimizada es el 5% más rápido.
• El 30% de las instrucciones de la versión no optimizada son operaciones de carga o
almacenamiento.
• La versión optimizada ejecuta 1/3 menos de operaciones de carga y almacenamiento
que la versión no optimizada. Para las demás instrucciones, el recuento de ejecución
dinámica es inalterable.
• Todas las instrucciones (incluyendo las de carga y almacenamiento) emplean un ciclo
de reloj.
¿Qué versión es más rápida? Justificar cuantitativamente la decisión.
EJERCICIO 7
Un programa corre a mil segundos en una máquina particular, con 75% del tiempo empleado
en la realización de operaciones multiplicar/dividir. Se quiere rediseñar la máquina para
dotarla con hardware multiplicar/dividir más rápido.
a) ¿Cuánto más rápido se volvería el multiplicador/divisor para que el programa corra
tres veces con mayor rapidez?
b) ¿Y si se quiere que el programa corra cuatro veces más veloz?
EJERCICIO 8
Considere dos diferentes implementaciones M1 y M2 del mismo conjunto de
instrucciones. M1 tiene una frecuencia de reloj de 500 MHz. El ciclo de reloj de M2 es
de 1.5 ns. Existen tres clases de instrucciones con los siguientes CPI:
a) ¿Cuáles son los rendimientos pico de M1 y M2, ex- presados como MIPS?
b) Si el número de instrucciones ejecutadas en cierto programa se divide igualmente
entre las tres clases, ¿cuál máquina es más rápida y en qué factor?
c) Se puede rediseñar M2 tal que, con aumento de costo despreciable, los CPI para las
instrucciones de la clase B mejora de 2 a 1 (los CPI de las clases A y C permanecen
invariados). Sin embargo, este cambio aumentaría el ciclo de reloj de 1.5 ns a 2 ns.
¿Cuál debería ser el porcentaje mínimo de instrucciones de clase B en una mezcla de
instrucciones para que este rediseño resulte en rendimiento mejorado?
EJERCICIO 9
Un programa emplea 60% de su tiempo de ejecución realizando aritmética de punto
flotante. De las operaciones de punto flotante en este programa, 90% se ejecutan en
ciclos paralelizables (que se pueden ejecutar en paralelo).
a) Encuentre la mejora en tiempo de ejecución si el hardware de punto flotante se
hace el doble de rápido.
b) Encuentre la mejora en tiempo de ejecución si se usan dos procesadores para
correr los ciclos paralelizables del programa el doble de rápido.
c) Encuentre la mejora en el tiempo de ejecución que resulta de modificaciones
tanto en a) como en b).
EJERCICIO 10
Considere dos implementaciones diferentes M1 (1 GHz) y M2 (1.5 GHz) del mismo
conjunto de instrucciones. Existen tres clases de instrucciones con los siguientes CPI:
a) ¿Cuáles son los rendimientos pico de M1 y M2 expresados como MIPS?
b) Demuestre que, si la mitad de las instrucciones ejecutadas en cierto programa
son de la clase A y el resto se dividen igualmente entre las clases B y C,
entonces M2 es más rápido que M1.
c) Demuestre que la segunda suposición de la parte b) es redundante. En otras
palabras, si la mitad de las instrucciones ejecutadas en cierto programa son de
la clase A, entonces M2 siempre será más rápido que M1, sin importar la
distribución de las instrucciones restantes entre las clases B y C.