Chapter One Introduction to Pipelined Processors

Slides:



Advertisements
Similar presentations
State Machine Design Procedure
Advertisements

CS5365 Pipelining. Divide task into a sequence of subtasks. Each subtask is executed by a stage (segment)of the pipe.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
CSE Advanced Computer Architecture Week-4 Week of Feb 2, 2004 engr.smu.edu/~rewini/8383.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
Transportation Problem (TP) and Assignment Problem (AP)
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.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 6 Deadlocks Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All.
Linear Programming Applications
Sequencing Problem.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
C o n f i d e n t i a l HOME NEXT Subject Name: Data Structure Using C Unit Title: Graphs.
1 Chapter 5 Flow Lines Types Issues in Design and Operation Models of Asynchronous Lines –Infinite or Finite Buffers Models of Synchronous (Indexing) Lines.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
Digital Kommunikationselektronik TNE027 Lecture 2 1 FA x n –1 c n c n1- y n1– s n1– FA x 1 c 2 y 1 s 1 c 1 x 0 y 0 s 0 c 0 MSB positionLSB position Ripple-Carry.
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.
Speeding up of pipeline segments © Fr Dr Jaison Mulerikkal CMI.
Chapter One Introduction to Pipelined Processors.
Trees (Ch. 9.2) Longin Jan Latecki Temple University based on slides by Simon Langley and Shang-Hua Teng.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
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 }
Chapter One Introduction to Pipelined Processors
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February 2, 2006 Session 6.
Chapter One Introduction to Pipelined Processors
Principles of Linear Pipelining
Carnegie Mellon Lecture 8 Software Pipelining I. Introduction II. Problem Formulation III. Algorithm Reading: Chapter 10.5 – 10.6 M. LamCS243: Software.
Mjdah Al Shehri Hamdy A. Taha, Operations Research: An introduction, 8 th Edition Chapter 6: Network Models.
Genetic Algorithms.
Chapter #6: Sequential Logic Design
Computer Organization CS224
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Greedy Technique.
Sequential logic design principles
Computer Design Basics
CSC 4250 Computer Architectures
Sequential Circuit: Counter
Pipeline Design Problems
Introduction to Pipelined Processors
Morgan Kaufmann Publishers The Processor
Chapter One Introduction to Pipelined Processors
Chapter One Introduction to Pipelined Processors
S Digital Communication Systems
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.
Computer Network Performance Measures
Introduction to IT By: Muhammed s. anwar.
More Graph Algorithms.
Unit# 9: Computer Program Development
Subject Name: Information Theory Coding Subject Code: 10EC55
Congestion Control in Data Networks and Internets
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Greedy Algorithms TOPICS Greedy Strategy Activity Selection
Chapter 14 Graphs © 2006 Pearson Addison-Wesley. All rights reserved.
CSE 370 – Winter Sequential Logic-2 - 1
Computer Design Basics
Pipelining: Basic Concepts
Error Detection and Correction
Cyclic executives for Bare Hardware
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Lecture 18 Logistics Last Lecture Today HW6 due today Midterm 2
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
EGR 2131 Unit 12 Synchronous Sequential Circuits
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Finite State Machine Continued
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,
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Pipelining and Superscalar Techniques
Presentation transcript:

Chapter One Introduction to Pipelined Processors

Principle of Designing Pipeline Processors (Design Problems of Pipeline Processors)

Job Sequencing and Collision Prevention

Job Sequencing and Collision Prevention Consider reservation table given below at t=1   1 2 3 4 5 6 Sa A Sb Sc

Job Sequencing and Collision Prevention Consider next initiation made at t=2 The second initiation easily fits in the reservation table   1 2 3 4 5 6 7 8 Sa A1 A2 Sb Sc

Job Sequencing and Collision Prevention Now consider the case when first initiation is made at t = 1 and second at t = 3. Here both markings A1 and A3 falls in the same stage time units and is called collision and it must be avoided   1 2 3 4 5 6 7 8 Sa A1 A3 Sb A1A3 Sc

Terminologies

Terminologies Latency: Time difference between two initiations in units of clock period Forbidden Latency: Latencies resulting in collision Forbidden Latency Set: Set of all forbidden latencies

General Method of finding Latency Considering all initiations: Forbidden Latencies are 2 and 5   1 2 3 4 5 6 7 8 9 10 11 Sa A1 A2 A3 A4 A5 A6A1 A6 Sb A1A3 A2A4 A3A5 A4A6 Sc

Shortcut Method of finding Latency Forbidden Latency Set = {5} U {2} U {2} = { 2,5}

