Entregable Bloque III
(curso 2012/2013)
Se ejecuta el mismo código que en el ejercicio entregable del bloque II pero en este caso se
dispone de una versión del nanoMIPS que es capaz de hacerplanificación dinámica de
instrucciones mediante el algoritmo de Tomasulo. Para simplificar la resolución del ejercicio,
supongamos que se ejecutan siempre las mismas instrucciones en cada iteración delbucle:
loop:
L.D
L.D
SUB.D
MUL.D
S.D
L.D
ADD.D
S.D
DADDI
BNE
F3,A(R1)
F4,B(R1)
F1,F3,F4
F5,F3,F4
F5,X(R0)
F2,C(R1)
F7,F2,F3
F7,Y(R0)
R1,R1,#8
R1,R10,loop
Se dispone de una unidad funcional decada tipo compartida por las estaciones de reserva (3
para instrucciones enteras, 2 para suma/resta en FP, 1 para multiplicación en FP y 1 para
división en FP) y además todas las unidades funcionales decoma flotante están segmentadas.
1. Mostrar el diagrama de ejecución de la primera iteración del bucle. Utilizar las
mismas latencias para las operaciones en coma flotante que en el entregableanterior (2 ciclos para suma y resta, 4 ciclos para multiplicación y 10 ciclos para
división) y calcular el CPI obtenido (2 puntos).
A continuación se incorpora al procesador una técnica de prediccióndinámica de saltos que se
basa en la utilización de un buffer de predicción y un BTB que suponemos que siempre acierta
la predicción de la dirección destino de salto.
2. Comparar el rendimiento, durantela ejecución de este código, de la predicción
estática de salto no tomado con la de esta predicción dinámica si se almacena en el
buffer un predictor local de 1 bit cuyo valor inicial es 0 (2puntos).
3. Repetir esta comparativa con un predictor local de 2 bits. Suponer que el estado
inicial del predictor en este caso es 00. ¿Qué ventajas e inconvenientes tiene utilizar
este predictor local de 2bits respecto del de 1 bit? (2 puntos)
1
Por último, se combinan ambas técnicas dinámicas (escogiendo el predictor local de 2 bits)
para permitir que se realice especulación por hardware en el...
Regístrate para leer el documento completo.