< previous page page_480 next page >

Page 480
Study 7.3 Multiple-Issue Superscalar Machines Compared
Here we contrast the decode issue process (finding independent instructions) with the scheduling process.
A certain superscalar processor can inspect four instructions and issue three each cycle. Suppose we have current machine state as follows: each unit (ADD, MPY, and DIV) has one reservation station.
R1 has MPY
tag MPY-0 (unit).
R3 has ADD
tag ADD-0 (unit).
R4 has ADD
tag ADD-1 (reservation station).

That is, two ADDs and one MPY were previously issued. Assume that no state change occurs during the next (issue) cycle. The next four instructions are:
*
MPY
R1, R6, R7.
* + 1
ADD
R7, R8, R9.
* + 2
DIV
R8, R10, R3.
* + 3
MPY
R2, R11, R12.

(a) For dataflow, what is the state of the machine (which tags are associated with which registers) after these instructions are inspected? Which instructions are issued? Which instructions are held?
d87111c01013bcda00bb8640fdff6754.gif
For a dataflow machine, the MPY R1, R6, R7 will be issued to the multiplier reservation station. Its TAG [MPY-1] will overwrite the tag for R1. the * + 1 instruction (the ADD) is held (not issued), since there is no unit or reservation station to accommodate it. The * + 2 instruction (the DIV) is an interesting case. It cannot be issued, and hence is held, because of an ordering dependency for R8. In dataflow, once an instruction is issued the scheduling stage ignores ordering dependencies, but they cannot be ignored at the issue stage. Suppose * + 2 were issued; then if * + 1 were seriously delayed, * + 2 would overwrite R8 before * + 1 had a chance to use iti.e., get the old value in R8.
d87111c01013bcda00bb8640fdff6754.gif
The * + 3 instruction (MPY) is now also held, since there is no available reservation station.
d87111c01013bcda00bb8640fdff6754.gif
In summary,
Only * (MPY R1,R6,R7) is issued.
It causes the R1 tag to be replaced with TAG [MPY-1]; other tags are unchanged.
The remaining three instructions are held in the issue stage. Only one new instruction will be inspected (together with the three instructions that are held). This new instruction (* + 4) will be at the bottom of the inspection list.
(b) Repeat for an improved scoreboard. What is the state of the machine (which tags are associated with which registers) after these instructions are inspected? Which instructions are issued? Which instructions are held?

 
< previous page page_480 next page >