Forwarding (bypassing)
Beginner
A shortcut that passes an answer straight to the next step that needs it, instead of waiting for it to be written down first.
Novice
Extra wires and selectors that send a result from a later pipeline stage straight back to the input of the execute stage, so a dependent instruction doesn’t have to wait for the result to reach the register file.
Expert
Comparators match each source register in X against the destinations held in the X/M and M/W pipeline registers (newest wins, x0 excluded) and steer a mux in front of each ALU input. It removes ALU-to-ALU stalls but sits on the X-stage critical path.
Explained in Instructions and pipelines (Architectures).
See also: Pipeline hazard, Load-use hazard.