|
|
|
|
|
|
|
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. |
|
|
|
|
| | | | | |
|
|
|
|
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: |
|
|
|
|
|
|
|
|
(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? |
|
|
|
 |
|
|
|
|
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. |
|
|
|
 |
|
|
|
|
The * + 3 instruction (MPY) is now also held, since there is no available reservation station. |
|
|
|
 |
|
|
|
|
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? |
|
|
|
|
|