0% encontró este documento útil (0 votos)
36 vistas8 páginas

Procesador Superescalar: Análisis de Instrucciones

Cargado por

Brayan Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
36 vistas8 páginas

Procesador Superescalar: Análisis de Instrucciones

Cargado por

Brayan Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Se dispone de un procesador superescalar con la siguiente configuración:

◼ una estación de reserva RS1 para las sumas y restass

◼ una estación de reserva RS2 para las multiplicaciones y divisiones

◼ un búfer de reordenamiento ROB

◼ dos unidades de ejecución de sumas/restas con una latencia de 2 ciclos

◼ una unidad de ejecución de multiplicaciones con una latencia de 5 ciclos

◼ una unidad de ejecución de divisiones con una latencia de 40 ciclos

El procesador es capaz de captar, decodificar, emitir y retirar hasta dos instrucciones por ciclo, y las
estaciones de reserva pueden realizar envíos no alineados y desordenados a las unidades de ejecución.
Si los registros f1 y f2 tienen inicialmente los valores 10.0 y 5.0, ¿qué valores se obtendrán tras la
ejecución del siguiente programa y en qué ciclos se escribirá en los registros de la arquitectura?

addd f3, f1, f2 ; (1)


addd f2, f3, f2 ; (2)
multd f4, f3, f2 ; (3)
divd f5, f2, f1 ; (4)
subd f2, f3, f1 ; (5)
2.-Suponga un procesador superescalar en el que se pueden captar y decodificar hasta dos instrucciones
por ciclo, emitir hasta tres instrucciones por ciclo como máximo, y retirar hasta dos instrucciones por
ciclo. La emisión es desordenada y no alineada y se realiza directamente a las unidades de ejecución, es
decir, que el procesador no dispone de estaciones de reserva. La ejecución también es desordenada, y
para permitir la finalización ordenada, se dispone de un búfer de reordenamiento (ROB) en el que se
introducen las instrucciones una vez decodificadas y del que se retiran en orden una vez que han
finalizado.

a) Indique las dependencias entre las instrucciones, los ciclos en los que se emiten para
su ejecución y cómo evolucionaría en búfer de reordenamiento hasta que se hayan
retirado todas las instrucciones de la siguiente secuencia:
multd f1, f1, f5 ; (1)
addd f2, f2, f5 ; (2)
addd f4, f1, f2 ; (3)
addd f6, f1, f5 ; (4)
multd f5, f2, f2 ; (5)
subd f6, f2, f1 ; (6)

Suponiendo una frecuencia de 2 GHz, ¿cuánto tarda en procesarse la secuencia de


instrucciones? ¿Cuál es la velocidad pico del procesador?

NOTA: La suma y la resta consumen 1 ciclo de reloj y la multiplicación tres ciclos. Considere que no hay
limitaciones en la capacidad de los búferes ni en el número de unidades funcionales. Se supone que f1,
f2 y f5 tienen valores previos.
3.-Se desea ejecutar el siguiente programa en un procesador superescalar:

lw r1, N ; (1)
add r2, r0, r0 ; (2)
bucle: lw r3, X(r2) ; (3)
sgt r4, r3, r0 ; (4)
bnz r4, mayor ; (5)
sub r3, r0, r3 ; (6)
mayor: sw X(r2), r3 ; (7)
add r2, r2, #4 ; (8)
sub r1, r1, #1 ; (9)
bnz r1, bucle ; (10)

Si el procesador usa un predictor dinámico con dos bits de historia que se inicializan con un predictor
estático que predice como tomados los saltos hacia atrás y como no tomados los saltos hacia delante,
y que la penalización en caso de errar la predicción es de 5 ciclos, ¿qué penalización se obtendrá si
X(0) = 1 y X(i + 1) = 1 – X(i)? ¿Qué penalización se obtendría si se optimizara el código usando
sentencias de ejecución condicional?
4.- Considere que el fragmento de código siguiente:

(1) subd f2, f2, f1


(2) addd f4, f2, f3
(3) subd f5, f2, f3
(4) multd f6, f2, f3
(5) subd f2, f2, f5
(6) subd f7, f4, f6
se ejecuta en un procesador superescalar capaz de captar, decodificar y emitir (mediante una ventana
de instrucciones centralizada 3 instrucciones/ciclo, y completar (o retirar) hasta 2 instrucciones/ciclo.
a) Si el procesador dispone de un buffer de reorden para permitir la ejecución desordenada y la
finalización ordenada, indique el tiempo de ejecución en el caso de emisión ordenada (no alineada). ¿Se
gana tiempo si la emisión es desordenada (y no alineada)? b) Para la situación más favorable, ¿qué es
mejor, aumentar en uno el número unidades de suma/resta o reducir el tiempo de ejecución de las
existentes en una unidad? c) Considerando que f1 = 2.0, f2 = 4.0, y f3 = 5.0, indique cuáles serán los
valores finales que tendrán los registros de la arquitectura al final de la ejecución de la secuencia.

NOTA: El procesador dispone de 2 unidades de suma/resta (de 2 ciclos), una de multiplicación (de 4
ciclos), y que no hay limitaciones en el número de líneas de la cola de instrucciones, buffer de reorden,
puertos de lectura/escritura, etc.
:

También podría gustarte