Necesito ayuda para comprender la solución del manual de soluciones.
La pregunta es del ejercicio 4.13.5 del capítulo 4 del libro Computer Organization and Design de Patterson y Hannessey (4ª edición).
La pregunta es sobre la canalización de instrucciones.
La pregunta
Considere dos secuencias de instrucciones: agregue instrucciones NOP a este código para eliminar los peligros si solo hay reenvío ALU-ALU (sin reenvío desde el MEM a la etapa EX).
la solución del manual de solución
Con el reenvío solo ALU-ALU, una instrucción ALU puede reenviar a la siguiente instrucción, pero no a la segunda instrucción siguiente (porque eso sería reenviar de MEM a EX). Una carga no puede reenviar en absoluto, porque determina el valor de los datos en la etapa MEM, cuando es demasiado tarde para el reenvío ALU-ALU. Tenemos:
Dudas
La pregunta pide agregar NOP. Pero no veo un solo NOP en la solución dada.
En la solución, dice "Una carga no puede reenviar en absoluto, porque determina el valor de los datos en la etapa MEM, cuando es demasiado tarde para el reenvío ALU-ALU". Entonces, ¿cómo puede haber "reenvío ALU-ALU de R4 desde I2" en la secuencia de instrucción 1?
No entiendo el significado de la pregunta en sí. ¿Significa reemplazar el reenvío ALU-ALU con NOP y mantener intacto el reenvío MA-EX?
Este enlace da la solución a la segunda secuencia de instrucciones de la siguiente manera: mientras que este enlace chegg da su solución de la siguiente manera: ¿ Qué es verdad?
(Hay otros recursos que brindan otras secuencias de instrucciones, como ppts y pdf de diferentes cursos universitarios, pero ninguno de ellos brinda una solución lógica satisfactoria. No los incluí aquí para evitar más confusiones).
Si estoy leyendo la pregunta correctamente, no significa que el reenvío ALU-ALU esté prohibido en una instrucción LW, sino que el nuevo resultado de la carga no se reenviará desde la etapa MEM, por lo que ahora tiene un riesgo de datos entre I2 y I3 en a. (Editar: el reenvío de MEM es realmente discutible aquí ya que la etapa EX de I3 ocurre al mismo tiempo que la etapa MEM de I2, por lo que cualquier reenvío será demasiado tarde).
Si se trata de una tubería RISC clásica, simplemente debe agregar (editar: dos para tener en cuenta tanto MEM como WB) NOP entre LW y ADD para evitar el riesgo de datos aquí.
Las soluciones que encontró son verdaderas solo para ALU-ALU, no se produce el reenvío.
mahesha999
mahesha999
mahesha999
LW
ya que requiereMEM-ID
reenvío? y solo debemos pensar en la secuencia de instrucciones (b)?mahesha999
tony k