Necesito ayuda para comprender la solución del manual de soluciones. La pregunta es del ejercicio 4.22.2 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 hay ranuras de retraso y que las ramas se ejecutan en la etapa EX.
La solución dada es la siguiente:
Dudas
***
) en el ciclo 7 para LW
(4ta instrucción ejecutada)? Entiendo que LW
lee R2
que es modificado por OR
(ejecutado en la ranura de retraso después de BEQ
, antes LW
). Pero OR
lo lee en el ciclo 6 en el EX
estadio. Por lo tanto LW
, debería poder ejecutar EX
la etapa en el ciclo 7 (ya que se permite el reenvío completo). Pero, ¿por qué no se muestra así?BEQ
la instrucción (2.ª instrucción), hay una parada (es decir, ***
). Esto se debe a que BEQ
lee R2
el que está cargado por LW
(primera instrucción) en su MEM
etapa. Así que BEQ
tiene que esperar hasta que LW
se MEM
complete. Sin embargo, la misma situación ocurre en las instrucciones 4 y 5. Pero en este caso BEQ
(la quinta instrucción) puede ejecutar su EX
etapa en el mismo ciclo que LW
la etapa de (la tercera instrucción) MEM
. ¿No debería BEQ
(la 5.ª instrucción) volver a detenerse para que espere hasta que se complete LW
la (4.ª instrucción) MEW
?MEM
(por ejemplo, 1.ª instrucción LW
, 4.º ciclo) y en algunas instrucciones, está etiquetada MEB
(por ejemplo, 2.ª instrucción LW
, 6.º ciclo). ¿Cuáles son las diferencias entre MEM
y MEB
? Busqué en todo el libro, pero no se menciona MEB
, solo en el manual de solución, se especifica. O puede ser que me haya perdido algunas páginas.Tus dudas parecen bien fundadas, podría haber un error en el manual de solución. Además, MEM y MEB podrían ser errores tipográficos, ya no tengo el libro de texto H&P, pero no recuerdo haber aprendido sobre dos etapas de memoria diferentes.
¿Tienes algún profesor a quien pedirle que te asigne este problema?
mahesha999
MEM
yMEB
, por lo que realmente no creo que esto pueda ser un error tipográfico, teniendo en cuenta lo bueno que es este libro y cuántas veces se ha repetido en las soluciones. El autor realmente debe querer decir algo con eso, pero no lo detalló. Sin embargo, una vez encontré un error tipográfico en la otra solución. Y no, no tengo un profesor para preguntar esto. Estoy haciendo un trabajo y aprendiendo esto de forma independiente para un examen de ingreso a la ingeniería.