Systems Architecture

Table of Contents

Data dependencies

instructions:

R2 is destination for add, and source for subtract

there is a data dependency between the instructions

subtract has to be stalled, like this:

  1. Control circuit recognises data dependency when it decodes subtract instruction (compare source/destination registers)

  2. Subtract instruction is held in interstage buffer B1 during cycles 3-5

  3. Add instruction proceeds, signals are set in interstage buffer B2 for implicit NOP (no operation) instruction — creates a ‘bubble’ (clock cycle of idle time)

screenshot.png

the stalls can be alleviated using operand forwarding:

the result of hardware implementation looks like this:

screenshot.png

The new datapath, incorporating operand forwarding:

screenshot.png