CMSC 611: Advanced Computer Architecture
Tomasulo
Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides
Some material adapted from Hennessy & Patterson / © 2003 Elsevier Science
Out of Order Execution
Tomasulo
Tomasulo Organization
4
Tomasulo Example
5
Tomasulo Example Cycle 1
6
Tomasulo Example Cycle 2
7
Note: Can have multiple loads outstanding
Tomasulo Example Cycle 3
8
Tomasulo Example Cycle 4
9
Tomasulo Example Cycle 5
10
Tomasulo Example Cycle 6
11
Tomasulo Example Cycle 7
12
Tomasulo Example Cycle 8
13
Tomasulo Example Cycle 9
14
Tomasulo Example Cycle 10
15
Tomasulo Example Cycle 11
16
Tomasulo Example Cycle 12
17
Tomasulo Example Cycle 13
18
Tomasulo Example Cycle 14
19
Tomasulo Example Cycle 15
20
Tomasulo Example Cycle 16
21
Tomasulo Example Cycle 55
22
Tomasulo Example Cycle 56
23
Tomasulo Example Cycle 57
24
Tomasulo “Register Renaming”
25
Reservation Station Components
26
Three Stages of Tomasulo Algorithm
27
Normal vs. Common Data Bus
28
Tomasulo Drawbacks
29
Tomasulo Loop Example
Loop: LD F0, 0(R1)
MULTD F4, F0, F2
SD F4, 0(R1)
SUBI R1, R1, #8
BNEZ R1, Loop
30
Loop Example Cycle 0
31
Loop Example Cycle 1
32
Loop Example Cycle 2
33
Loop Example Cycle 3
34
Loop Example Cycle 4
35
Loop Example Cycle 5
36
Loop Example Cycle 6
37
Loop Example Cycle 7
38
Loop Example Cycle 8
39
Loop Example Cycle 9
40
Loop Example Cycle 10
41
Loop Example Cycle 11
42
Loop Example Cycle 12
43
Loop Example Cycle 13
44
Loop Example Cycle 14
45
Loop Example Cycle 15
46
Loop Example Cycle 16
47
Loop Example Cycle 17
48
Loop Example Cycle 18
49
Loop Example Cycle 19
50
Loop Example Cycle 20
51
Loop Example Cycle 21
52
Multiple Issue
53
Reorder Buffers
54
ROB Changes
Speculation with ROB