Download presentation
Presentation is loading. Please wait.
1
CprE 588 Embedded Computer Systems
Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #8 – Architectural Specialization
2
CprE 588 – Embedded Computer Systems
Outline Motivation Related Work Design Flow Basic Concepts Multi-Metrics Experimental Results Conclusion L. Cai, A. Gerstlauer, and D. Gajski, “Retargetable Profiling for Rapid, Early System-Level Design Space Exploration”, In Proceedings of the Design Automation Conference (DAC), 2004. CprE 588 – Embedded Computer Systems Mar 3-5, 2009
3
Higher levels of abstraction
Motivation Time-to-market SoC Complexity Higher levels of abstraction Exploration Estimation Modeling level n Verification Refinement n+1 Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
4
System Level Estimation
Fast Accurate Fidelity Different abstraction levels Wide range of metrics Wide variety of target implementation Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
5
CprE 588 – Embedded Computer Systems
Related Work Static analysis-based approaches Examples WCET (Y. Li), scheduling analysis (G. Buttazzo) Memory size estimation (Y. Zhao) Limitations Time-consuming, manual interference Dynamic simulation-based approaches Profiling tools (GNU profiler) Instruction-set simulators Multi-processor, multi-level co-simulation (P. Gerin) Trace-based simulation (K. Lahir, P. Lieverse) A simulation is required for each design alternative Target/host machine-dependent characteristics Operation-related data Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
6
CprE 588 – Embedded Computer Systems
Design Flow Refinement Estimation GUI Spec Simulation model Profiling Profiling Spec characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
7
CprE 588 – Embedded Computer Systems
Design Flow (cont.) Refinement Estimation GUI Spec Simulation model Profiling Profiling Spec characteristics Design decision Retargeting Refining Retargeting Back Implt annotation Characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
8
CprE 588 – Embedded Computer Systems
Design Flow (cont.) Refinement Estimation GUI Spec Instru- model menting Profiling Profiling Spec characteristics Design decision Retargeting Refining Retargeting Back Implt annotation Characteristics Refined Simulation/ Implt. Simulation- estimation model estimation Estimates Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
9
CprE 588 – Embedded Computer Systems
Explore and Trim Exploration Space Profiling Implt independent simulation One-time retargeting Implt dependent simulation ... /estimation ... Design Time Profiling Retargeting Simulation- stage stage estimation stage Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
10
CprE 588 – Embedded Computer Systems
Profiling Instrumentation-based profiling Bb: The execution counts of basic block b Cb,i,d: No. of computed characteristics for item type i and data type d in the block b Data type i: float, int, .. Item type d: metric dependant Ri,d = bC b,i,d Bb R = idRi,d int b,c; if( a = 0){ b++; } else{ c++; B1 = 1 C1,++,int = 1 B3 = 3 C3,++,int = 2 R++,int= i [ Bi * Ci,++,int ] =1 x x 2 = 7 Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
11
CprE 588 – Embedded Computer Systems
Retargeting Impl. characteristics Ri,d: Spec. characteristics Wi,d : weights of components which the entity mapped to Manual Simulation E = id(Ri,d X Wi,d ) Time complexity: O(n) v c B1 B2 B R(B1)++,int= 7 W(PE1)++,int= 1 PE1 PE2 Mem E(B1,PE1)++,int= 7 x 1 = 7 CprE 588 – Embedded Computer Systems Mar 3-5, 2009
12
CprE 588 – Embedded Computer Systems
Challenges Separating dynamic and static analysis Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
13
CprE 588 – Embedded Computer Systems
Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion v c B1 B2 B Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
14
CprE 588 – Embedded Computer Systems
Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis v c B1 B2 B Traditional approach Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
15
CprE 588 – Embedded Computer Systems
Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable v c B1 B2 B Entities Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
16
CprE 588 – Embedded Computer Systems
Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable Multi-metrics Operation, traffic, storage Static, dynamic v c B1 B2 B Entities Metrics CprE 588 – Embedded Computer Systems Mar 3-5, 2009
17
CprE 588 – Embedded Computer Systems
Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable Multi-metrics Operation, traffic, storage Static, dynamic Multi-levels Application, transaction, bus-functional v c B1 B2 B Entities Levels Metrics CprE 588 – Embedded Computer Systems Mar 3-5, 2009
18
CprE 588 – Embedded Computer Systems
Operation Metrics Entities: behavior Item types 84 basic types: ‘+’.., ‘=‘.., ‘if’.. Special operation types: global function Specification characteristics Mapping: behavior PE Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
19
CprE 588 – Embedded Computer Systems
Traffic Metrics Entities: port, variable, channel, behavior Item types: in, out Specification characteristics Mapping: Port PE Variable/channel bus Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
20
Deriving Traffic Metrics
Profiling for the hierarchically instantiated behaviors and recursively called functions A.p1 B.p2 B.F1.p3 B.F2.P4 Different abstraction levels PE1 PE2 Beh1 Beh2 PE1 PE2 v1 Beh.port → Var Beh.port → Chan Chan in Chan Beh.port → Pin Chan.port Chan CprE 588 – Embedded Computer Systems Mar 3-5, 2009
21
CprE 588 – Embedded Computer Systems
Storage Metrics Entity: variable, behavior Item types: local, global Specification characteristics Mapping: Variable local/global memory Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
22
Exp. Result: Vocoder Profiling
Floating –point not required Dedicated hardware multipliers HW acceleration Table 1: Computational complexity of top-level Vocoder behaviors Table 2: Codebook operation mix Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
23
Exp. Result: Vocoder Profiling (cont.)
1500 2500 3500 4500 10 30 50 70 90 110 130 150 170 u Timing constraint (2990) Time (ms) Cost B (73, 2980) 8 behaviors 3 PEs Total 38 =6561 design alternatives Evaluation time: 3:15 hour 1 simulation (2.23s) 1 profiling (8.41s) 6561 retargeting (0.8s) 6561mapping (0.97s) yellows Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
24
Exp. Result: JPEG Encoder
Implementation characteristics vs implementation estimates 50 100 150 200 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Design alternatives Execution time (ms)) Estimates Char. Map 4 behaviors 2 PEs: 24 design alternatives Accuracy: 12.5%, fidelity = 100% Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
25
CprE 588 – Embedded Computer Systems
Conclusion Dynamic profiling + static retargeting Profiling: helps completely comprehend the specification Retargeting: ultra-fast (linear time), enables initial, exhaustive exploration of design space. Multi-dimensional analysis Multi-entities Behavior, channel, variable, port Multi-abstraction levels Application level, transaction level, bus-functional level Multi-metrics Operation, traffic, storage Static, dynamic Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.