Beruflich Dokumente
Kultur Dokumente
y suponiendo que se pueden captar cuatro instrucciones por ciclo y emitir cuatro instrucciones
por ciclo, indique el orden en que se emitirán las instrucciones para cada uno de los siguientes
casos:
NOTA: Considere que hay una unidad funcional para la carga (2 ciclos), otra para el
almacenamiento (1 ciclo), tres para la suma/resta (1 ciclo), y una para la multiplicación (6
ciclos).
En este caso, hasta que no se han emitido todas las instrucciones que entraron en la ventana al
decodificarse, no se introducen nuevas instrucciones que puedan ser emitidas. Esta situación
se muestra en la figura mediante una línea gruesa. A continuación, se comentan los atascos
que se producen en el cauce:
Figura 2a: Traza de la ejecución del código del problema 2 usando una ventana de instrucciones centralizada con
emisión ordenada y alineada.
Ciclo 5:
La ejecución de la instrucción (2) debe retrasarse al producirse un riesgo
estructural en la unidad de carga con la instrucción (1).
La instrucción (3) debe retrasarse hasta que la instrucción (1) haya cargado el valor
de r1.
Ciclo 7:
La instrucción (4) debe retrasarse hasta que la instrucción (2) haya cargado el valor
de r2.
Las instrucciones (5) – (8) no se pueden decodificar hasta que se vacíe la ventana
de instrucciones porque la emisión es alineada.
Ciclo 13:
La instrucción (5) depende del resultado de la (4).
Las instrucciones (6) y (7) deben esperar a que se emita la (5) porque la emisión es
ordenada.
Ciclo 14:
La instrucción (8) depende del resultado de la (6).
Las instrucciones (9) – (11) no se pueden decodificar hasta que se vacíe la ventana
de instrucciones porque la emisión es alineada.
Ciclo 16:
La instrucción (11) depende del resultado de la (9).
Figura 2b: Traza de la ejecución del código del problema 2 usando una ventana de instrucciones centralizada con
emisión desordenada y alineada.
Ciclo 3:
Se adelanta la ejecución de la instrucción (3).
Ciclo 8:
Se adelanta la ejecución de las instrucciones (5) y (6).
Ciclo 13:
Las instrucciones (9) – (11) se han podido decodificar un ciclo antes, ya que la emisión
desordenada ha permitido que se vacíe la ventana de instrucciones un ciclo antes.
c) Una estación de reserva de tres líneas para cada unidad funcional, con envío
ordenado y ventana deslizante.
Figura 2c: Traza de la ejecución del código del problema 2 usando una estación de reserva de tres líneas para
cada unidad funcional, con envío ordenado y ventana deslizante.