Chapter One Introduction to Pipelined Processors

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

OMSE 510: Computing Foundations 4: The CPU!
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
Pipelining I Topics Pipelining principles Pipeline overheads Pipeline registers and stages Systems I.
Pipeline and Vector Processing (Chapter2 and Appendix A)
Chapter 8. Pipelining.
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.
Pipelining Hwanmo Sung CS147 Presentation Professor Sin-Min Lee.
EECS 318 CAD Computer Aided Design LECTURE 2: DSP Architectures Instructor: Francis G. Wolff Case Western Reserve University This presentation.
Goal: Describe Pipelining
Computer Architecture
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 1.
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Sep 9, 2002 Topic: Pipelining Basics.
1 Atanasoff–Berry Computer, built by Professor John Vincent Atanasoff and grad student Clifford Berry in the basement of the physics building at Iowa State.
CS 61C L30 Introduction to Pipelined Execution (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 17 - Pipelined.
Introduction to Pipelining Rabi Mahapatra Adapted from the lecture notes of Dr. John Kubiatowicz (UC Berkeley)
Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.
9.2 Pipelining Suppose we want to perform the combined multiply and add operations with a stream of numbers: A i * B i + C i for i =1,2,3,…,7.
CS1104: Computer Organisation School of Computing National University of Singapore.
Lecture 05: Pipelining Basics & Hazards Kai Bu
Integrated Circuits Costs
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,
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
Pipelining (I). Pipelining Example  Laundry Example  Four students have one load of clothes each to wash, dry, fold, and put away  Washer takes 30.
ECE 456 Computer Architecture Lecture #14 – CPU (III) Instruction Cycle & Pipelining Instructor: Dr. Honggang Wang Fall 2013.
Principles of Linear Pipelining. In pipelining, we divide a task into set of subtasks. The precedence relation of a set of subtasks {T 1, T 2,…, T k }
ECE 232 L18.Pipeline.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 18 Pipelining.

CSIE30300 Computer Architecture Unit 04: Basic MIPS Pipelining Hsin-Chou Chi [Adapted from material by and
Introduction  The speed of execution of program is influenced by many factors. i) One way is to build faster circuit technology to build the processor.
Pipelining Example Laundry Example: Three Stages
Chapter One Introduction to Pipelined Processors
Principles of Linear Pipelining
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
Chapter One Introduction to Pipelined Processors.
Chapter One Introduction to Pipelined Processors.
Lecture 4. Sequential Logic #3 Prof. Taeweon Suh Computer Science & Engineering Korea University COSE221, COMP211 Logic Design.
CPU (Central Processing Unit). The CPU is the brain of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where.
DICCD Class-08. Parallel processing A parallel processing system is able to perform concurrent data processing to achieve faster execution time The system.
Lecture 18: Pipelining I.
Pipelines An overview of pipelining
Review: Instruction Set Evolution
Performance of Single-cycle Design
CMSC 611: Advanced Computer Architecture
Pipeline Implementation (4.6)
ECE232: Hardware Organization and Design
Chapter 3: Pipelining 순천향대학교 컴퓨터학부 이 상 정 Adapted from
Introduction to Parallel Processing
Chapter 4 The Processor Part 2
Pipelining and Vector Processing
Chapter 8. Pipelining.
Lecturer: Alan Christopher
Serial versus Pipelined Execution
Systems I Pipelining I Topics Pipelining principles Pipeline overheads
Overview Parallel Processing Pipelining
Pipelining Chapter 6.
An Introduction to pipelining
Chapter 8. Pipelining.
8086 processor.
Pipelining Appendix A and Chapter 3.
A relevant question Assuming you’ve got: One washer (takes 30 minutes)
Pipelining.
Presentation transcript:

Chapter One Introduction to Pipelined Processors

Pipelining It is a technique of decomposing a sequential process into sub-operations which can be executed in a special dedicated segment that operates concurrently with all other segments It improves processor performance by overlapping the execution of multiple instructions

Example

Pipelining: Its Natural! Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes 20 minutes A B C D

Sequential Laundry Sequential laundry takes 6 hours for 4 loads 6 PM 7 8 9 10 11 Midnight Time 30 40 20 30 40 20 30 40 20 30 40 20 T a s k O r d e A B C D Sequential laundry takes 6 hours for 4 loads If they knew pipelining, how fast their laundry would be?

Pipelined Laundry starts work ASAP 6 PM 7 8 9 10 11 Midnight Time 30 40 20 T a s k O r d e A B C D Pipelined laundry takes 3.5 hours for 4 loads

Observations on Pipeline Processing It works well if time taken by each stage is nearly the same If this time is T seconds, then the pipeline produces output at every T seconds If time taken by each stage varies, then the slower stage becomes a bottleneck in the progress

Pipelined Laundry Suppose each stage takes 30 minutes 6 PM 7 8 9 PM Suppose each stage takes 30 minutes Time to wash, dry, and fold one load is still the same (90 minutes) Then the work will get over in 3 hours C 30 A 30 B 30 Time D 30 30 30

Pipelined Laundry Here 40 minutes takes over the pipeline cycle 6 PM 7 8 9 10 11 Midnight Time 30 40 20 T a s k O r d e A B C D Here 40 minutes takes over the pipeline cycle

Pipelining in 8086 ?

Example for pipeline in computer Consider that the process of execution of an instruction involves four major steps: Instruction Fetch (IF): from main memory Instruction Decoding (ID): which identifies the operation to be performed Operand Fetch(OF): if needed in execution Execution(EX): of the decoded arithmetic/logic operation

Example for pipeline in computer In a non-pipelined computer, these four steps must be completed before the next instruction can be issued

Example for pipeline in computer In a pipelined computer, successive stages are executed in an overlapped fashion

Example for pipeline in computer Theoretically a k-stage linear pipeline could be k-times faster. But this ideal speedup cannot be achieved due to factors like : Data dependency Branch and Interrupts

Principles of Linear Pipelining

Principles of Linear Pipelining In pipelining, we divide a task into set of subtasks. The precedence relation of a set of subtasks {T1, T2,…, Tk} for a given task T implies that the task Tj cannot start until some earlier task Ti finishes. The interdependencies of all subtasks form the precedence graph.

Principles of Linear Pipelining With a linear precedence relation, task Tj cannot start until earlier subtasks { Ti} for all (i < j) finish. A linear pipeline can process subtasks with a linear precedence graph.

Basic Linear Pipeline L: latches, interface between different stages of pipeline S1, S2, etc. : pipeline stages

Basic Linear Pipeline It consists of cascade of processing stages. Stages : Pure combinational circuits performing arithmetic or logic operations over the data flowing through the pipe. Stages are separated by high speed interface latches. Latches : Fast Registers holding intermediate results between stages Information Flow are under the control of common clock applied to all latches

Basic Linear Pipeline L: latches, interface between different stages of pipeline S1, S2, etc. : pipeline stages

Basic Linear Pipeline The flow of data in a linear pipeline having four stages for the evaluation of a function on five inputs is as shown below:

Basic Linear Pipeline The vertical axis represents four stages The horizontal axis represents time in units of clock period of the pipeline.