The Wonderful World of Pipelining

An Overview

CS 561 - CS 350 Pipelining




Background

 

Laundry Example

 

RISC Pipelines

 

Pipelining Hazards

 

Examples

 

 

 

© 2004


Pipelining Hazards


There are situations in pipelining when the next instruction cannot execute in the following clock cycle.  These events are called Hazards. There are several types of Hazards; structural, control, and data hazards.

Structural Hazards

When a machine is pipelined, the overlapped execution of instructions requires pipelining of functional units and duplication of resources to allow all possible combinations of instructions in the pipeline.


If some combination of instructions cannot be accommodated because of a resource conflict, the machine is said to have a structural hazard.

Common instances of structural hazards arise when:

  • Some functional unit is not fully pipelined. Then a sequence of instructions using that unpipelined unit cannot proceed at the rate of one per clock cycle

     
  • Some resource has not been duplicated enough to allow all combinations of instructions in the pipeline to execute.

 

      BACK RISC Pipelining                                           NEXT Control Hazards