Pipelining Principles Prof. Sirer CS 316 Cornell University.

Slides:



Advertisements
Similar presentations
PipelineCSCE430/830 Pipeline: Introduction CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Prof. Yifeng Zhu, U of Maine Fall,
Advertisements

Lecture 4: CPU Performance
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
CMPT 334 Computer Organization
Chapter Six 1.
Computer Science 210 Computer Organization Clocks and Memory Elements.
Latches CS370 –Spring 2003 Section 4-2 Mano & Kime.
1 RISC Pipeline Han Wang CS3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 4.6.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University RISC Pipeline See: P&H Chapter 4.6.
© Kavita Bala, Computer Science, Cornell University Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University Pipelining See: P&H Chapter 4.5.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Chapter: 1.6,
Latches Section 4-2 Mano & Kime. Sequential Logic Combinational Logic –Output depends only on current input Sequential Logic –Output depends not only.
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
Lec 8: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
Computer ArchitectureFall 2007 © October 22nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
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.
Computer ArchitectureFall 2007 © October 31, CS-447– Computer Architecture M,W 10-11:20am Lecture 17 Review.
Lec 9: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Lecture 24: CPU Design Today’s topic –Multi-Cycle ALU –Introduction to Pipelining 1.
Chapter One Introduction to Pipelined Processors.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Chapter: 1.6,
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Part 2. Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A five-level memory.
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
Rabie A. Ramadan Lecture 3
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
July 2005Computer Architecture, Data Path and ControlSlide 1 Part IV Data Path and Control.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Lecture 14: Processors CS 2011 Fall 2014, Dr. Rozier.
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
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.
Processor Architecture
CSIE30300 Computer Architecture Unit 04: Basic MIPS Pipelining Hsin-Chou Chi [Adapted from material by and
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University MIPS Pipeline See P&H Chapter 4.6.
Principles of Linear Pipelining
Chapter One Introduction to Pipelined Processors.
Real-World Pipelines Idea –Divide process into independent stages –Move objects through stages in sequence –At any given times, multiple objects being.
Counters and registers Eng.Maha Alqubali. Registers Registers are groups of flip-flops, where each flip- flop is capable of storing one bit of information.
Dept. of Electrical Engineering
Lecture 4. Sequential Logic #3 Prof. Taeweon Suh Computer Science & Engineering Korea University COSE221, COMP211 Logic Design.
Real-World Pipelines Idea Divide process into independent stages
Computer Science 210 Computer Organization
Speed up on cycle time Stalls – Optimizing compilers for pipelining
Morgan Kaufmann Publishers
Lecture: Pipelining Basics
Performance of Single-cycle Design
Chapter One Introduction to Pipelined Processors
Flip Flop.
Computer Science 210 Computer Organization
ECE232: Hardware Organization and Design
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Science 210 Computer Organization
Serial versus Pipelined Execution
Single Cycle vs. Multiple Cycle
Pipelined Implementation : Part I
Pipeline Principle A non-pipelined system of combination circuits (A, B, C) that computation requires total of 300 picoseconds. Comb. logic.
Pipelining: Basic Concepts
Sequential Logic.
COMPUTER ARCHITECTURES FOR PARALLEL ROCESSING
Prof. Sirer CS 316 Cornell University
Pipelining.
Part IV Data Path and Control
Morgan Kaufmann Publishers The Processor
A relevant question Assuming you’ve got: One washer (takes 30 minutes)
MIPS Pipeline Hakim Weatherspoon CS 3410, Spring 2013 Computer Science
Pipelining.
Pipelining and Superscalar Techniques
Presentation transcript:

Pipelining Principles Prof. Sirer CS 316 Cornell University

Meet the Cast Alice

Meet the Cast Alice Bob

Meet the Cast Alice Bob They don’t like each other!

The Laundry Four sequential tasks

Laundry Room Design #1 A large room with a one entry-door and one exit-door

Laundry Room Design #1 First Alice owns the room

Laundry Room Design #1 First Alice owns the room Bob can enter as soon as she is done No possibility for Alice and Bob to fight

Laundry Room Design #1 Elapsed Time for Alice: 4 Elapsed Time for Bob: 4 Elapsed Time for both: 8 A better laundry room can improve utilization and speed up task completion Time

Laundry Room Design #2 Elapsed Time for Alice: 4 Elapsed Time for Bob: 4 Elapsed Time for both: 5!!! Time

Laundry Room Design #2 The room is partitioned into stages One person owns a stage at a time, the room can hold up to four people simultaneously

Laundry Room Design #2 Alice

Laundry Room Design #2 BobAlice

Laundry Room Design #2 BobAlice Charlie

Laundry Room Design #2 BobAlice CharlieDave

Implications Principle: Latencies can be masked by running isolated operations in parallel Need mechanisms for isolation Need mechanisms for handling dependencies between tasks Let’s apply this principle to processor design…

MIPS Processor Functional decomposition of our processor

A MIPS Pipeline Pipeline stages for a MIPS processor

Pipeline Isolation Latches between pipeline stages hold the values for the stage to operate on Latches and register file are triggered on opposite edges of the clock

Pipeline Logic Additional latches required to store the instruction for each pipeline stage Copy the instruction forward, generate local control signals separately in each pipeline stage

Pipelining for Other Circuits Pipelining can be applied to any combinational logic circuit What’s the circuit latency at 2ns. per gate? What’s the throughput? What is the stage breakdown? Where would you place latches? What’s the throughput after pipelining? Pipelining vs. superpipelining