Superscalar Processing Concepts CS 740 September 25, 2000 - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Superscalar Processing Concepts CS 740 September 25, 2000

Description:

Example: program that executes 1 Billion instructions. 5-stage pipeline: 1,000,000,000 cycles ... Register renaming. advantages? Dependences in the memory system ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 12
Provided by: toddc3
Learn more at: https://cs.login.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Superscalar Processing Concepts CS 740 September 25, 2000


1
Superscalar ProcessingConceptsCS 740September
25, 2000
  • Your Mission
  • Complications

2
Your Mission
  • Design a single processor that will achieve a
    millionfold speedup over our simple 5-stage
    pipeline.
  • Example program that executes 1 Billion
    instructions
  • 5-stage pipeline 1,000,000,000 cycles
  • new processor 1,000 cycles

3
What About Superpipelining?
  • I.e. what if we design a 5,000,000 stage pipeline?

4
How Many Functional Units?
  • How many instructions are executing at once?

5
What About Branches?
  • Roughly 1 out of every 6 instructions is a
    conditional branch.
  • How do we look far enough into the future?

6
Branch Prediction
  • Two Parts
  • (1) what is the target address?
  • (2) will the branch be taken or not?

7
Executing Beyond Unresolved Branches
  • What if we execute instructions that never should
    have been executed in the first place?
  • What about their side-effects?
  • This is called control speculation.

8
What about Data Dependences?
  • Register renaming
  • advantages?
  • Dependences in the memory system
  • letting non-dependent loads go ahead of writes
  • what if the load does depend on the write?
  • Data dependence speculation
  • Value prediction

9
Memory Hierarchy
  • How many ports on the caches? Main memory?
  • Instructions and data?
  • How can we fetch so many things in parallel?
  • Non-blocking loads, prefetching

10
Registers
  • How many registers do we need?
  • How will this work?
  • Renaming, etc.

11
Exceptions
  • How can we maintain precise exceptions?
  • Can we isolate the right instruction in one
    cycle?
  • How quickly do we need to react to exceptions?
  • Can we leverage mechanisms from speculation?
  • How does this compare with branch speculation?
Write a Comment
User Comments (0)
About PowerShow.com