Table of Contents
How to improve CPI
Where can we optimize? (control)
Where can we optimize? (data)
Compiler optimizations
Loop unrolling
Data dependencies
Name dependence
Control dependencies
Static vs. dynamic scheduling
Dynamic scheduling
Checking for issue
Implementations of dynamic scheduling
Scoreboarding -- The example machine
Scoreboard basic idea
An instruction goes through 5 steps
2. Read operands
4. Write result
What is needed in the scoreboard
Tomasulo’s algorithm
Reservation stations
Example machine
Tomasulo’s solution: hazards
1. Issue
Implementation
|
Author: cselab
Email: baer@cs
|