====== Examen Final - 66.20. Organización de Computadoras - 28/02/2008 ======
**Cátedra:** José Luis Hamkalo (cátedra única)\\
**Fecha:** 5ª Oportunidad - Verano 2008\\
**Día:** 28/02/2008
===== Enunciado =====
==== Punto I ====
Para un determinado procesador, se sabe que estadísticamente un 81% de las operaciones son de enteros, y que un 19% son de FP. Las operaciones de FP llevan 10 veces el tiempo que las operaciones de enteros. Se propone una mejora al hardware tal que las operaciones de FP lleven 5 veces el tiempo de las operaciones de enteros. ¿Cuál es el speedup global de la mejora? Enuncie todas las hipótesis tenidas en cuenta.
==== Punto II ====
Se ejecuta un test de lazos para lazos de diferentes tamaños y para distintos saltos sobre una computadora. Se obtienen los tiempos de operatoria que se ven en el gráfico. Responder:
- ¿Cuántos niveles de memorias caché hay?
- ¿De qué tamaño cada una?
- ¿Cuál es el tamaño de bloque?
- ¿Cuál es el grado de asociatividad de cada una?
(Después subo el gráfico, pero cualitativamente:
- Era la gráfica tiempo/salto para diferentes lazos, entre 8KB y 2MB; para saltos entre 4B y 1MB.
- Para lazos de 32KB o menos todos los saltos se resolvían en 300ns siendo hits.
- Para lazos de 64KB o más, para saltos de entre 4B y 32B se veía una degradación de la performance, y para saltos de 64B o más, eran todos misses, en 1100ns.
- Para lazos de 64KB o más, para saltos de la mitad del tamaño del lazo, era hit, en 300ns (por ejemplo, lazo de 2MB con saltos de 1MB se resolvía como hit).
- Cabe destacar que el gráfico "mandaba fruta" soberana para la degradación entre 4B y 64B para lazos de más de 32KB. Uno esperaría que esos valores respondieran a una gráfica exponencial.)
==== Punto III ====
Defina los diferentes tipos de riesgos de datos. Ejemplifique cada uno con fragmentos en código MIPS.
===== Resolución =====
==== Punto I ====
El CPI promedio del procesador sin la optimización de FP es de:
CPIpromedio sin optimización = 0.81 CPIINT + 0.19 CPIFP
Sabiendo la relación entre el tiempo de ejecución de FP contra INT, tenemos que:
CPIpromedio sin optimización = 0.81 CPIINT + 0.19 10 CPIINT = 2.71 CPIINT
Ahora, aplicando la optimización:
CPIpromedio con optimización = 0.81 CPIINT + 0.19 5 CPIINT = 1.76 CPIINT
De esto, se obtiene que el speedup de la optimización es \frac{2.71}{1.76}; lo cual es 1.54. Es decir, se mejora la performance en un 54%.
==== Punto II ====
- Hay un sólo caché L1.
- Mide 32KB.
- El tamaño de bloque es 64.
- Es 2-way associative.
==== Punto III ====
Ver Patterson & Hennessy; pp. A-16..A-21.
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.