Processor Pipelining Yasser Mohammad.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

1 ECE369 ECE369 Pipelining. 2 ECE369 addm (rs), rt # Memory[R[rs]] = R[rt] + Memory[R[rs]]; Assume that we can read and write the memory in the same cycle.
Pipeline Computer Organization II 1 Hazards Situations that prevent starting the next instruction in the next cycle Structural hazards – A required resource.
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
Goal: Describe Pipelining
Chapter Six 1.
Spring 2003CSE P5481 Reorder Buffer Implementation (Pentium Pro) Hardware data structures retirement register file (RRF) (~ IBM 360/91 physical registers)
Pipelining II Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 12 Pipelining Strategies Performance Hazards.
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?
5.2 Mathematical Power, Convenience, and Cost The set of operations represents a tradeoff among the cost of the hardware, the convenience for a programmer,
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Chapter 12 CPU Structure and Function. Example Register Organizations.
Pipelined Processor II CPSC 321 Andreas Klappenecker.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
Appendix A Pipelining: Basic and Intermediate Concepts
Memory/Storage Architecture Lab Computer Architecture Pipelining Basics.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell CS352H: Computer Systems Architecture Topic 8: MIPS Pipelined.
Computer Organization CS224 Fall 2012 Lesson 28. Pipelining Analogy  Pipelined laundry: overlapping execution l Parallelism improves performance §4.5.
Morgan Kaufmann Publishers
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
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
1 Seoul National University Pipelining Basics. 2 Sequential Processing Seoul National University.
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.
CS203 – Advanced Computer Architecture Pipelining Review.
Chapter Six.
Advanced Architectures
Computer Organization
Immediate Addressing Mode
CDA3101 Recitation Section 8
Pipelining Chapter 6.
A Closer Look at Instruction Set Architectures
CSCI206 - Computer Organization & Programming
ELEN 468 Advanced Logic Design
Pipelining.
Single Clock Datapath With Control
Pipeline Implementation (4.6)
CDA 3101 Spring 2016 Introduction to Computer Organization
Pipelining.
Morgan Kaufmann Publishers The Processor
Pipelining Chapter 6.
Computer Organization and ASSEMBLY LANGUAGE
CSCI206 - Computer Organization & Programming
CSC 4250 Computer Architectures
Processor Organization and Architecture
CSCI206 - Computer Organization & Programming
\course\cpeg323-05F\Topic6b-323
Chapter Six.
Chapter Six.
Pipelining Chapter 6.
November 5 No exam results today. 9 Classes to go!
* From AMD 1996 Publication #18522 Revision E
Data Dependence Distances
CS203 – Advanced Computer Architecture
Pipelining Chapter 6.
RTL for the SRC pipeline registers
Introduction to Computer Organization and Architecture
Pipelining Chapter 6.
Seoul National University
MIPS Pipelined Datapath
Presentation transcript:

Processor Pipelining Yasser Mohammad

What is pipelining

MIPS PIPELINE Instruction Fetch Instruction Decode/Register Read Execution/ Address Calculation Memory Access Writeback

Why is pipelining useful? The key is maximal utilization of the pipeline. In ideal situations:

MIPS IS is designed for pipelining All instructions the same length (x86 has 1-15bytes instructions) If not so: stalling may be needed between fetching and decoding Few instruction formats (3) with fixed locations of most opcode fields If not so: cannot read registers until we know which instruction is it  6-stages Memory access in load and store only If not so: cannot combine address calculation and execution  7 stages Operand alignment If not so: 2 stages may be needed to transfer data  8 stages All Instructions write at most one result If not so: forwarding cannot be used (more on that later)

Pipeline hazards Structural Hazards Data Hazards Control Hazards Example: single memory in MIPS Solution  Good IS design More problematic in FP units Data Hazards Example: Solution: Forwarding + programmer’s awareness + translator’s support Both integer and FP units Control Hazards Example any branch Solution: stall on branch | branch prediction | delayed branch

Data hazards and forwarding

Data hazards and instruction reordering