Considérese una máquina con tres tipos de instrucciones y con las medidas de CRI
PROBLEMA 2:
Considere dos posibles realizaciones M1 y M2, con el mismo repertorio de instrucciones. Hay tres
tipos de instrucciones (A, B y C) en el repertorio de instrucciones. M1 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 M1 y M2 se muestra en la siguiente tabla:
Tipo CRI en M1 CRI en M2 Uso en C1 Uso en C2 Uso en C3
A 4 2 30% 30% 50%
B 6 4 50% 20% 30%
C 8 8 20% 50% 20%
La tabla contiene además un resumen de cómo tres compiladores diferentes usan el repertorio de
instrucciones. C1 es un compilador producido por los fabricantes de M1, C2 es un compilador
producido por los fabricantes de M2, y C3 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 C1 en M1 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 rapida pueden los fabricantes de M2 afirmar que es M2,
comparada con M1?.
Si se compara M1, ¿qué compilador se debería usar?. ¿Y si se compara M2?.
PROBLEMA 3:
Algunos investigadores han sugerido que puede ser útil añadir un modo de direccionamiento
registro-memoria a una máquina de carga/almacenamiento. La idea es sustituir secuencias de:
LOAD R1,0(RB)
ADD R2,R2,R1
por
ADD R2,0(Rb)
Suponer que la nueva instrucción hace que el ciclo de reloj se incremente en un 10%.
Utilizar las frecuencias de siguientes:
Saltos 10%
Referencias a memoria. Cargas 24 %
Referencias a memoria. Almacenamientos 12 %
ALU 46%
PRO B L E M A 4:
PROBLEMA 5:
Supongamos que se está considerando mejorar una máquina añadiéndole un modo vectorial.
La ejecución de un cálculo utilizando el modo vectorial es 20 veces más rápida que el modo normal
de ejecución. Llamaremos al porcentaje de tiempo que puede emplearse el modo vectorial
porcentaje de vectorización.
a) Dibujar un gráfico donde se muestre la aceleración como porcentaje del cálculo realizado
en modo vectorial. Rotular el eje Y con “Aceleración neta” y el eje X con “Porcentaje de
vectorización”.
b) ¿Qué porcentaje de vectorización se necesita para conseguir una aceleración de 2?
c)¿Qué porcentaje de vectorización se necesita para conseguir la mitad de la aceleración
máxima que se alcanza utiizando el modo vectorial?.
PROBLEMA 6:
PROBLEMA 7:
Un benchmark contiene 195578 operaciones en punto flotante. Se ejecutó sobre un
procesador embebido, después de realizar una compilación optimizada. El procesador embebido
está basado en un procesador RISC que incluye una unidad de punto flotante, pero que el
procesador embebido no contiene por razones de coste.
El benchmark arrojó un índice de 1.08 s. sobre el procesador RISC, y un índice de 13.6 s.
sobre la versión embebida.
Supóngase que el CRI para el procesador RISC es de 10, mientras que el CRI de la versión
embebida es de 6.
a) ¿Cuál fué el número total de instrucciones ejecutadas en ambos procesadores?
b) ¿Cual es el número de MIPS en ambos procesadores?
c) Aproximadamente, ¿cuantas instrucciones enteras deben realizarse para ejecutar por
software una instrucción de punto flotante?
PROBLEMA 8:
Se proponen tres mejoras, con las siguientes aceleraciones, para una nueva arquitectura:
a1=30, a2=20, a3=15
Solamente una de ellas se utiliza cada cierto tiempo.
Si las mejoras a1 y a2 se utilizan cada una un 25% del tiempo, ¿qué fracción de ese tiempo
debe mejorar a3 para conseguir una aceleración global de 10?