In clock cycle 3, the specific operation of instruction
i.e. addition takes place and at that time only the new updated value of A is available. But in the clock cycle 3, the instruction
is fetching the operand that is required for the operation of
.
Since in clock cycle 3 only, operation of instruction
is taking place, so the instruction
will get the old value of A , it will not get the updated value of A , and will produce a wrong result. Consider that the initial value of A is 4. The proper execution will produce the result as
B=27
:

But due to the pipeline action, we will get the result as

Due to the data dependency, these two instructions can not be performed in parallel.