Pipelining - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Pipelining

Description:

Electrical and Computer Engineering. 12/15/09. 445_23. 2. Pipelining. F1. E1. I1. F2. E2. I2 ... operands not available at time expected in the pipeline ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 23
Provided by: TeaL7
Category:

less

Transcript and Presenter's Notes

Title: Pipelining


1
Pipelining
  • ECE-445
  • Computer Organization
  • Dr. Ron Hayne
  • Electrical and Computer Engineering

2
Pipelining
3
Hardware Organization
InstructionFetchUnit
ExecutionUnit
4
Four State Pipeline
  • Fetch (F)
  • Read the instruction from memory
  • Decode (D)
  • Decode the instruction and fetch the source
    operand(s)
  • Execute (E)
  • Perform the operation specified by the
    instruction
  • Write (W)
  • Store the result in the destination location

5
Four Stage Pipeline
6
Hardware Organization
7
Data Hazard
  • Pipeline stalled
  • Source or destination operands not available at
    time expected in the pipeline
  • Execution operation taking more than one clock
    cycle

8
Data Hazard
9
Data Dependency
10
Operand Forwarding
11
Operand Forwarding
12
Handling Data Hazards in SW
  • Compiler detect data dependencies and deal with
    them
  • Insert NOPs
  • Attempt to reorder instructions to perform useful
    tasks in NOP slots
  • Side effects
  • Instruction changes contents of a register other
    than the named destination
  • Autoincrement/autodecrement addressing modes
  • Condition code flags
  • Give rise to multiple dependencies
  • Should be minimized

13
Instruction Hazards
  • Pipeline stalled
  • Delay in the availability of an instruction
  • Cache miss
  • Branch instructions

14
Instruction Hazard
15
Instruction Queue and Prefetch
16
Branch Penalty
17
Branch Prediction
  • Attempt to predict whether or not a particular
    branch will be taken
  • Speculative execution
  • Continue to execute until outcome of branch
    evaluated
  • No processor registers or memory can be updated
    until branch outcome is confirmed

18
Branch Prediction
  • Static Branch Prediction
  • Some branch instructions predicted as taken and
    others as not taken
  • End or program loop
  • Beginning of program loop
  • Hardware or compiler
  • Dynamic Branch Prediction
  • Based on execution history

19
Structural Hazard
  • Two instructions require use of a given hardware
    resource at the same time
  • Access to memory
  • Separate instruction and data caches
  • Access to register file
  • Multiple port register file
  • In general avoided by providing sufficient
    hardware resources on the processor chip

20
Structural Hazard
21
Summary
  • Pipelining does not result in individual
    instructions being executed faster
  • Throughput increases
  • Rate at which instruction execution is completed
  • Important goal in designing processors is to
    identify all hazards that may cause the pipeline
    to stall
  • Find ways to minimize their impact

22
Questions?
Write a Comment
User Comments (0)
About PowerShow.com