ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization

Size: px
Start display at page:

Download "ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization"

Transcription

1 ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36

2 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving Pipelining Concurrency Component lloction Opertor binding Opertor scheduling Moore vs. Mely high-level stte mchines 2

3 Pipelining Intuitive exmple: Wshing dishes with friend, you wsh, friend dries You wsh plte 1 Then friend dries plte 1, while you wsh plte 2 Then friend dries plte 2, while you wsh plte 3; nd so on You don t sit nd wtch friend dry; you strt on the next plte Pipelining: Brek tsk into stges, ech stge outputs dt for next stge, ll stges operte concurrently (if they hve dt) Without pipelining: W1 D1 W2 D2 W3 D3 With pipelining: W1 W2 W3 D1 D2 D3 Time Stge 1 Stge 2 3

4 Pipelining Exmple W X Y Z W X Y Z clk + + 2ns + 2ns 2ns Longest pth is 2+2 = 4 ns So minimum clock period is 4ns Stge 1 Stge 2 clk + + 2ns + 2ns 2ns Longest pth is only 2 ns pipeline registers So minimum clock period is 2ns S clk S clk S S(0) S(1) S = W+X+Y+Z Dtpth on left hs criticl pth of 4 ns, so fstest clock period is 4 ns Cn red new dt, dd, nd write result to S, every 4 ns Dtpth on right hs criticl pth of only 2 ns So cn red new dt every 2 ns doubled performnce (sort of...) S S(0) S(1) 4

5 Pipelining Exmple W X Y Z W X Y Z clk Longest pth is 2+2 = 4 ns So mininum clock period is 4 ns clk Longest pth is only 2 ns pipeline registers So mininum clock period is 2 ns S clk S clk S S(0) S(1) S S(0) S(1) ( ) ( b ) Pipelining requires refined definition of performnce Ltency: Time for new dt to result in new output dt (seconds) Throughput: Rte t which new dt cn be input (items / second) So pipelining bove system: Doubled the throughput, from 1 item / 4 ns, to 1 item / 2 ns Ltency styed the sme: 4 ns 5

6 Pipeline Exmple: FIR Dtpth 100-tp FIR filter: Row of 100 concurrent multipliers, followed by tree of dders X xt registers Assume 20 ns per multiplier 14 ns for entire dder tree Criticl pth of = 34 ns Add pipeline registers Longest pth now only 20 ns Clock frequency cn be nerly doubled Gret speedup with miniml extr hrdwre Stge 2 Stge 1 20 ns 14 ns pipeline registers multipliers x x dder tree yreg Y 6

