Advanced pipelining

10/12/97


Click here to start


Table of Contents

Advanced pipelining

Introduction

Topics for discussion

Pipeline penalties

Techniques and hazard reduced by them

Loop unrolling

Loop unrolling (contd.)

for (I = 1; I <= 1000; I++) X[I] = X[I] + s;

Use loop unrolling

Solution

Analysis

Implementation

Dependences

Dynamic scheduling

Dynamic scheduling (contd.)

Out-of-order Execution

Scoreboarding in DLX

Scoreboarding in DLX (contd.)

Scoreboarding in DLX (contd.)

Hints

Scoreboarding - Example

Pages: 247-250

Tomasulo approach

Dynamic branch prediction

1-bit buffer

2-bit buffer

Implementation

Correlating predictors

Correlating predictors

Correlating predictors (contd.)

Correlating predictors (contd.)

Implementation

Example - comparison

Branch target buffers

Example

Multiple Issue and Superscalars

Superscalar version of DLX

Example

Example (contd.)

Example (contd.)

Author: Bina Ramamurthy

Email: bina@cs.buffalo.edu

Home Page: http://www.cs.buffalo.edu/~bina

Download presentation source