Resources. Introduction: Binding. Resource Types. Resource Sharing. The type of a resource denotes its ability to perform different operations

Similar documents
Nondeterminism and Nodeterministic Automata

6.004 Computation Structures Spring 2009

expression simply by forming an OR of the ANDs of all input variables for which the output is

2.4 Linear Inequalities and Interval Notation

Regular expressions, Finite Automata, transition graphs are all the same!!

Section 6.1 Definite Integral

Suppose we want to find the area under the parabola and above the x axis, between the lines x = 2 and x = -2.

378 Relations Solutions for Chapter 16. Section 16.1 Exercises. 3. Let A = {0,1,2,3,4,5}. Write out the relation R that expresses on A.

Section 6: Area, Volume, and Average Value

Finite Automata-cont d

Parse trees, ambiguity, and Chomsky normal form

Convert the NFA into DFA

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata

Coalgebra, Lecture 15: Equations for Deterministic Automata

Definite Integrals. The area under a curve can be approximated by adding up the areas of rectangles = 1 1 +

8. Complex Numbers. We can combine the real numbers with this new imaginary number to form the complex numbers.

u( t) + K 2 ( ) = 1 t > 0 Analyzing Damped Oscillations Problem (Meador, example 2-18, pp 44-48): Determine the equation of the following graph.

Improper Integrals. The First Fundamental Theorem of Calculus, as we ve discussed in class, goes as follows:

set is not closed under matrix [ multiplication, ] and does not form a group.

CS 188: Artificial Intelligence Spring 2007

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true.

September 13 Homework Solutions

Homework 3 Solutions

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014

Bases for Vector Spaces

Vectors , (0,0). 5. A vector is commonly denoted by putting an arrow above its symbol, as in the picture above. Here are some 3-dimensional vectors:

Lexical Analysis Finite Automate

I1 = I2 I1 = I2 + I3 I1 + I2 = I3 + I4 I 3

Designing finite automata II

Connected-components. Summary of lecture 9. Algorithms and Data Structures Disjoint sets. Example: connected components in graphs

Lecture 3. In this lecture, we will discuss algorithms for solving systems of linear equations.

1 Nondeterministic Finite Automata

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4

Lecture 3: Equivalence Relations

CM10196 Topic 4: Functions and Relations

Chapter 9 Definite Integrals

Matrix Algebra. Matrix Addition, Scalar Multiplication and Transposition. Linear Algebra I 24

CS 275 Automata and Formal Language Theory

CSCI 340: Computational Models. Transition Graphs. Department of Computer Science

Special Relativity solved examples using an Electrical Analog Circuit

10. AREAS BETWEEN CURVES

UNIT 5 QUADRATIC FUNCTIONS Lesson 3: Creating Quadratic Equations in Two or More Variables Instruction

Formal languages, automata, and theory of computation

First Midterm Examination

Chapter 2 Finite Automata

Interpreting Integrals and the Fundamental Theorem

1 PYTHAGORAS THEOREM 1. Given a right angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides.

4.4 Areas, Integrals and Antiderivatives

The Minimum Label Spanning Tree Problem: Illustrating the Utility of Genetic Algorithms

ECE 327 Solution to Midterm 2016t1 (Winter)

p-adic Egyptian Fractions

List all of the possible rational roots of each equation. Then find all solutions (both real and imaginary) of the equation. 1.

Things to Memorize: A Partial List. January 27, 2017

Surface maps into free groups

EECS 141 Due 04/19/02, 5pm, in 558 Cory

332:221 Principles of Electrical Engineering I Fall Hourly Exam 2 November 6, 2006

Compiler Design. Fall Lexical Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz

EE273 Lecture 15 Asynchronous Design November 16, Today s Assignment

Analytically, vectors will be represented by lowercase bold-face Latin letters, e.g. a, r, q.

Overview of Today s Lecture:

First Midterm Examination

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

