Pipelining Chapter 6.

Slides:



Advertisements
Similar presentations
PIPELINE AND VECTOR PROCESSING
Advertisements

RISC and Pipelining Prof. Sin-Min Lee Department of Computer Science.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
ELEN 468 Advanced Logic Design
CMPT 334 Computer Organization
Chapter 8. Pipelining.
Pipelining Hwanmo Sung CS147 Presentation Professor Sin-Min Lee.
Goal: Describe Pipelining
CS252/Patterson Lec 1.1 1/17/01 Pipelining: Its Natural! Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer.
Chapter Six 1.
Pipelined Datapath and Control (Lecture #13) ECE 445 – Computer Organization The slides included herein were taken from the materials accompanying Computer.
S. Barua – CPSC 440 CHAPTER 6 ENHANCING PERFORMANCE WITH PIPELINING This chapter presents pipelining.
Pipelining II Andreas Klappenecker CPSC321 Computer Architecture.
March R. Smith - University of St Thomas - Minnesota ENGR 330: Today’s Class Interrupts RecapInterrupts Recap Pipelining and PerformancePipelining.
Chapter Six Enhancing Performance with Pipelining
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
CSCE 212 Quiz 9 – 3/30/11 1.What is the clock cycle time based on for single-cycle and for pipelining? 2.What two actions can be done to resolve data hazards?
Pipelined Processor II CPSC 321 Andreas Klappenecker.
1  1998 Morgan Kaufmann Publishers Chapter Six Enhancing Performance with Pipelining.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
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.
Pipelining Enhancing Performance. Datapath as Designed in Ch. 5 Consider execution of: lw $t1,100($t0) lw $t2,200($t0) lw $t3,300($t0) Datapath segments.
Morgan Kaufmann Publishers
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.
Chapter 4 The Processor CprE 381 Computer Organization and Assembly Level Programming, Fall 2012 Revised from original slides provided by MKP.
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
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.
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Oct. 18, 2000Machine Organization1 Machine Organization (CS 570) Lecture 4: Pipelining * Jeremy R. Johnson Wed. Oct. 18, 2000 *This lecture was derived.
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.
CSE431 L06 Basic MIPS Pipelining.1Irwin, PSU, 2005 MIPS Pipeline Datapath Modifications  What do we need to add/modify in our MIPS datapath? l State registers.
Introduction to Computer Organization Pipelining.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
Central Processing Unit Decode Cycle. Central Processing Unit Current Instruction Register (CIR) I1 The fetch cycle has transferred an instruction from.
CS203 – Advanced Computer Architecture Pipelining Review.
Chapter Six.
Lecture 18: Pipelining I.
Pipelines An overview of pipelining
Review: Instruction Set Evolution
Pipelining Chapter 6.
CSCI206 - Computer Organization & Programming
ELEN 468 Advanced Logic Design
Morgan Kaufmann Publishers The Processor
Single Clock Datapath With Control
Pipeline Implementation (4.6)
Chapter One Introduction to Pipelined Processors
CDA 3101 Spring 2016 Introduction to Computer Organization
Data Representation – Instructions
The fetch-execute cycle
Processor Pipelining Yasser Mohammad.
Pipelining Chapter 6.
Serial versus Pipelined Execution
Systems Architecture II
CSCI206 - Computer Organization & Programming
\course\cpeg323-05F\Topic6b-323
Chapter Six.
Chapter Six.
Chapter 8. Pipelining.
CS203 – Advanced Computer Architecture
Pipelining: Basic Concepts
Pipelining Appendix A and Chapter 3.
Pipelining Chapter 6.
Morgan Kaufmann Publishers The Processor
Pipelining Chapter 6.
Instruction execution and ALU
Pipelining.
Presentation transcript:

Pipelining Chapter 6

Introduction to Pipelining Pipelining is overlapping of tasks to realize improvement in overall performance Consider 4 sub-tasks making up a major task. Lets consider the example given in your text: wash, dry, iron and fold clothes (W D I F) Now consider n-students want to do this WDIF operation this weekend. WDIFWDIFWDIFWDIF WDIF

Instruction Cycle Fetch: Fetch instruction from memory Read: Read registers while decoding the instructions Execute: Execute the operation or calculate an address Access Memory: Read memory Write: Write result to register Assume each of the above operation takes clock cycle. Assume read and write to register happen in different halves of the cycle. Now we can overlap register read and write.

Pipelining Time between instructions in pipelined = time between instructions in non-pipelined / # pipelined stages We want a balanced set of instructions to realized best performance by pipelining Lets examine the MIPS instruction pipelining page: 373 How do we design instruction set for pipelining? MIPS: instructions of same length Only few instruction formats Memory operands only in load and store Operands must be aligned in the memory

Life is not simple It is full of hazards There are situations in pipelining where the next instruction cannot execute in the following cycle. These are called hazards and there are three different types. Structural hazards: instruction fetch and data access of memory Data hazards: add $s0,$t0,$t1 sub $t2,$s0,$t3 Solution: data forwarding Control hazards: branch…delayed branch, rearranging instructions Lets look at some examples