Comprender la bifurcación de instrucciones

Necesito ayuda para comprender la solución del manual de soluciones. La pregunta es del ejercicio 4.22.1 del capítulo 4 del libro Computer Organization and Design de Patterson y Hannessey (4ª edición). La pregunta es sobre la ramificación en la canalización de instrucciones.

La pregunta
Suponemos que el siguiente código MIPS se ejecuta en un procesador segmentado con una canalización de 5 etapas, reenvío completo y un predictor de bifurcación predecible. Considere la secuencia de instrucciones:
Label1: LW R2,0(R2)
BEQ R2,R0,Label ; Taken once, then not taken
OR R2,R2,R3
SW R2,0(R5)
dibuje el diagrama de ejecución de canalización para este código, asumiendo que no hay ranuras de retraso y que las ramas se ejecutan en la etapa EX.

La solución dada es la siguiente:

La solución
ingrese la descripción de la imagen aquí

La duda
no entiendo porque en 4to ciclo LWtengo ***(azul subrayado). ¿No podemos ejecutar IDen LWel cuarto ciclo? ¿Es una regla no dicha que si la etapa de toma de decisiones de la rama (que está subrayada en rojo EX) BEQse retrasa (aquí debido a la dependencia de los datos primero LWpara R2), entonces retrase todas las siguientes etapas correspondientes en las siguientes instrucciones?

Respuestas (1)

Por lo tanto, se insertan "burbujas" o paradas debido a las dependencias después de la decodificación de la instrucción con la dependencia (el BEQ). Parece que te sientes cómodo con esto. Sin embargo, como resultado, el resto de la tubería (que contiene el segundo LW) también se detiene.

Considéralo así: no es posible detener una instrucción y no detener las instrucciones que la siguen. Eso requeriría que dos instrucciones estuvieran en la misma etapa de canalización al mismo tiempo: si LW no se detuvo también, entonces EX de BEQ y EX de LW ocurrirían en el mismo ciclo de reloj: ¡no es posible!

ok, creo que hay algo más que se sumó a mi confusión: la tercera instrucción LWse obtiene inmediatamente después de la segunda instrucción BEQ. Pero ese no es el caso de OR. Se obtiene mucho después cuando el anterior BEQestá en MEMetapa. ¿Todavía se obtiene después de obtener LW2nd BEQ, before OR OR`? , but because prediction went wrong it was abandoned and Algo como esto: imagen
@ Mahesha999 Sí, creo que es correcto.