Data and resource dependences


Data Dependences:
An instruction j is data dependent on instruction i if either of the following holds:
  • Instruction i produces a result that may be used by instruction j, or
  • Instruction j is data dependent on instruction k, and instruction k is data dependent on instruction i.

The second condition simply states that one instruction is dependent on another if there exists a chain of dependences of the first type between the two instructions. This dependence chain can be as long as the entire program.

Some of the data dependences are:

1.Name Dependences
The name dependence occurs when two instructions use the same register or memory location, called a name.

There are two types of name dependences between an instruction i that precede instruction j in program order:
  • An antidependence between instruction i and instruction j occurs when instruction j writes a register or memory location that instruction i reads.
  • An output dependence occurs when instruction i and instruction j write the same register or memory location.

2. Control Dependences
A control dependence determines the ordering of an instruction, i, with respect to a branch instruction so that the instruction i is executed in correct program order.
For example-

if  A1
if  A2
Here C1 is control dependent on A1, and C2  control dependent on A2.

More topics from ACA to read:

ACA: ADVANCED COMPUTER ARCHITECTURE covered following topics in Advanced Computer Architecture.

Post a Comment

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.