You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hola, buenas tardes. Realizando la I2 del segundo semestre del 2022 me surgieron un par de dudas en la pregunta 3 de ILP.
1. Salto al final del código:
Tengo entendido que cuando hay un salto al final del código y no se tienen más instrucciones, el computador igual debe esperar a que se llegue a la etapa de MEM para poder realizar el salto, por lo que al llegar a esa parte en el diagrama de ejecución quedaría algo así:
Pero en la pauta colocan directamente la instrucción MOV B, 0.
Me gustaría si pudieran confirmarme si esto es un error y si es correcto colocar NOP's para indicar esos 3 ciclos que se pierden.
2. Cantidad de ciclos al terminar con flushing:
¿Qué pasaría si nos piden la cantidad de ciclos que toma una ejecución y justo termina con flushing? ¿el último ciclo sería la etapa MEM del JMP? Adjunto una imagen de cómo quedó parte de mi ejecución para este ejercicio:
¿La ejecución del código tomaría 19 ciclos en ese caso?
The text was updated successfully, but these errors were encountered:
Es un error. Como bien dices, se deben incluir los tres NOP para representar la espera del salto.
El último ciclo sería la etapa WB de la instrucción JEQ fin. Si bien la ejecución real es hasta la etapa MEM, igual las señales se propagarán a WB, por lo que se debe considerar como parte de la ejecución. Entonces, el total de ciclos sería igual a 20.
Un pequeño paréntesis: Las instrucciones flusheadas nunca alcanzan a pasar por la detección de hazards de datos, por lo que nunca debes dibujar las flechas de forwarding en ese escenario.
Hola, buenas tardes. Realizando la I2 del segundo semestre del 2022 me surgieron un par de dudas en la pregunta 3 de ILP.
1. Salto al final del código:
Tengo entendido que cuando hay un salto al final del código y no se tienen más instrucciones, el computador igual debe esperar a que se llegue a la etapa de
MEM
para poder realizar el salto, por lo que al llegar a esa parte en el diagrama de ejecución quedaría algo así:Pero en la pauta colocan directamente la instrucción
MOV B, 0
.Me gustaría si pudieran confirmarme si esto es un error y si es correcto colocar
NOP
's para indicar esos 3 ciclos que se pierden.2. Cantidad de ciclos al terminar con flushing:
¿Qué pasaría si nos piden la cantidad de ciclos que toma una ejecución y justo termina con flushing? ¿el último ciclo sería la etapa
MEM
delJMP
? Adjunto una imagen de cómo quedó parte de mi ejecución para este ejercicio:¿La ejecución del código tomaría 19 ciclos en ese caso?
The text was updated successfully, but these errors were encountered: