Let be given a 4-step pipeline with the steps "Get command, get operands, Execute command, Write back result" and an Assembler Code:
1 movl $1 , %eax 2 movl $2 , %ecx 3 movl $3 , %edx 4 addl %edx , %ecx 5 addl %ecx , %eax
The line 4 addl command is forced to wait until command 3 completely walked through the pipeline. After line 3 is done, results are written back, line 4 addl command proceeds. However what does the addl command of line 5 do? Does it wait or does it immediately follow line 4 addl command?
There is no Forwarding, jump forshadowing and in the beginning pipepline is empty.