< previous page page_479 next page >

Page 479
Table 7.7 Actions in a multiple-issue dataflow.
After Cycle 1After Cycle 2
RegisterR6 has TAG [MPY-1]Same
R3 has TAG [ADD-1]R3 has TAG [LS-3]
R1 has TAG [ADD-0]Same
R4 has TAG [LS-2]
Adder RSTAG [ADD-0], V [R4]
Adder unitV [R2], V [R3]
Multiplier RSV [R2], TAG [ADD-1]
1st LD/ST RSADDR [ALPHA], TAG [ADD-1]
2nd LD/ST unitADDR [GAMMA],
2nd LD/ST RSADDR [BETA],

d87111c01013bcda00bb8640fdff6754.gif
The following registers now hold tags:
R6
¬
TAG [MPY - 1]
R3
¬
TAG [ADD - 1]
R1
¬
TAG [ADD - 0].

d87111c01013bcda00bb8640fdff6754.gif
The adder has its operands (V[R2], V[R3]), and the adder reservation station has
d87111c01013bcda00bb8640fdff6754.gif
TAG[ADD-0], V[R4].
d87111c01013bcda00bb8640fdff6754.gif
Note that the adder unit cannot have operand tags, only values.
d87111c01013bcda00bb8640fdff6754.gif
The first LD/ST reservation station has
d87111c01013bcda00bb8640fdff6754.gif
ADDR[ALPHA], TAG[ADD-1].
d87111c01013bcda00bb8640fdff6754.gif
The multiplier reservation station has
d87111c01013bcda00bb8640fdff6754.gif
V[R2], TAG[ADD-1].
2. Now we present the state of the register after the second cycle. The next four instructions are compared in Table 7.7.
d87111c01013bcda00bb8640fdff6754.gif
The following two instructions remain unissued after the second cycle:
d87111c01013bcda00bb8640fdff6754.gif
ADD R7,R2,R9
MPY R1,R7,R8.
d87111c01013bcda00bb8640fdff6754.gif
The ADD instruction cannot issue because the add unit and its reservation station are occupied. The MPY instruction cannot issue because it depends on the unissued ADD.

 
< previous page page_479 next page >