Sobre Pipeline

Sobre Pipeline

de Arel Sirin Sinanian -
Número de respuestas: 4

Buenas, escribo para realizar una consulta.
Suponiendo que tenemos el pipeline visto en clase con etapas IF, ID, EX, MEM, WB y las siguientes instrucciones:

Inst. 1 - lw r2, 20(r1)
Inst. 2 - and r4, r2, r3

Sería correcto que no haya espera en la segunda instrucción si se hace forwarding de la EX de la primera instrucción a la EX de la segunda?
O debería esperar 1 ciclo de reloj durante la ID de la instrucción 2, para tomar el valor temporal de r2 como salida de la etapa MEM de la primera instrucción dado a que la primera instrucción hace una carga de memoria?

Gracias!

En respuesta a Arel Sirin Sinanian

Re: Sobre Pipeline

de Federico Rivero -

Estimado:

Es correcto lo segundo que decís. La isntrucción 2 debe esperar un ciclo. El forwarding se hace desde el pipe MEM/WB hasta la entrada de la ALU.

Saludos,

        Federico

En respuesta a Federico Rivero

Re: Sobre Pipeline

de Arel Sirin Sinanian -

Esto es porque la instrucción es una carga de memoria no? Si fuera un ADD de 2 registros por ejemplo, podría ir directo desde la salida de la ALU a la entrada de la ALU?