CSCI206 - Computer Organization & Programming

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
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. CPUs CPU performance CPU power consumption. 1.
CMPT 334 Computer Organization
Pipelining I Topics Pipelining principles Pipeline overheads Pipeline registers and stages Systems I.
Review: Pipelining. Pipelining Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer.
Pipelining I (1) Fall 2005 Lecture 18: Pipelining I.
EECS 318 CAD Computer Aided Design LECTURE 2: DSP Architectures Instructor: Francis G. Wolff Case Western Reserve University This presentation.
Computer Architecture
Chapter Six 1.
Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Great Ideas in Computer Architecture Pipelining Hazards 1.
Pipelined Datapath and Control (Lecture #13) ECE 445 – Computer Organization The slides included herein were taken from the materials accompanying Computer.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Computer ArchitectureFall 2008 © October 6th, 2008 Majd F. Sakr CS-447– Computer Architecture.
Pipelining Basics Assembly line concept An instruction is executed in multiple steps Multiple instructions overlap in execution A step in a pipeline is.
CS1104: Computer Organisation School of Computing National University of Singapore.
INSTRUCTION PIPELINE. Introduction An instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase.
Computer Science Education
B 0000 Pipelining ENGR xD52 Eric VanWyk Fall
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Pipeline Computer Organization II 1 Pipelining Analogy Pipelined laundry: overlapping execution – Parallelism improves performance Four loads: – Speedup.
Computer Organization CS224 Fall 2012 Lesson 28. Pipelining Analogy  Pipelined laundry: overlapping execution l Parallelism improves performance §4.5.
Morgan Kaufmann Publishers
Analogy: Gotta Do Laundry
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
Computer Organization CS224 Chapter 4 Part b The Processor Spring 2010 With thanks to M.J. Irwin, T. Fountain, D. Patterson, and J. Hennessy for some lecture.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Electrical and Computer Engineering University of Cyprus LAB3: IMPROVING MIPS PERFORMANCE WITH PIPELINING.
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
Performance of Single-cycle Design
Computer Organization and Design Pipelining Montek Singh Mon, Dec 2, 2013 Lecture 16.
Computer Organization and Design Pipelining Montek Singh Dec 2, 2015 Lecture 16 (SELF STUDY – not covered on the final exam)
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.
CS 141 ChienMay 3, 1999 Concepts in Pipelining u Last Time –Midterm Exam, Grading in progress u Today –Concepts in Pipelining u Reminders/Announcements.
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.
Lecture 18: Pipelining I.
Computer Organization
Pipelines An overview of pipelining
Review: Instruction Set Evolution
CDA 3101 Spring 2016 Introduction to Computer Organization
CSCI206 - Computer Organization & Programming
Performance of Single-cycle Design
CMSC 611: Advanced Computer Architecture
Pipelining.
Morgan Kaufmann Publishers The Processor
Pipeline Implementation (4.6)
ECE232: Hardware Organization and Design
Pipelining.
Chapter 4 The Processor Part 2
CSCI206 - Computer Organization & Programming
SOLUTIONS CHAPTER 4.
Serial versus Pipelined Execution
CSCI206 - Computer Organization & Programming
Systems I Pipelining I Topics Pipelining principles Pipeline overheads
The Processor Lecture 3.4: Pipelining Datapath and Control
An Introduction to pipelining
Pipelining Appendix A and Chapter 3.
Morgan Kaufmann Publishers The Processor
Guest Lecturer: Justin Hsia
A relevant question Assuming you’ve got: One washer (takes 30 minutes)
Recall: Performance Evaluation
Single Cycle MIPS Implementation
Pipelining.
Presentation transcript:

CSCI206 - Computer Organization & Programming Introduction to Pipelining zyBook: 11.5

What is the Critical Path? I Fetch = 200 ps Reg = 100 ps read / 100 ps write ALU = 200 ps Data access = 200 ps Mux / sign ext / shift left = negligible

What is the Component Utilization? I Fetch = 200 ps Reg = 100 ps read / 100 ps write ALU = 200 ps Data access = 200 ps Mux / sign ext / shift left = negligible

Utilization No component is used more than 25% of the cycle! This means components are usually idle! I Fetch = 200 ps Reg = 100 ps read / 100 ps write ALU = 200 ps Data access = 200 ps Mux / sign ext / shift left = negligible

Pipelining Increases Utilization Break the process into independent steps and overlap execution Classic analogy is doing laundry Total cycle time is 2 hours Throughput is 0.5 loads per hour

Increasing Throughput Suppose you have 4 loads of laundry And only one washer and one dryer! Using the single-cycle approach:

Increasing Throughput Suppose you have 4 loads of laundry And only one washer/dryer! Using the single-cycle approach: No one does laundry like this!

Pipelining Laundry We don’t have to complete the entire first cycle before starting the next! New time = 3.5 hours speedup = 8 / 3.5 = 2.3

Pipeline Utilization Utilization Washer was 25%, now 2/3.5 = 57% What if we had 10 loads? What about

Ideal Pipeline Speedup In reality the CPU is not infinitely pipelineable Peak number of stages ~50 with intel P4 Modern Intel Core have 20-30 stages Simpler ARM CPUs have 4-12 stages Even cheap (<$1) modern microcontrollers use 2-4 stage pipelines

Terms Latency Throughput Time to complete one instruction unchanged, or perhaps increased by pipelining Throughput Number of instructions completed per unit of time ideally N times the unpipelined machine

MIPS Pipeline Stages

Pipelined Diagram

Register Access Registers are (possibly) accessed twice per instruction First access is to read operands Second access writes the result To accommodate this the register stage is split in half. In the first half-cycle registers are written In the last half-cycle registers are read This ensures writes happen before reads, so the newest data is always returned

Basic MIPS pipeline diagram