Multiple Instruction Issue and Hardware Based Speculation: Soner Önder
Multiple Instruction Issue and Hardware Based Speculation: Soner Önder
and
Hardware Based Speculation
Soner Önder
Michigan Technological University, Houghton MI
www.cs.mtu.edu/~soner
Hardware Based Speculation 2
Tail Head
Reorder Buffer 6
0 0
1 1 R7=r4+r3
2 2
3 R6=r2+r6
4
3 R3=r6+r7
5 4 R6=r6+10
6 5
7 6
8 7
9
10
22
13
17
Renaming Registers 15
0 0
1 1
2 2 R7=r4+r3
3 3 R6=r2+r6
4 4 R3=r6+r7
5 5 R6=r6+10
6 6
7 7
9
10
22
13
17
Renaming Registers 16
Previous Dest
0 0 R9=r4+r3 R7
1 1
2 2 R7=r4+r3
3 3 R6=r2+r6
4 4 R3=r6+r7
5 5 R6=r6+10
6 6
7 9
10
22
13
17
Renaming Registers 17
Previous Dest
0 0 R9=r4+r3 R7
1 1 R10=r2+r6 r6
2 2 R7=r4+r3
3 3 R6=r2+r6
4 4 R3=r6+r7
5 5 R6=r6+10
6 10
7 9
22
13
17
Renaming Registers 18
Previous Dest
0 0 R9=r4+r3 R7
1 1 R10=r2+r6 R6
2 2 R7=r4+r3 R22=r10+r9 R3
3 22 R6=r2+r6
4 4 R3=r6+r7
5 5 R6=r6+10
6 10
7 9
13
17
Renaming Registers 19
Previous Dest
0 0 R9=r4+r3 R7
1 1 R10=r2+r6 R6
2 2 R7=r4+r3 R22=r10+r9 R3
3 22 R6=r2+r6 R13=r10+10 R10
4 4 R3=r6+r7
5 5 R6=r6+10
6 13
7 9
17
Renaming Registers 20
Previous Dest
0 0 R9=r4+r3 R7
1 1 R10=r2+r6 R6
2 2 R7=r4+r3 R22=r10+r9 R3
3 22 R6=r2+r6 R13=r10+10 R10
4 4 R3=r6+r7
5 5 R6=r6+10
6 13
7 9
17
10 When r13=r10+10
retires
Limits to ILP 21
160 150.1
FP: 75 - 150
140
Inst ruct ion Issues per cycle
100
75.2
IPC
80
62.6
54.8
60
40
17.9
20
0
gcc espresso li f pppp doducd t omcat v
Programs
More Realistic HW: Branch Impact
23
maximum issue of 64
50 instructions per clock cycle 48
46 45 46 45 45
Inst ruct ion issues per cycle
41
40
35
Integer: 6 - 12
29
30
IPC
19
20 16
15
13 14
12
10
9
10 6 7 6 6 7
6
4
2 2 2
Program
59
FP: 11 - 45
60
Change 2000 instr 54
2 level Prediction
50
45
44
Inst ruct ion issues per cycle
40
IPC
35
30 Integer: 5 - 15 29 28
20
20 16
15 15 15
13
12 12 12 11 11
11 10 10 10
9
10 7
5 6 5 5 5 5
4 5 4 5
4
Program
49 49
50
35 registers (Fortran,
30 no heap)
25
20 Integer: 4 - 9
IPC
16 16
15
15
12
10
10 9
7 7
5 5 6
4 4 4 5
3 3 3 4 4
5
Program
60
56
Perfect disambiguation (HW), 1K
Selective Prediction, 16 entry 47
52
50 FP: 8 - 45
return, 64 registers, issue as 45
Inst ruct ion issues per cycle
many as window
40
35
Integer: 6 - 12 34
30
IPC
22 22
20 17 16
15 15 15 14
13 14
12 12 11 11 12
10 10 10 10
9 8 9 8 9 9
10 8
6 6 6 7
5 6
4 4 4 4
3 2 3 3 3 3
Program