Tomasulos Algorithm - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Tomasulos Algorithm

Description:

Tomasulo Example Cycle 1. Yes. RHK.S96 7. Tomasulo Example Cycle 2. RHK.S96 8 ... Loop Example Cycle 1. RHK.S96 30. Loop Example Cycle 2. RHK.S96 31. Loop ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 51
Provided by: Rand225
Category:

less

Transcript and Presenter's Notes

Title: Tomasulos Algorithm


1
Tomasulos Algorithm
2
Tomasulo Organization
3
Reservation Station Components
  • OpOperation to perform in the unit (e.g., or
    )
  • Qj, QkReservation stations producing source
    registers
  • Vj, VkValue of Source operands
  • Rj, RkFlags indicating when Vj, Vk are ready
  • BusyIndicates reservation station and FU is
    busy
  • Register result statusIndicates which
    functional unit will write each register, if one
    exists. Blank when no pending instructions that
    will write that register.

4
Three Stages of Tomasulo Algorithm
  • 1. Issueget instruction from FP Op Queue
  • If reservation station free, the scoreboard
    issues instr sends operands (renames
    registers).
  • 2. Executionoperate on operands (EX)
  • When both operands ready then execute if not
    ready, watch CDB for result
  • 3. Write resultfinish execution (WB)
  • Write on Common Data Bus to all awaiting units
    mark reservation station available.

5
Tomasulo Example Cycle 0
6
Tomasulo Example Cycle 1
Yes
7
Tomasulo Example Cycle 2
8
Tomasulo Example Cycle 3
9
Tomasulo Example Cycle 4
10
Tomasulo Example Cycle 5
11
Tomasulo Example Cycle 6
12
Tomasulo Example Cycle 7
13
Tomasulo Example Cycle 8
14
Tomasulo Example Cycle 9
15
Tomasulo Example Cycle 10
6
16
Tomasulo Example Cycle 11
17
Tomasulo Example Cycle 12
18
Tomasulo Example Cycle 13
19
Tomasulo Example Cycle 14
20
Tomasulo Example Cycle 15
21
Tomasulo Example Cycle 16
22
Tomasulo Example Cycle 17
23
Tomasulo Example Cycle 18
24
Tomasulo Example Cycle 57
25
Tomasulo Example Cycle 58
26
Tomasulo Example Cycle 59
27
Tomasulo Loop Example
  • Loop LD F0 0 R1
  • MULTD F4 F0 F2
  • SD F4 0 R1
  • SUBI R1 R1 8
  • BNEZ R1 Loop
  • Multiply takes 4 clocks
  • Load have cache misses

28
Loop Example Cycle 0
29
Loop Example Cycle 1
30
Loop Example Cycle 2
31
Loop Example Cycle 3
32
Loop Example Cycle 4
33
Loop Example Cycle 5
34
Loop Example Cycle 6
35
Loop Example Cycle 7
36
Loop Example Cycle 8
37
Loop Example Cycle 9
38
Loop Example Cycle 10
39
Loop Example Cycle 11
40
Loop Example Cycle 12
41
Loop Example Cycle 13
42
Loop Example Cycle 14
43
Loop Example Cycle 15
44
Loop Example Cycle 16
45
Loop Example Cycle 17
46
Loop Example Cycle 18
47
Loop Example Cycle 19
48
Loop Example Cycle 20
49
Loop Example Cycle 21
50
Tomasulo Summary
  • Prevents Register as bottleneck
  • Avoids WAR, WAW hazards of Scoreboard
  • Allows loop unrolling in HW
  • Not limited to basic blocks (provided branch
    prediction)
  • Lasting Contributions
  • Dynamic scheduling
  • Register renaming
  • Load/store disambiguation
  • Next More branch prediction
Write a Comment
User Comments (0)
About PowerShow.com