How to improve CPI

11/1/98


Click here to start


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