ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

Chapter 23 Minimum Spanning Tree
COMP 482: Design and Analysis of Algorithms
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNES: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n Relatore: Prof.
ECE 667 Synthesis and Verification of Digital Circuits
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
1 CS 201 Compiler Construction Lecture 12 Global Register Allocation.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.
1 -1 Chapter 1 Introduction Why Do We Need to Study Algorithms? To learn strategies to design efficient algorithms. To understand the difficulty.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 2 Tuesday, 9/10/02 Design Patterns for Optimization.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Approximation Algorithms
Lecture 38 CSE 331 Dec 3, A new grading proposal Towards your final score in the course MAX ( mid-term as 25%+ finals as 40%, finals as 65%) .
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Advanced Compilers CMPSCI 710.
CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
ICS 252 Introduction to Computer Design
ECE 565 High-Level Synthesis—An Introduction Shantanu Dutt ECE Dept., UIC.
Graph Theory Ch.5. Coloring of Graphs 1 Chapter 5 Coloring of Graphs.
9/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Guest lecturer: Martin Furer Algorithm Design and Analysis L ECTURE.
1 Design and Analysis of Algorithms تصميم وتحليل الخوارزميات (311 عال) Chapter 1 Introduction to Algorithms.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Lecture 12-2: Introduction to Computer Algorithms beyond Search & Sort.
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 8.
ICS 252 Introduction to Computer Design Lecture 9 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
Graph Coloring. Vertex Coloring problem in VLSI routing channels Standard cells Share a track Minimize channel width- assign horizontal Metal wires to.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
© The McGraw-Hill Companies, Inc., Chapter 1 Introduction.
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Review of “Register Binding for FPGAs with Embedded Memory” by Hassan Al Atat and Iyad Ouaiss Lisa Steffen CprE 583.
Introduction to NP Instructor: Neelima Gupta 1.
1 Algorithms CSCI 235, Fall 2015 Lecture 29 Greedy Algorithms.
ICS 252 Introduction to Computer Design Lecture 8- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Greedy Algorithms – Chapter 5
Chapter 5. Greedy Algorithms
ECE 565 High-Level Synthesis—An Introduction
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Presented by Po-Chuan & Chen-Chen 2016/03/08
ICS 252 Introduction to Computer Design
ICS 353: Design and Analysis of Algorithms
3-3 Optimization with Linear Programming
Unit 4: Dynamic Programming
Architecture Synthesis
ICS 252 Introduction to Computer Design
Resource Sharing and Binding
ICS 252 Introduction to Computer Design
Graphs and Vertex Coloring
ICS 252 Introduction to Computer Design
Lecture 36 CSE 331 Nov 28, 2011.
Lecture 36 CSE 331 Nov 30, 2012.
ICS 252 Introduction to Computer Design
Intersection Method of Solution
Department of Computer Science & Engineering
Presentation transcript:

ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI

2 Fall 2006ICS 252-Intro to Computer Design Reference –Lecture note by Rajesh Gupta on resource sharing [©Gupta] –Chapter 6.1 and 6.2 of the textbook Administrative –Midterm: Nov. 9 in the class

3 Fall 2006ICS 252-Intro to Computer Design Resources in High level synthesis Resource allocation –Determine number of resources Resource binding –Associate a resource to each operation Resource sharing –More than one operation bound to same resource. Resource selection –Select appropriate type to implement each operation [©Gupta]

4 Fall 2006ICS 252-Intro to Computer Design Resource allocation Limiting cases of allocation –One resource for each operation –One resource per operation type Determined based on implementation size constraints Relation to scheduling [©Gupta]

5 Fall 2006ICS 252-Intro to Computer Design Resource sharing Operation compatibility –Operations that share resources –Same type –Non-concurrent Resource compatibility graph Resource conflict graph –Complement of compatibility graph

6 Fall 2006ICS 252-Intro to Computer Design Example * * * * * - - * + + < [©Gupta]

7 Fall 2006ICS 252-Intro to Computer Design Optimum solution On conflict graph –Disjoint graph for different types –Problem of? On compatibility graph –Problem of ? Conflict graph is an interval graph –Hence, compatibility graph is comparability graph –Min coloring problem can be solve optimally in polynomial time in interval graphs.

8 Fall 2006ICS 252-Intro to Computer Design Greedy approach Left-edge algorithm Left-edge(I){ L  elements of I sorted in ascending order; c=0; While (L  ){ S=  ; Repeat{ s  first element in L whose left edge is higher than the rightmost edge in S; S  S U {s}; }until no more element s; c = c +1; Color elements of S with c; L  L-S; } [©Gupta]

9 Fall 2006ICS 252-Intro to Computer Design Memory elements Registers –Hold data across cycles –Data: value of a variable –Variable lifetime in scheduled graph –Can be re-used (shared) across variables Memory blocks [©Gupta]

10 Fall 2006ICS 252-Intro to Computer Design Register sharing Given lifetime intervals of variables, determine minimum number of registers to store all the variables. Standard resource sharing problem Build register conflict/comparability graphs Use left-edge for conflict graph [©Gupta]