Part 5 – Superscalar & Dynamic Pipelining - An Extra Kicker! 5/5/04+ Three major directions that simple pipelines of chapter 6 have been extended If you.

Slides:



Advertisements
Similar presentations
Instruction Level Parallelism and Superscalar Processors
Advertisements

Computer Organization and Architecture
EECC551 - Shaaban #1 Fall 2003 lec# Pipelining and Exploiting Instruction-Level Parallelism (ILP) Pipelining increases performance by overlapping.
Intro to Computer Org. Pipelining, Part 2 – Data hazards + Stalls.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
CMPT 334 Computer Organization
Chapter 8. Pipelining.
Pipelining Hwanmo Sung CS147 Presentation Professor Sin-Min Lee.
10/24/05 ELEC62001 Kasi L.K. Anbumony Department of Electrical and Computer Engineering Auburn University Auburn, AL Superscalar Processors.
Chapter Six 1.
Pipelined Processor II (cont’d) CPSC 321
1  1998 Morgan Kaufmann Publishers Chapter Six Enhancing Performance with Pipelining.
Instruction Level Parallelism (ILP) Colin Stevens.
Pipelining III Andreas Klappenecker CPSC321 Computer Architecture.
1  2004 Morgan Kaufmann Publishers Chapter Six. 2  2004 Morgan Kaufmann Publishers Pipelining The laundry analogy.
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
1 Chapter Six - 2nd Half Pipelined Processor Forwarding, Hazards, Branching EE3055 Web:
L18 – Pipeline Issues 1 Comp 411 – Spring /03/08 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you.
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
L17 – Pipeline Issues 1 Comp 411 – Fall /1308 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you been.
Pipelined Processor II CPSC 321 Andreas Klappenecker.
1 CSE SUNY New Paltz Chapter Six Enhancing Performance with Pipelining.
Computer ArchitectureFall 2007 © October 31, CS-447– Computer Architecture M,W 10-11:20am Lecture 17 Review.
1  1998 Morgan Kaufmann Publishers Chapter Six Enhancing Performance with Pipelining.
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Chapter One Introduction to Pipelined Processors.
Computer Organization and Architecture Instruction-Level Parallelism and Superscalar Processors.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
1 Pipelining Reconsider the data path we just did Each instruction takes from 3 to 5 clock cycles However, there are parts of hardware that are idle many.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
1 Appendix A Pipeline implementation Pipeline hazards, detection and forwarding Multiple-cycle operations MIPS R4000 CDA5155 Spring, 2007, Peir / University.
Pipelining (I). Pipelining Example  Laundry Example  Four students have one load of clothes each to wash, dry, fold, and put away  Washer takes 30.
Comp Sci pipelining 1 Ch. 13 Pipelining. Comp Sci pipelining 2 Pipelining.
CMPE 421 Parallel Computer Architecture
1 Designing a Pipelined Processor In this Chapter, we will study 1. Pipelined datapath 2. Pipelined control 3. Data Hazards 4. Forwarding 5. Branch Hazards.
Chap 6.1 Computer Architecture Chapter 6 Enhancing Performance with Pipelining.
CSIE30300 Computer Architecture Unit 04: Basic MIPS Pipelining Hsin-Chou Chi [Adapted from material by and
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Pipelining Example Laundry Example: Three Stages
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
CBP 2005Comp 3070 Computer Architecture1 Last Time … All instructions the same length We learned to program MIPS And a bit about Intel’s x86 Instructions.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
LECTURE 10 Pipelining: Advanced ILP. EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls,
Csci 136 Computer Architecture II – Superscalar and Dynamic Pipelining Xiuzhen Cheng
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Lecture 5. MIPS Processor Design Pipelined MIPS #1 Prof. Taeweon Suh Computer Science & Engineering Korea University COSE222, COMP212 Computer Architecture.
Chapter Six.
Advanced Architectures
Computer Architecture
William Stallings Computer Organization and Architecture 8th Edition
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Single Clock Datapath With Control
Pipeline Implementation (4.6)
Appendix C Pipeline implementation
CS203 – Advanced Computer Architecture
ECE232: Hardware Organization and Design
Pipelining: Advanced ILP
Instruction Level Parallelism and Superscalar Processors
Superscalar Processors & VLIW Processors
Instruction Level Parallelism and Superscalar Processors
How to improve (decrease) CPI
Chapter Six.
Chapter Six.
November 5 No exam results today. 9 Classes to go!
Chapter 8. Pipelining.
CS203 – Advanced Computer Architecture
Created by Vivi Sahfitri
Presentation transcript:

Part 5 – Superscalar & Dynamic Pipelining - An Extra Kicker! 5/5/04+ Three major directions that simple pipelines of chapter 6 have been extended If you thought chapter 6 was complicated you ain’t seen nothing yet! But fear not Virginia – all we want here is an awareness of the leading edge! –… And yes there is a Santa Clause ! Three ideas: –Superpipelining –Superscalar –Dynamic pipelining These are cool buzzwords for job interviews … especially if you know what they mean!

Super Pipelining Means longer pipelines Pipelining is parallel processing –Each pipeline stage is, in a sense, a processor in a parallel processing system –The more the stages, the more the parallelism, and consequently the greater the speedup. … you’re doing more things at the same time. –Ideally n stages means n instructions simultaneously executed. –We had 5 stages in chapter 6 – some modern processors have 8 –To take advantage of the increase of the number of stages, we have to re-balance the work-load in each stage.

Superscalar In chapter 6 we had 5 stages in our pipeline –5 way parallelism –One instructions was executed per stage What if we executed more than one instruction per pipeline stage? –Gotta add more and “redundant” hardware –In our mundane washing machine example: this would mean having 3 washers and 3 dryers –Problem is to keep all the extra hardware busy Now we could get get an instruction rate which exceeds the clock rate. –This is like exceeding the speed of light! –But fear not Virginia, it’s only an illusion! Example see ==>

Example: Superscalar MIPS New stuff is in red Two instructions per clock cycle Two output ports from memory Two read ports from register file An extra write port for register file Another ALU

Dynamic Pipelining The simple minded chapter 6 approach makes “downstream” instructions stall while a pipeline hazard is being resolved (stalled) even if they are independent of the hazard situation. Let hardware detection of this situation allow the downstream instruction to execute during the resolution of the hazard. –Dynamic rescheduling of instruction execution in real time In general can be used for: –Hiding memory latency –Avoid stalls that the compiler could not schedule around –Speculatively execute instructions while waiting for a hazard to be resolved These are forms of parallelisms in the spirit of task switching in multiprogramming during I/O blocks –This makes hardware hard to debug because of branch prediction –More complicated pipeline control.