Terminologies Latency Sequence : Sequence of latencies between successive initiations For a RT, number of valid initiations and latencies are infinite

Terminologies Latency Cycle: Among the infinite possible latency sequence, the periodic ones are significant. E.g. { 1, 3, 3, 1, 3, 3,… } The subsequence that repeats itself is called latency cycle. E.g. {1, 3, 3}

Terminologies Period of cycle: The sum of latencies in a latency cycle (1+3+3=7) Average Latency: The average taken over its latency cycle (AL=7/3=2.33) To design a pipeline, we need a control strategy that maximize the throughput (no. of results per unit time) Maximizing throughput is minimizing AL

Terminologies Latency sequence which is aperiodic in nature is impossible to design Thus design problem is arriving at a latency cycle having minimal average latency.

State Diagram

Shortcut Method of finding Latency Forbidden Latency Set,F = {5} U {2} U {2} = { 2,5}

State Diagram The initial collision vector (ICV) is a binary vector formed from F such that C = (Cn…. C2 C1) where Ci = 1 if i  F and Ci = 0 if otherwise Thus in our example F = { 2,5 } C = (1 0 0 1 0)

State Diagram The procedure is as follows: Start with the ICV For each unprocessed state, For each bit i in the CVi which is 0, do the following: Shift CVi right by i bits Drop i rightmost bits

State Diagram Append zeros to left Logically OR with ICV If step(d) results in a new state then form a new node for this state and join it with node of CVi by an arc with a marking i. This shifting process needs to continue until no more new states can be generated.

State Diagram 1 0 0 1 0

State Diagram 1 0 0 1 0 ICV – 10010 OR CVi – 01001 CV* 11011 1 1 0 1 1

State Diagram 1 0 0 1 0 ICV – 10010 OR CVi – 00010 1 1 0 1 1 CV* 10010 3 i = 3 1 ICV – 10010 OR CVi – 00010 CV* 10010 1 1 0 1 1

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00001 3 i = 4 1 4 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00001 CV* 10011

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00000 5 1 0 0 1 0 3 i = 5 1 4 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00000 CV* 10010

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00010 5 1 0 0 1 0 3 4 3 1 1 1 0 1 1 1 0 0 1 1 i =3 ICV – 10010 OR CVi – 00010 CV* 10010

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00001 5 1 0 0 1 0 3 4 3 1 4 1 1 0 1 1 1 0 0 1 1 i =4 ICV – 10010 OR CVi – 00001 CV* 10011

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00011 5 1 0 0 1 0 3 4 3 1 4 1 1 0 1 1 1 0 0 1 1 3 i =3 ICV – 10010 OR CVi – 00011 CV* 10011

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00000 5+ 1 0 0 1 0 3 5+ 4 3 1 4 1 1 0 1 1 1 0 0 1 1 3 i = 5 ICV – 10010 OR CVi – 00000 CV* 10010

State Diagram 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 ICV – 10010 OR CVi – 00000 5+ 1 0 0 1 0 3 5+ 4 5+ 3 1 4 1 1 0 1 1 1 0 0 1 1 3 i = 5 ICV – 10010 OR CVi – 00000 CV* 10010

State Diagram The state with all zeros has a self-loop which corresponds to empty pipeline and it is possible to wait for indefinite number of latency cycles of the form (7),(8), (9),(10) etc. Simple Cycle: latency cycle in which each state is encountered only once. Complex Cycle: consists of more than one simple cycle in it. It is enough to look for simple cycles

State Diagram Greedy Cycle: A simple cycle is a greedy cycle if each latency contained in a cycle is the minimal latency(outgoing arc) from a state in the cycle. A good task initiation sequence should include the greedy cycle.

Simple cycles & Greedy cycles The Simple cycles are? The Greedy cycles are ?

Simple cycles & Greedy cycles The simple cycles are (3),(5) ,(1,3,3),(4,3) and (4) The Greedy cycle is (1,3,3)

State Diagram In the above example, the cycle that offers MAL is (1, 3, 3) (MAL = (1+3+3)/3 =2.333)

  1 2 3 4 5 6 7 8 9 10 11 12 13 Sa A1 A2 A5 A8 Sb Sc

UQ: Problem Consider the reservation table given below 1 2 3 4 5 6 7 8   1 2 3 4 5 6 7 8 9 S1 x S2 S3 S4 S5

Problem Find the forbidden set of latencies State the collision vector Draw the state transition diagram List simple cycles and greedy cycles Calculate MAL (minimum average latency)