Comprender la ejecución de la secuencia de instrucciones de canalización

1

Necesito ayuda para entender la solución del manual de la solución. La pregunta es del ejercicio 4.22.2 del capítulo 4 en el libro Organización y diseño de computadoras por Patterson y Hannessey (4ª edición). La pregunta es sobre la ramificación en la línea de instrucciones.

  

La pregunta
    Suponemos que el siguiente código MIPS se ejecuta en un procesador canalizado   con un pipeline de 5 etapas, un reenvío completo y un predictor de ramificación basado en la predicción.     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 la tubería para este código, asumiendo   hay ranuras de retardo y las ramas se ejecutan en la etapa EX.

La solución dada es la siguiente:

  

La solución

Dudas

  • ¿Por qué hay un bloqueo (resaltado *** ) en el ciclo 7 para LW (4ta instrucción ejecutada)? Entiendo que LW lee R2 que se modifica por OR (ejecutado en la ranura de retardo después de BEQ , antes de LW ). Pero OR lo lee en el ciclo 6 en la etapa EX . Por lo tanto, LW debería poder ejecutar la etapa EX en el ciclo 7 (ya que se permite el reenvío completo). Pero ¿por qué no se muestra así?
  • También observe que en el ciclo (columna) 4, para la instrucción BEQ (segunda instrucción), hay un bloqueo (es decir, *** ). Esto se debe a que BEQ lee R2 , que está cargado por LW (primera instrucción) en su etapa MEM . Así que BEQ tiene que esperar hasta que LW ' MEM se complete. Sin embargo, la misma situación ocurre en las instrucciones 4 y 5. Pero en este caso, se permite que BEQ (quinta instrucción) ejecute su etapa EX en el mismo ciclo que la etapa LW de MEM (tercera instrucción). ¿No debería detenerse nuevamente BEQ (5ta instrucción) para que espere hasta que LW 's (4ta instrucción) MEW se complete?
  • También me di cuenta, hay dos etapas 4. En algunas instrucciones, la cuarta etapa está etiquetada como MEM (por ejemplo, primera instrucción LW , cuarto ciclo) y en algunas instrucciones, su etiqueta MEB (por ejemplo, segunda instrucción LW , sexto ciclo). ¿Cuáles son las diferencias entre MEM y MEB ? Busqué en todo el libro, pero no se menciona el MEB , solo en el manual de la solución, está especificado. O puede ser que me haya perdido algunas páginas.
pregunta Mahesha999

1 respuesta

0

Sus dudas parecen estar bien fundadas, podría haber un error en el manual de la solución. Además, el MEM y MEB pueden ser errores tipográficos, ya no tengo el libro de texto H & P, pero no recuerdo haber aprendido sobre dos etapas de memoria diferentes.

¿Tiene un profesor para pedirle que asigne este problema?

    
respondido por el Kevin L

Lea otras preguntas en las etiquetas