MA123, Chapter 10: Formulas for integrals: integrals, antiderivatives, and the Fundamental Theorem of Calculus (pp.

Bridging the gap: GCSE AS Level

STRAND J: TRANSFORMATIONS, VECTORS and MATRICES

Chapters Five Notes SN AA U1C5

CS S-12 Turing Machine Modifications 1. When we added a stack to NFA to get a PDA, we increased computational power

New data structures to reduce data size and search time

Regular Language. Nonregular Languages The Pumping Lemma. The pumping lemma. Regular Language. The pumping lemma. Infinitely long words 3/17/15

Designing Information Devices and Systems I Spring 2018 Homework 7

ECE223. R eouven Elbaz Office room: DC3576

Designing Information Devices and Systems I Fall 2016 Babak Ayazifar, Vladimir Stojanovic Homework 6. This homework is due October 11, 2016, at Noon.

Lecture Solution of a System of Linear Equation

The Regulated and Riemann Integrals

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1

3 Regular expressions

AUTOMATA AND LANGUAGES. Definition 1.5: Finite Automaton

1 From NFA to regular expression

BİL 354 Veritabanı Sistemleri. Relational Algebra (İlişkisel Cebir)

7.1 Integral as Net Change and 7.2 Areas in the Plane Calculus

The graphs of Rational Functions

Topics Covered AP Calculus AB

13.3 CLASSICAL STRAIGHTEDGE AND COMPASS CONSTRUCTIONS

MTH 505: Number Theory Spring 2017

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2016

Lecture 08: Feb. 08, 2019

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science

M A T H F A L L CORRECTION. Algebra I 2 1 / 0 9 / U N I V E R S I T Y O F T O R O N T O

Time in Seconds Speed in ft/sec (a) Sketch a possible graph for this function.

The Trapezoidal Rule

Math 4310 Solutions to homework 1 Due 9/1/16

CS683: calculating the effective resistances

CS 188 Introduction to Artificial Intelligence Fall 2018 Note 7

Lecture 2: January 27

Lecture 2e Orthogonal Complement (pages )

Riemann Sums and Riemann Integrals

Review of Gaussian Quadrature method

5.1 How do we Measure Distance Traveled given Velocity? Student Notes

Designing Information Devices and Systems I Discussion 8B

Assignment 1 Automata, Languages, and Computability. 1 Finite State Automata and Regular Languages

Transcription:

Introduction: Binding Prt of 4-lecture introduction Scheduling Resource inding Are nd performnce estimtion Control unit synthesis This lecture covers Resources nd resource types Resource shring nd inding Grph models of resource inding Conflict grphs Templtes for rchitecturl synthesis A complete worked prolem 1/1/006 Lecture gc1 1 Resources We refer to piece of hrdwre tht cn perform specific function s resource e.g. 16x16-it multiplier, PCI interfce An opertion could e performed on one of severl resources e.g. multipliction could e performed on one of two physiclly distinct multipliers e.g. n ddition could e performed y specil-purpose dder, or n ALU. We re distinguishing here etween the opertion, nd the resource tht will execute tht opertion 1/1/006 Lecture gc1 Resource Types The type of resource denotes its ility to perform different opertions A multiplier cn do multiplictions An dder cn do dditions An ALU cn do comprisons nd dditions The resource type set R consists of ll the different resource types we hve ville R = {multiplier, dder, ALU} 1/1/006 Lecture gc1 3 Resource Shring Just ecuse we hve n dditions in n lgorithm, we don t need n dders In trditionl sequentil processors, we use just single dder to do ll the dditions in our progrm This is possile ecuse we hve scheduled them n dder is only used for one ddition t one time Using the sme resource to perform severl different opertions is resource shring Advntge: cn sve re nd pek power. Disdvntge: cn mke things slower nd use more energy. 1/1/006 Lecture gc1 4

Resource Shring Consider the code elow nd its scheduled DFG = + ; c = + 7; + + We could use two dders or one shred dder + D + 7 7 + D /c c One fewer dder ut more MUXs, possily worse mx clock rte Need to generte select signls 1/1/006 Lecture gc1 5 Resource Binding Resource inding is the process of deciding which resource should perform which opertion Crtesin product denotes the Crtesin product of two sets A B = { (,) A, B } e.g. {,} {1,} = {(,1),(,),(,1),(,)} A resource inding is function Y: V R N 1/1/006 Lecture gc1 6 Resource Binding Revisiting our exmple v1 v (+,1) D (+,) c Y(v1) = (+,1) 7 Y(v) = (+,) Binding Grphs A hypergrph extends the notion of grph y llowing edges to e incident to ny numer of nodes We cn represent ound CDFG or DFG y hypergrph G (V,E E B ) 7 (+,1) D /c Y(v1) = (+,1) Y(v) = (+,1) v1 v v1 v E = { (v1,v) } E B = { {v1}, {v} } E = { (v1,v) } E B = { {v1,v} } 1/1/006 Lecture gc1 7 1/1/006 Lecture gc1 8

Conflict Grphs Sometimes we must ind opertions to different resources e.g. if they execute t the sme time Such informtion cn e represented using conflict grphs These hve the sme nodes s the corresponding DFG or CDFG. An edge corresponds to conflict two nodes connected y n edge cnnot e ound to the sme resource 1/1/006 Lecture gc1 9 Our exmple from Lecture 1 Conflict Grphs v1 v v3 v4 + v5 v10 v1 v3 v6 v7 + v8 < v9 - - v v4 v11 v6 Cycle 1 Cycle Cycle 3 Cycle 4 1/1/006 Lecture gc1 10 v7 Multiplier Conflict Grph Conflict Grphs In this exmple, the structure of the conflict grph is very simple two disjoint sets of nodes, ech one fully connected within itself This is ecuse ll opertions took single cycle with multicycle opertions, conflict grphs ecome more interesting nd importnt ( lter lecture ) Architecturl Templtes Once we hve schedule S nd resource inding Y, we know ll we need to construct our circuit In order to do this, the synthesis tool needs to hve templte in mind We will e working with register us-sed rchitectures: in one clock cycle vlues re red from registers, pss through multiplexers, nd get steered to the right resource the opertions re performed the results re written ck into the registers 1/1/006 Lecture gc1 11 1/1/006 Lecture gc1 1

Architecturl Templtes register is enled when it should e written to in tht clock cycle the select-lines decide which register to send to ech resource some resources my require dditionl control Worked Prolem Consider the following code: = i+j; = + j; c = ; d = ; () construct CDFG for the code () schedule the grph so tht ech opertion strts s soon s it cn, ssuming ech multipliction tkes two cycles nd ech ddition tkes one cycle (c) if you hve the resource type set R = {dder, multiplier}, construct resource inding for this exmple (d) drw the completed dt-pth (e) suggest wy you could sve re 1/1/006 Lecture gc1 13 1/1/006 Lecture gc1 14 Worked Prolem (-c) v v3 t1 + v4 # + # v1 v5 Cycle: 1-3 4 5-6 Y(v1) = (dder,1) Y(v) = (multiplier,1) Y(v3) = (dder,1) Y(v4) = (multiplier,1) Y(v5) = (multiplier,) j Worked Prolem (d) i c d t1 (dder,1) (multiplier,1) (multiplier,) from control unit 1/1/006 Lecture gc1 15 1/1/006 Lecture gc1 16

Worked Prolem (e) Are could e sved y scheduling v5 in cycles 4-5, nd v4 in 6-7, t the penlty of one clock cycle (ctully if we pipelined one of the multipliers, we wouldn t hve to py ny penlty ) Summry This lecture hs covered Resources nd resource types Resource shring nd inding Grph models of resource inding Conflict grphs Templtes for rchitecturl synthesis A complete worked prolem Lter in the course, we will e exmining lgorithms to perform utomtic inding 1/1/006 Lecture gc1 17 1/1/006 Lecture gc1 18 Suggested Prolems De Micheli, Prolems 4.11, Q5 (ssume ll dditions tke one cycle) () For the inding hypergrph shown in De Micheli, Fig. 4.5, construct dtpth design (you my lel your registers in ny wy) () 1/1/006 Lecture gc1 19