7 Concurrency Concurrency: Divide tsk into subprts, execute subprts simultneously Dishwshing exmple: Divide stck into 3 substcks, give substcks to 3 neighbors, who work simultneously 3 times speedup (ignoring time to move dishes to neighbors' homes) Concurrency does things side-byside; pipelining insted uses stges (like fctory line) Alredy used concurrency in FIR filter concurrent multiplictions Tsk Pipelining Concurrency Cn do both, too * * * 7

8 Concurrency Exmple: SAD Design Revisited Sum-of-bsolute differences video compression exmple (Ch 5) Compute sum of bsolute differences (SAD) of 256 pirs of pixels Originl : Min loop did 1 sum per itertion, 256 itertions, 2 cycles per iter. go AB_rd AB_ddr A_dt B_dt i_lt_256' S0 go S1 S2 S4 go ʹ sum_clr=1 i_clr=1 i_lt_256 AB_rd=1 " S3 sum_ld=1" i_inc=1 sd_reg_ld=1 Controller i_lt_256 i_inc i_clr sum_ld sum_clr sdreg_ld sdreg_clr Dtpth 256 iters.*2 cycles/iter. = 512 cycles lt A cmp B 256 sum 32 sdreg 32 9 A i bs sd -/bs/+ done in 1 cycle, but done 256 times B

9 Concurrency Exmple: SAD Design Revisited More concurrent design Compute SAD for 16 pirs concurrently, do 16 times to compute ll 16*16=256 SADs. Min loop does 16 sums per itertion, only 16 iters., still 2 cycles per iter. Orig: 256*2 = 512 cycles New: 16*2 = 32 cycles i_lt_16' S0 go S1 S2 i_lt_16 AB_ r d=1 sum_ld=1 i_inc=1 S4!go sum_clr=1 i_clr=1 go AB_ r d sd_ r eg_ld=1 C o n t r oller i_lt_16 i_inc i_clr sum_ld sum_clr D tp th <16 sd_ r eg_ld AB_ddr i sum sd_ r eg sd A0 B0 A1 B1 A14 B14 A15 B15 bs bs bs bs All -/bs/+ s shown done in 1 cycle, but done only 16 times 16 subtrctors 16 bsolute vlues Adder tree to sum 16 vlues 9

10 Concurrency Exmple: SAD Design Revisited Compring the two designs Originl: 256 itertions * 2 cycles/iter = 512 cycles More concurrent: 16 itertions * 2 cycles/iter = 32 cycles Speedup: 512/32 = 16x speedup Versus softwre Recll: Estimted bout 6 microprocessor cycles per itertion 256 itertions * 6 cycles per itertion = 1536 cycles Originl design speedup vs. softwre: 1536 / 512 = 3x (ssuming cycle lengths re equl) Concurrent design s speedup vs. softwre: 1536 / 32 = 48x 48x is very significnt qulity of video my be much better 10

11 Component Alloction Another RTL trdeoff: Component lloction Choosing prticulr set of functionl units to implement set of opertions e.g., given two sttes, ech with multipliction Cn use 2 multipliers (*) OR, cn insted use 1 multiplier, nd 2 muxes Smller size, but slightly longer dely due to the mux dely A B t1 := t2*t3 t4 := t5*t6 FSM-A: (t1ld=1) B: (t4ld=1) t2 t3 t5 t6 A: (sl=0; sr=0; t1ld=1) B: (sl=1; sr=1; t4ld=1) sl t2 t5 t3 t sr size 2 mul 1 mul * * * t1 () t4 t1 (b) t4 dely (c) 11

12 Opertor Binding Another RTL trdeoff: Opertor binding Mpping set of opertions to prticulr component lloction Note: opertor/opertion men behvior (multipliction, ddition), while component (k functionl unit) mens hrdwre (multiplier, dder) Different bindings my yield different size or dely A B C A B C t1 = t2 * t3 t4 = t5 * t6 t7 = t8 * t3 t1 = t2 * t3 t4 = t5 * t6 t7 = t8 * t3 t2 t3 t5 t8 t6 t3 sl 2x1 2x1 sr 2 muxes vs. 1 mux t2 t8 sl 2x1 t3 t5 t6 size Binding 1 Binding 2 2 multipliers llocted MULA MULB MULA MULB del y t1 t4 t7 Binding 1 Binding 2 t1 t7 t4 12

13 Opertor Scheduling Yet nother RTL trdeoff: Opertor scheduling Introducing or merging sttes, nd ssigning opertions to those sttes. A (some opertions) B t1 = t2*t3 t4 = t5*t6 C (some opertions) A B B2 C (some t1 = t2 * t3 opertions) t4 = t5 * t6 * t4 = t5 t6 (some opertions) t2 * t1 t3 t5 * t4 t6 size 3-stte schedule 4-stte schedule sl smller (only 1 *) t2 t5 2x1 t1 * t3 t6 2x1 sr t4 but more dely due to muxes, nd extr stte dely 13

14 Opertor Scheduling Exmple: Smller FIR Filter 3-tp FIR filter of Ch 5: Two sttes DP computes new Y every cycle Used 3 multipliers nd 2 dders; cn we reduce the design s size? Inputs: X (12 bits) Outputs: Y (12 bits) Locl storge: xt0, xt1, xt2, c0, c1, c2 (12 bits); Yreg (12 bits) Init FC y(t) = c0*x(t) + c1*x(t-1) + c2*x(t-2) FIR filter Yreg := 0 xt0 := 0 xt1 := 0 xt2 := 0 c0 := 3 c1 := 2 c2 := 2 Yreg := c0*xt0 + c1*xt1 + c2*xt2 xt0 := X xt1 := xt0 xt2 := xt1 X xt0_clr xt0_ld c0_ld c1_ld c2_ld c0 c1 c xt0 xt1 xt2 clk x(t) x(t-1) * * x(t-2) * Dtpth for 3-tp FIR filter + + Yreg_clr Yreg_ld Yreg 12 Y 14

15 Opertor Scheduling Exmple: Smller FIR Filter Reduce the design s size by re-scheduling the opertions Do only one multipliction opertion per stte Inputs : X (12 bits) Outputs : Y (12 bits) Locl storge : xt0, xt1, xt2, c0, c1, c2 (12 bits); Yreg (12 bits) S1 ( ) Yreg := c0*xt0 + c1*xt1 + c2*xt2 xt0 := X xt1 := xt0 xt2 := xt1 Inputs : X (12 bits) Outputs : Y (12 bits) Locl storge : xt0, xt1, xt2, c0, c1, c2 (12 bits); Yreg, sum (12 bits) S1 S2 sum := 0 xt0 := X xt1 := xt0 xt2 := xt1 sum := sum + c0 * xt0 S3 sum := sum + c1 * xt1 S4 sum := sum + c2 * xt2 y(t) = c0*x(t) + c1*x(t-1) + c2*x(t-2) S5 Yreg := sum ( b ) 15

16 Opertor Scheduling Exmple: Smller FIR Filter Reduce the design s size by re-scheduling the opertions Do only one multipliction (*) opertion per stte, long with sum (+) Inputs : X (12 bits) Outputs : Y (12 bits) Locl storge : xt0, xt1, xt2, c0, c1, c2 (12 bits); Yreg, sum (12 bits) S1 S2 S3 S4 S5 sum := 0 xt0 := X xt1 := xt0 xt2 := xt1 sum := sum + c0*xt0 sum := sum + c1*xt1 sum := sum + c2*xt2 Yreg := sum X clk mul_s1 mul_s0 sum_clr sum_ld c0 c1 xt0 xt1 xt2 3x1 MAC * + sum 3x1 yreg c2 Y Multiplyccumulte: common dtpth component Serilized dtpth for 3-tp FIR filter 16

17 Opertor Scheduling Exmple: Smller FIR Filter Mny other options exist between fully-concurrent nd fully-serilized e.g., for 3-tp FIR, cn use 1, 2, or 3 multipliers Cn lso choose fst rry-style multipliers (which re concurrent internlly) or slower shift-nddd multipliers (which re serilized internlly) Ech options represents compromises size concurrent FIR dely compromises seril FIR 17

18 More on Optimiztions nd Trdeoffs Seril vs. concurrent computtion hs been common trdeoff theme t ll levels of design Seril: Perform tsks one t time Concurrent: Perform multiple tsks simultneously Combintionl logic trdeoffs Concurrent: Two-level logic (fst but big) Seril: Multi-level logic (smller but slower) bc + bd + ef à (b)(c+d) + ef essentilly computes b first (serilized) Dtpth component trdeoffs Seril: Crry-ripple dder (smll but slow) Concurrent: Crry-lookhed dder (fster but bigger) Computes the crry-in bits concurrently Also multiplier: concurrent (rry-style) vs. seril (shift-nd-dd) RTL design trdeoffs Concurrent: Schedule multiple opertions in one stte Seril: Schedule one opertion per stte

19 Higher vs. Lower Levels of Design Optimiztions nd trdeoffs t higher levels typiclly hve greter impct thn those t lower levels Ex: RTL decisions impct size/dely more thn gte-level decisions Spotlight nlogy: The lower you re, the less solution lndscpe is illuminted (mening possible) high-level chnges size dely lnd ( ) ( b ) 19

20 Algorithm Selection Chosen lgorithm cn hve big impct e.g., which filtering lgorithm? FIR is one type, but others require less computtion t expense of lower-qulity filtering Exmple: Quickly find item s ddress in 256-word memory One use: dt compression. Mny others. Algorithm 1: Liner serch Compre item with M[0], then M[1], M[2], comprisons worst cse Algorithm 2: Binry serch (sort memory first) Strt considering entire memory rnge If M[mid]>item, consider lower hlf of M If M[mid]<item, consider upper hlf of M Repet on new smller rnge Dividing rnge by 2 ech step; t most 8 such divisions Only 8 comprisons in worst cse Choice of lgorithm hs tremendous impct Fr more impct thn sy choice of comprtor type 0: 1: 2: 3: 96: 128: 255: Liner serch 0x x x F 0x000000FF 0x00000F0A 0x0000FFAA 0xFFFF x32 memory Binry serch 20

Register Transfer Level (RTL) Design

Register Transfer Level (RTL) Design CSE4: Components nd Design Techniques for Digitl Systems Register Trnsfer Level (RTL) Design Tjn Simunic Rosing Where we re now Wht we hve covered lst time: Register Trnsfer Level (RTL) design Wht we re

More information

ECEN 468 Advanced Digital System Design

ECEN 468 Advanced Digital System Design ECEN 468 Advnced Digitl ystem Design Lecture 7: RTL Design Copyright 2 Instructor: J. Hu High-Level tte Mchines (HLMs) 5.2 ome behviors too complex for equtions, truth tbles, or FMs Ex: od dispenser c:

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers?

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers? Questions About Numbers Number Systems nd Arithmetic or Computers go to elementry school How do you represent negtive numbers? frctions? relly lrge numbers? relly smll numbers? How do you do rithmetic?

More information

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

More information

Parallel Square and Cube Computations

Parallel Square and Cube Computations Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter Computer Arithmetic Logicl, Integer Addition & Sutrction Chpter 3.-3.3 3.3 EEC7 FQ 25 MIPS Integer Representtion -it signed integers,, e.g., for numeric opertions 2 s s complement: one representtion for

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012 Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

The Distributed Data Access Schemes in Lambda Grid Networks

The Distributed Data Access Schemes in Lambda Grid Networks The Distributed Dt Access Schemes in Lmbd Grid Networks Ryot Usui, Hiroyuki Miygi, Yutk Arkw, Storu Okmoto, nd Noki Ymnk Grdute School of Science for Open nd Environmentl Systems, Keio University, Jpn

More information

Digital Design. Chapter 1: Introduction. Digital Design. Copyright 2006 Frank Vahid

Digital Design. Chapter 1: Introduction. Digital Design. Copyright 2006 Frank Vahid Chpter : Introduction Copyright 6 Why Study?. Look under the hood of computers Solid understnding --> confidence, insight, even better progrmmer when wre of hrdwre resource issues Electronic devices becoming

More information

Digital Design. Chapter 6: Optimizations and Tradeoffs

Digital Design. Chapter 6: Optimizations and Tradeoffs Digitl Design Chpter 6: Optimiztions nd Trdeoffs Slides to ccompny the tetbook Digitl Design, with RTL Design, VHDL, nd Verilog, 2nd Edition, by Frnk Vhid, John Wiley nd Sons Publishers, 2. http://www.ddvhid.com

More information

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric

More information

EECS 281: Homework #4 Due: Thursday, October 7, 2004

EECS 281: Homework #4 Due: Thursday, October 7, 2004 EECS 28: Homework #4 Due: Thursdy, October 7, 24 Nme: Emil:. Convert the 24-bit number x44243 to mime bse64: QUJD First, set is to brek 8-bit blocks into 6-bit blocks, nd then convert: x44243 b b 6 2 9

More information

Caches I. CSE 351 Autumn Instructor: Justin Hsia

Caches I. CSE 351 Autumn Instructor: Justin Hsia L01: Intro, L01: L16: Combintionl Introduction Cches I Logic CSE369, CSE351, Autumn 2016 Cches I CSE 351 Autumn 2016 Instructor: Justin Hsi Teching Assistnts: Chris M Hunter Zhn John Kltenbch Kevin Bi

More information

MATH 25 CLASS 5 NOTES, SEP

MATH 25 CLASS 5 NOTES, SEP MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid

More information

CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN SPRING 2014

CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN SPRING 2014 CS DIGITAL LOGIC & STATE MACHINE DESIGN SPRING DUE : April 7, HOMEWOR V READ : Relted portions of Chpters III, IV, VI, VII nd VIII ASSIGNMENT : There re seven questions Solve ll homework nd exm problems

More information

LING/C SC/PSYC 438/538. Lecture 21 Sandiway Fong

LING/C SC/PSYC 438/538. Lecture 21 Sandiway Fong LING/C SC/PSYC 438/538 Lecture 21 Sndiwy Fong Tody's Topics Homework 8 Review Optionl Homework 9 (mke up on Homework 7) Homework 8 Review Question1: write Prolog regulr grmmr for the following lnguge:

More information

Caches I. CSE 351 Spring Instructor: Ruth Anderson

Caches I. CSE 351 Spring Instructor: Ruth Anderson L16: Cches I Cches I CSE 351 Spring 2017 Instructor: Ruth Anderson Teching Assistnts: Dyln Johnson Kevin Bi Linxing Preston Jing Cody Ohlsen Yufng Sun Joshu Curtis L16: Cches I Administrivi Homework 3,

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved. Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized

More information

Basics of Logic Design Arithmetic Logic Unit (ALU)

Basics of Logic Design Arithmetic Logic Unit (ALU) Bsics of Logic Design Arithmetic Logic Unit (ALU) CPS 4 Lecture 9 Tody s Lecture Homework #3 Assigned Due Mrch 3 Project Groups ssigned & posted to lckord. Project Specifiction is on We Due April 9 Building

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

Unit 5 Vocabulary. A function is a special relationship where each input has a single output.

Unit 5 Vocabulary. A function is a special relationship where each input has a single output. MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with

More information

Data sharing in OpenMP

Data sharing in OpenMP Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning

More information

ECE 468/573 Midterm 1 September 28, 2012

ECE 468/573 Midterm 1 September 28, 2012 ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv Compression Outline 15-853:Algorithms in the Rel World Dt Compression III Introduction: Lossy vs. Lossless, Benchmrks, Informtion Theory: Entropy, etc. Proility Coding: Huffmn + Arithmetic Coding Applictions

More information

INTRODUCTION TO SIMPLICIAL COMPLEXES

INTRODUCTION TO SIMPLICIAL COMPLEXES INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min

More information

UT1553B BCRT True Dual-port Memory Interface

UT1553B BCRT True Dual-port Memory Interface UTMC APPICATION NOTE UT553B BCRT True Dul-port Memory Interfce INTRODUCTION The UTMC UT553B BCRT is monolithic CMOS integrted circuit tht provides comprehensive MI-STD- 553B Bus Controller nd Remote Terminl

More information

Example: 2:1 Multiplexer

Example: 2:1 Multiplexer Exmple: 2:1 Multiplexer Exmple #1 reg ; lwys @( or or s) egin if (s == 1') egin = ; else egin = ; 1 s B. Bs 114 Exmple: 2:1 Multiplexer Exmple #2 Normlly lwys include egin nd sttements even though they

More information

Introduction to Computer Engineering EECS 203 dickrp/eecs203/ CMOS transmission gate (TG) TG example

Introduction to Computer Engineering EECS 203  dickrp/eecs203/ CMOS transmission gate (TG) TG example Introduction to Computer Engineering EECS 23 http://ziyng.eecs.northwestern.edu/ dickrp/eecs23/ CMOS trnsmission gte TG Instructor: Robert Dick Office: L477 Tech Emil: dickrp@northwestern.edu Phone: 847

More information

5 Regular 4-Sided Composition

5 Regular 4-Sided Composition Xilinx-Lv User Guide 5 Regulr 4-Sided Composition This tutoril shows how regulr circuits with 4-sided elements cn be described in Lv. The type of regulr circuits tht re discussed in this tutoril re those

More information

Caches I. CSE 351 Autumn 2018

Caches I. CSE 351 Autumn 2018 Cches I CSE 351 Autumn 2018 Instructors: Mx Willsey Luis Ceze Teching Assistnts: Britt Henderson Luks Joswik Josie Lee Wei Lin Dniel Snitkovsky Luis Veg Kory Wtson Ivy Yu Alt text: I looked t some of the

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Reference types and their characteristics Class Definition Constructors and Object Creation Special objects: Strings and Arrays

Reference types and their characteristics Class Definition Constructors and Object Creation Special objects: Strings and Arrays Objects nd Clsses Reference types nd their chrcteristics Clss Definition Constructors nd Object Cretion Specil objects: Strings nd Arrys OOAD 1999/2000 Cludi Niederée, Jochim W. Schmidt Softwre Systems

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

12-B FRACTIONS AND DECIMALS

12-B FRACTIONS AND DECIMALS -B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn

More information

Pipeline Example: Cycle 1. Pipeline Example: Cycle 2. Pipeline Example: Cycle 4. Pipeline Example: Cycle 3. 3 instructions. 3 instructions.

Pipeline Example: Cycle 1. Pipeline Example: Cycle 2. Pipeline Example: Cycle 4. Pipeline Example: Cycle 3. 3 instructions. 3 instructions. ipeline Exmple: Cycle 1 ipeline Exmple: Cycle X X/ /W X X/ /W $3,$,$1 lw $,0($5) $3,$,$1 3 instructions 8 9 ipeline Exmple: Cycle 3 ipeline Exmple: Cycle X X/ /W X X/ /W sw $6,($7) lw $,0($5) $3,$,$1 sw

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

CSEP 573 Artificial Intelligence Winter 2016

CSEP 573 Artificial Intelligence Winter 2016 CSEP 573 Artificil Intelligence Winter 2016 Luke Zettlemoyer Problem Spces nd Serch slides from Dn Klein, Sturt Russell, Andrew Moore, Dn Weld, Pieter Abbeel, Ali Frhdi Outline Agents tht Pln Ahed Serch

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

MIPS I/O and Interrupt

MIPS I/O and Interrupt MIPS I/O nd Interrupt Review Floting point instructions re crried out on seprte chip clled coprocessor 1 You hve to move dt to/from coprocessor 1 to do most common opertions such s printing, clling functions,

More information

Chapter 4: Datapath Components. Instructor: Dr. Hyunyoung Lee. Copyright Based on slides by Frank Vahid. Frank Vahid

Chapter 4: Datapath Components. Instructor: Dr. Hyunyoung Lee. Copyright Based on slides by Frank Vahid. Frank Vahid Chpter 4: Dtpth Components Instructor: Dr. Hyunyoung Lee Bsed on slides by Copyright 2 Instructors of courses requiring Vhid's Digitl Design textbook (published by John Wiley nd Sons) hve permission to

More information

Accelerating 3D convolution using streaming architectures on FPGAs

Accelerating 3D convolution using streaming architectures on FPGAs Accelerting 3D convolution using streming rchitectures on FPGAs Hohun Fu, Robert G. Clpp, Oskr Mencer, nd Oliver Pell ABSTRACT We investigte FPGA rchitectures for ccelerting pplictions whose dominnt cost

More information

Concepts Introduced. A 1-Bit Logical Unit. 1-Bit Half Adder (cont.) 1-Bit Half Adder

Concepts Introduced. A 1-Bit Logical Unit. 1-Bit Half Adder (cont.) 1-Bit Half Adder oncepts Introduced A -Bit Logicl Unit sic rithmetic/logic unit clocks ltches nd ip-ops registers SRAMs nd RAMs nite stte mchines Below is -it logicl unit tht performs AN nd OR opertions Both the AN nd

More information

Digital Design. Chapter 4: Datapath Components

Digital Design. Chapter 4: Datapath Components Digitl Design Chpter 4: Dtpth Components Slides to ccompny the textbook Digitl Design, with RTL Design, VHDL, nd Verilog, 2nd Edition, by, John Wiley nd Sons Publishers, 2. http://www.ddvhid.com Copyright

More information

Fault injection attacks on cryptographic devices and countermeasures Part 2

Fault injection attacks on cryptographic devices and countermeasures Part 2 Fult injection ttcks on cryptogrphic devices nd countermesures Prt Isrel Koren Deprtment of Electricl nd Computer Engineering University of Msschusetts Amherst, MA Countermesures - Exmples Must first detect

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

Digital Design using HDLs EE 4755 Final Examination

Digital Design using HDLs EE 4755 Final Examination Nme Solution Digitl Design using HDLs EE 4755 Finl Exmintion Thursdy, 8 Decemer 6 :3-4:3 CST Alis The Hottest Plce in Hell Prolem Prolem Prolem 3 Prolem 4 Prolem 5 Prolem 6 Exm Totl (3 pts) ( pts) (5 pts)

More information

Mid-term exam. Scores. Fall term 2012 KAIST EE209 Programming Structures for EE. Thursday Oct 25, Student's name: Student ID:

Mid-term exam. Scores. Fall term 2012 KAIST EE209 Programming Structures for EE. Thursday Oct 25, Student's name: Student ID: Fll term 2012 KAIST EE209 Progrmming Structures for EE Mid-term exm Thursdy Oct 25, 2012 Student's nme: Student ID: The exm is closed book nd notes. Red the questions crefully nd focus your nswers on wht

More information

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two

More information

Register Transfer Level (RTL) Design

Register Transfer Level (RTL) Design CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Mohsen Imani Topics for today Another example of RTL design RTL circuit delays and clock HLSM array and Register

More information

Tool Vendor Perspectives SysML Thus Far

Tool Vendor Perspectives SysML Thus Far Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com

More information

Slides for Data Mining by I. H. Witten and E. Frank

Slides for Data Mining by I. H. Witten and E. Frank Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

On String Matching in Chunked Texts

On String Matching in Chunked Texts On String Mtching in Chunked Texts Hnnu Peltol nd Jorm Trhio {hpeltol, trhio}@cs.hut.fi Deprtment of Computer Science nd Engineering Helsinki University of Technology P.O. Box 5400, FI-02015 HUT, Finlnd

More information

Stained Glass Design. Teaching Goals:

Stained Glass Design. Teaching Goals: Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to

More information

CSCI1950 Z Computa4onal Methods for Biology Lecture 2. Ben Raphael January 26, hhp://cs.brown.edu/courses/csci1950 z/ Outline

CSCI1950 Z Computa4onal Methods for Biology Lecture 2. Ben Raphael January 26, hhp://cs.brown.edu/courses/csci1950 z/ Outline CSCI1950 Z Comput4onl Methods for Biology Lecture 2 Ben Rphel Jnury 26, 2009 hhp://cs.brown.edu/courses/csci1950 z/ Outline Review of trees. Coun4ng fetures. Chrcter bsed phylogeny Mximum prsimony Mximum

More information

TCP/ICN: Carrying TCP over Content Centric and Named Data Networks

TCP/ICN: Carrying TCP over Content Centric and Named Data Networks TCP/ICN: Crrying TCP over Content Centric nd Nmed Dt Networks Ily Moiseenko Cisco Systems Dve Orn Cisco Systems Outline I. Introduction II. Design Bsic fetching proxy Relible prefetching proxy Unrelible

More information

ITEC2620 Introduction to Data Structures

ITEC2620 Introduction to Data Structures ITEC0 Introduction to Dt Structures Lecture 7 Queues, Priority Queues Queues I A queue is First-In, First-Out = FIFO uffer e.g. line-ups People enter from the ck of the line People re served (exit) from

More information

On the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis

On the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis On the Detection of Step Edges in Algorithms Bsed on Grdient Vector Anlysis A. Lrr6, E. Montseny Computer Engineering Dept. Universitt Rovir i Virgili Crreter de Slou sin 43006 Trrgon, Spin Emil: lrre@etse.urv.es

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Course Administration

Course Administration /4/7 Spring 7 EE 363: Computer Orgniztion Arithmetic for Computers Numer Representtion & ALU Avinsh Kodi Deprtment of Electricl Engineering & Computer Science Ohio University, Athens, Ohio 457 E-mil: kodi@ohio.edu

More information

Control-Flow Analysis and Loop Detection

Control-Flow Analysis and Loop Detection ! Control-Flow Anlysis nd Loop Detection!Lst time! PRE!Tody! Control-flow nlysis! Loops! Identifying loops using domintors! Reducibility! Using loop identifiction to identify induction vribles CS553 Lecture

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

Today s Lecture. Basics of Logic Design: Boolean Algebra, Logic Gates. Recursive Example. Review: The C / C++ code. Recursive Example (Continued)

Today s Lecture. Basics of Logic Design: Boolean Algebra, Logic Gates. Recursive Example. Review: The C / C++ code. Recursive Example (Continued) Tod s Lecture Bsics of Logic Design: Boolen Alger, Logic Gtes Alvin R. Leeck CPS 4 Lecture 8 Homework #2 Due Ferur 3 Outline Review (sseml recursion) Building the uilding locks Logic Design Truth tles,

More information

Chapter 1: Introduction

Chapter 1: Introduction Chpter : Introduction Slides to ccompny the textbook, First Edition, by, John Wiley nd Sons Publishers, 7. http://www.ddvhid.com Copyright 7 Instructors of courses requiring Vhid's textbook (published

More information

Very sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors.

Very sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors. 6/9/ Abstrction, List, & Cons CS6A Lecture 7-6-9 Colleen Lewis Very sd code (define (totl hnd) (if (empty? hnd) (+ (butlst (lst hnd)) (totl (butlst hnd))))) STk> (totl (h c d)) 7 STk> (totl (h ks d)) ;;;EEEK!

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

10/9/2012. Operator is an operation performed over data at runtime. Arithmetic, Logical, Comparison, Assignment, Etc. Operators have precedence

10/9/2012. Operator is an operation performed over data at runtime. Arithmetic, Logical, Comparison, Assignment, Etc. Operators have precedence /9/22 P f Performing i Si Simple l Clcultions C l l ti with ith C#. Opertors in C# nd Opertor Precedence 2. Arithmetic Opertors 3. Logicl Opertors 4. Bitwise Opertors 5. Comprison Opertors 6. Assignment

More information

Math 142, Exam 1 Information.

Math 142, Exam 1 Information. Mth 14, Exm 1 Informtion. 9/14/10, LC 41, 9:30-10:45. Exm 1 will be bsed on: Sections 7.1-7.5. The corresponding ssigned homework problems (see http://www.mth.sc.edu/ boyln/sccourses/14f10/14.html) At

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

Product of polynomials. Introduction to Programming (in C++) Numerical algorithms. Product of polynomials. Product of polynomials

Product of polynomials. Introduction to Programming (in C++) Numerical algorithms. Product of polynomials. Product of polynomials Product of polynomils Introduction to Progrmming (in C++) Numericl lgorithms Jordi Cortdell, Ricrd Gvldà, Fernndo Orejs Dept. of Computer Science, UPC Given two polynomils on one vrile nd rel coefficients,

More information

CSE140: Components and Design Techniques for Digital Systems. Register Transfer Level (RTL) Design. Mohsen Imani

CSE140: Components and Design Techniques for Digital Systems. Register Transfer Level (RTL) Design. Mohsen Imani CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Mohsen Imani Topics for today Another example of RTL design RTL circuit delays and clock HLSM array and Register

More information

CMU Fall VLSI CAD

CMU Fall VLSI CAD CMU Fll 01 18-760 VLSI CAD [120 pts] Homework 2. Out Thu Sep 13, Due Thu Sep 27 01. 1. BDD ordering [10 pts] We sw tht vrible order is highly significnt for something s simple s multiplexor. How bout something

More information

Section 3.1: Sequences and Series

Section 3.1: Sequences and Series Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one

More information

Geometric transformations

Geometric transformations Geometric trnsformtions Computer Grphics Some slides re bsed on Shy Shlom slides from TAU mn n n m m T A,,,,,, 2 1 2 22 12 1 21 11 Rows become columns nd columns become rows nm n n m m A,,,,,, 1 1 2 22

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-169 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Rational Numbers---Adding Fractions With Like Denominators.

Rational Numbers---Adding Fractions With Like Denominators. Rtionl Numbers---Adding Frctions With Like Denomintors. A. In Words: To dd frctions with like denomintors, dd the numertors nd write the sum over the sme denomintor. B. In Symbols: For frctions c nd b

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1 Mth 33 Volume Stewrt 5.2 Geometry of integrls. In this section, we will lern how to compute volumes using integrls defined by slice nlysis. First, we recll from Clculus I how to compute res. Given the

More information

MATH 2530: WORKSHEET 7. x 2 y dz dy dx =

MATH 2530: WORKSHEET 7. x 2 y dz dy dx = MATH 253: WORKSHT 7 () Wrm-up: () Review: polr coordintes, integrls involving polr coordintes, triple Riemnn sums, triple integrls, the pplictions of triple integrls (especilly to volume), nd cylindricl

More information

A Reconfigurable Arithmetic Datapath Architecture

A Reconfigurable Arithmetic Datapath Architecture A Reconfigurle Arithmetic Dtpth Architecture Reiner W. Hrtenstein, Riner Kress, Helmut Reinig University of Kiserslutern Erwin-Schrödinger-Strße, D-67663 Kiserslutern, Germny Fx: 49 631 205 2640, emil:

More information

x )Scales are the reciprocal of each other. e

x )Scales are the reciprocal of each other. e 9. Reciprocls A Complete Slide Rule Mnul - eville W Young Chpter 9 Further Applictions of the LL scles The LL (e x ) scles nd the corresponding LL 0 (e -x or Exmple : 0.244 4.. Set the hir line over 4.

More information

Epson Projector Content Manager Operation Guide

Epson Projector Content Manager Operation Guide Epson Projector Content Mnger Opertion Guide Contents 2 Introduction to the Epson Projector Content Mnger Softwre 3 Epson Projector Content Mnger Fetures... 4 Setting Up the Softwre for the First Time

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information