Chapter One Introduction to Pipelined Processors

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

Computer architecture
Superscalar processors Review. Dependence graph S1S2 Nodes: instructions Edges: ordered relations among the instructions Any ordering-based transformation.
CS5365 Pipelining. Divide task into a sequence of subtasks. Each subtask is executed by a stage (segment)of the pipe.
CSE Advanced Computer Architecture Week-4 Week of Feb 2, 2004 engr.smu.edu/~rewini/8383.
Chapter 3 Pipelining. 3.1 Pipeline Model n Terminology –task –subtask –stage –staging register n Total processing time for each task. –T pl =, where t.
Asynchronous Sequential Logic
Computing Machinery Chapter 5: Sequential Circuits.
Chapter 8. Pipelining. Instruction Hazards Overview Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline.
From Sequences of Dependent Instructions to Functions An Approach for Improving Performance without ILP or Speculation Ben Rudzyn.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Computer Organization Lecture Set – 06 Chapter 6 Huei-Yung Lin.
Computer Organization and Architecture Instruction-Level Parallelism and Superscalar Processors.
Circuit, State Diagram, State Table
Chapter One Introduction to Pipelined Processors.
Graphs of Functions Graphs of Functions In addition to level 3.0 and beyond what was taught in class, the student may: Make connection with other.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 January Session 3.
Anshul Kumar, CSE IITD CSL718 : Pipelined Processors  Types of Pipelines  Types of Hazards 16th Jan, 2006.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Speeding up of pipeline segments © Fr Dr Jaison Mulerikkal CMI.
Principles of Linear Pipelining
F 1 E 1 F 2 E 2 F 3 E 3 F 1 E 1 F 2 E 2 F 3 E 3 I 1 I 2 I 3 I 1 I 2 I 3 Instruction (a) Sequential execution (c) Pipelined execution Figure 8.1. Basic.
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 }
A High-Speed Hardware Implementation of the LILI-II Keystream Generator Paris Kitsos...in cooperation with Nicolas Sklavos and Odysseas Koufopavlou Digital.
Chapter One Introduction to Pipelined Processors
1 Kyung Hee University Chapter 6 Delivery Forwarding, and Routing of IP Packets.
GraphsTablesEquationsVocabularyFunctions.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February 2, 2006 Session 6.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 January Session 2.
Chapter One Introduction to Pipelined Processors
Principles of Linear Pipelining
Speedup Speedup is defined as Speedup = Time taken for a given computation by a non-pipelined functional unit Time taken for the same computation by a.
An Overview of Parallel Processing
EE3A1 Computer Hardware and Digital Design Lecture 9 Pipelining.
Chapter One Introduction to Pipelined Processors.
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
Shift Register Counters
Real-World Pipelines Idea Divide process into independent stages
Introduction to Project Management Chapter 7 Managing Project Resources Information Systems Project Management: A Process and Team Approach, 1e Fuller/Valacich/George.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
William Stallings Computer Organization and Architecture 8th Edition
Digital and Non-Linear Control
DESIGN OF SEQUENTIAL CIRCUITS
Pipeline Design Problems
Introduction to Pipelined Processors
Chapter One Introduction to Pipelined Processors
Chapter One Introduction to Pipelined Processors
Chapter One Introduction to Pipelined Processors
Chapter 11 Sequential Circuits.
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Morgan Kaufmann Publishers The Processor
Instruction Level Parallelism and Superscalar Processors
Array Processor.
Finite State Machines Experiment 4 Introduction
x-Value = The horizontal value in an ordered pair or input Function = A relation that assigns exactly one value in the range to each.
Chapter 6 – The Stability of Linear Feedback Systems
Overview Last lecture Digital hardware systems Today
National University of Laos
Pipelining: Basic Concepts
Quiz #2: Functions Wednesday, February 25.
COMPUTER ARCHITECTURES FOR PARALLEL ROCESSING
Objective- To use an equation to graph the
Appendix J Authors: John Hennessy & David Patterson.
Predicting Changes in Graphs
Objective- To graph a relationship in a table.
This module covers the following topics.
COMPUTER ORGANIZATION AND ARCHITECTURE
Problem ??: (?? marks) Consider executing the following code on the MIPS pipelined datapath: add $t5, $t6, $t8 add $t9, $t5, $t4 lw $t3, 100($t9) sub $t2,
Pipelining and Superscalar Techniques
Presentation transcript:

Chapter One Introduction to Pipelined Processors

Linear pipeline (Static & Unifunctional) In a linear pipeline data flows from one stage to another and all stages are used once in a computation and it is for one functional evaluation.

Nonlinear Pipeline

Non-linear pipeline In floating point adder, stage (2) and (4) needs a shift register. We can use the same shift register and then there will be only 3 stages. Then we should have a feedback from third stage to second stage. Further the same pipeline can be used to perform fixed point addition. A pipeline with feed-forward and/or feedback connections is called non-linear

Example: 3-stage nonlinear pipeline

3 stage non-linear pipeline Output A Input Output B Sa Sb Sc It has 3 stages Sa, Sb and Sc and latches. Multiplexers(cross circles) can take more than one input and pass one of the inputs to output Output of stages has been tapped and used for feedback and feed-forward.

3 stage non-linear pipeline The above pipeline can perform a variety of functions. Each functional evaluation can be represented by a particular sequence of usage of stages. Some examples are: Sa, Sb, Sc Sa, Sb, Sc, Sb, Sc, Sa Sa, Sc, Sb, Sa, Sb, Sc

Reservation Table Each functional evaluation can be represented using a diagram called Reservation Table(rt). It is the space-time diagram of a pipeline corresponding to one functional evaluation. X axis – time units Y axis – stages

Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called function A , we have   1 2 3 4 5 Sa A Sb Sc

Reservation Table For second sequence Sa, Sc, Sb, Sa, Sb, Sc called function B, we have   1 2 3 4 5 Sa B Sb Sc

3 stage non-linear pipeline Output A Output B Sa Sb Sc Input Reservation Table Time    1 2 3 4 5 Sa Sb Sc Stage 

Function A

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa A Sb Sc Stage 

Function B

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time    1 2 3 4 5 Sa B Sb Sc Stage 

Reservation Table After starting a function, the stages need to be reserved in corresponding time units. Each function supported by multifunction pipeline is represented by different RTs Time taken for function evaluation in units of clock period is compute time.(For A & B, it is 6)

Reservation Table Marking in same row => usage of stage more than once Marking in same column => more than one stage at a time

Multifunction pipelines Hardware of multifunction pipeline should be reconfigurable. Multifunction pipeline can be static or dynamic

Multifunction pipelines Static: Initially configured for one functional evaluation. For another function, pipeline need to be drained and reconfigured. You cannot have two inputs of different function at the same time

Multifunction pipelines Dynamic: Can do different functional evaluation at a time. It is difficult to control as we need to be sure that there is no conflict in usage of stages.