|
ABSTRACT
Many embedded array-intensive applications have irregular access patterns that are not amenable to static analysis for extraction of access patterns, and thus prevent efficient use of a Scratch Pad Memory (SPM) hierarchy for performance and power improvement. We present a profiling based strategy that generates a memory access trace which can be used to identify data elements with fine granularity that can profitably be placed in the SPMs to maximize performance and energy gains. We developed an entire toolchain that allows incorporation of the code required to profitably move data to SPMs; visualization of the extracted access pattern after profiling; and evaluation/exploration of the generated application code to steer mapping of data to the SPM to yield performance and energy benefits.We present a heuristic approach that efficiently exploits the SPM using the profiler-driven access pattern behaviors. Experimental results on EEMBC and other industrial codes obtained with our framework show that we are able to achieve 36% energy reduction and reduce execution time by up to 22% compared to a cache based system.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
 |
3
|
Rajeshwari Banakar , Stefan Steinke , Bo-Sik Lee , M. Balakrishnan , Peter Marwedel, Scratchpad memory: design alternative for cache on-chip memory in embedded systems, Proceedings of the tenth international symposium on Hardware/software codesign, May 06-08, 2002, Estes Park, Colorado
[doi> 10.1145/774789.774805]
|
| |
4
|
D. Burger and T. M. Austin. The SimpleScalar tool set, version 2.0. InTechnical Report 1342, University of Wisconsin-Madison, CS Department, June 1997.
|
 |
5
|
|
| |
6
|
G. Chen , O. Ozturk , M. Kandemir , M. Karakoy, Dynamic scratch-pad memory management for irregular array access patterns, Proceedings of the conference on Design, automation and test in Europe: Proceedings, March 06-10, 2006, Munich, Germany
|
| |
7
|
M. Co, Dee A. B. Weikle, and K. Skadron A Break-Even Formulation for Evaluating Branch Predictor Energy Efficiency. In Proceedings of Complexity-Effective Design, 2005.
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
I. Issenin, and N. Dutt. Data Reuse Driven Memory and Network-on-Chip Co-Synthesis. In Proceedings of IESS, 2007.
|
 |
13
|
|
 |
14
|
Ilya Issenin , Erik Brockmeyer , Bart Durinck , Nikil Dutt, Multiprocessor system-on-chip data reuse analysis for exploring customized memory hierarchies, Proceedings of the 43rd annual conference on Design automation, July 24-28, 2006, San Francisco, CA, USA
[doi> 10.1145/1146909.1146925]
|
| |
15
|
|
 |
16
|
M. Kandemir , J. Ramanujam , J. Irwin , N. Vijaykrishnan , I. Kadayif , A. Parikh, Dynamic management of scratch-pad memory space, Proceedings of the 38th conference on Design automation, p.690-695, June 2001, Las Vegas, Nevada, United States
[doi> 10.1145/378239.379049]
|
| |
17
|
|
| |
18
|
S. Lin, D. Costello. Error Control Coding: Fundamentals and Applications. Book, Practice Hall, October 1982.
|
 |
19
|
|
| |
20
|
|
 |
21
|
Yunheung Paek , Jay Hoeflinger , David Padua, Simplification of array access patterns for compiler optimizations, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.60-71, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
22
|
|
| |
23
|
|
| |
24
|
P. Shivakumar, N. Jouppi. CACTI 3.0: An Integrated Cache Timing, Power, and Area Model. WRL Technical Report, August 2001.
|
 |
25
|
Jan Sjödin , Carl von Platen, Storage allocation for embedded processors, Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, November 16-17, 2001, Atlanta, Georgia, USA
[doi> 10.1145/502217.502221]
|
 |
26
|
|
 |
27
|
|
 |
28
|
|
| |
29
|
EDN Embedded Microprocessor Benchmark Consortium, www.eembc.org.
|
| |
30
|
Intel Corporation, http://developer.intel.com/design/intelxscale/index.htm.
|
|