Download presentation
Presentation is loading. Please wait.
1
ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI
2
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
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
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
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
6 Fall 2006ICS 252-Intro to Computer Design Example * * * * * - - * + + < [©Gupta]
7
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
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
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
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]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.