Proceedings Article10.1145/1176760.1176788
A dynamic code placement technique for scratchpad memory using postpass optimization
Bernhard Egger,Chihun Kim,Choonki Jang,Yoonsung Nam,Jaejin Lee,Sang Lyul Min +5 more
- 22 Oct 2006
- pp 223-233
TL;DR: A fully automatic dynamic scratch-pad memory (SPM) management technique for instructions that loads required code segments into the SPM on demand at runtime based on postpass analysis and optimization techniques, and it handles the whole program, including libraries.
read more
Abstract: In this paper, we propose a fully automatic dynamic scratch-pad memory (SPM) management technique for instructions. Our technique loads required code segments into the SPM on demand at runtime. Our approach is based on postpass analysis and optimization techniques, and it handles the whole program, including libraries. The code mapping is determined by solving mixed integer linear programming formulation that approximates our demand paging technique. We increase the effectiveness of demand paging by extracting from functions natural loops that are smaller in size and have a higher instruction fetch count. The postpass optimizer analyzes the object files of an application and transforms them into an application binary image that enables demand paging to the SPM. We evaluate our technique on eleven embedded applications and compare it to a processor core with an instruction cache in terms of its performance and energy consumption. The cache size is about 20% of the executed code size, and the SPM size is chosen such that its die area is equal to that of the cache. The experimental results show that, on average, the processor core and memory subsystem's energy consumption can be reduced by 21.6% and the performance improved by 20.2%. Moreover, in comparison with the optimal static placement strategy, our technique reduces energy consumption by 23.7% and improves performance by 22.9%,on average.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Scratchpad allocation for concurrent embedded software
TL;DR: An iterative allocation algorithm that consists of two critical steps: analyze the MSC along with the existing allocation to determine potential interference patterns, and exploit this interference information to tune the scratchpad reloading points and content so as to best improve the WCRT.
Heap data management for limited local memory (LLM) multi-core processors
Ke Bai,Aviral Shrivastava +1 more
- 24 Oct 2010
TL;DR: A semi-automatic, and scalable scheme for heap data management that hides this complexity in a library with a much natural programming interface is proposed, and for embedded applications, where the maximum heap size can be known at compile time, optimizations on the heap management to significantly improve the application performance are proposed.
Dynamic data scratchpad memory management for a memory subsystem with an MMU
Hyungmin Cho,Bernhard Egger,Jaejin Lee,Heonshik Shin +3 more
- 13 Jun 2007
TL;DR: This paper proposes a dynamic scratchpad memory (SPM)management technique for a horizontally-partitioned memory subsystem with an MMU that reduces the total system energy consumption by 8.1% with no performance degradation and compares the results to a reference system with a 4-way set associative data cache and the ideal case.
50
Dynamic scratchpad memory management for code in portable systems with an MMU
TL;DR: This work proposes to replace the on-chip instruction cache with a scratchpad memory (SPM) and a small minicache and shows that by using the data cache as a victim buffer for the SPM, significant energy savings are possible.
50
SSDM: smart stack data management for software managed multicores (SMMs)
Jing Lu,Ke Bai,Aviral Shrivastava +2 more
- 29 May 2013
TL;DR: This paper forms an ILP and a heuristic - SSDM (Smart Stack Data Management) to find out where to insert stack data management calls in the program and demonstrates SSDM can reduce the overhead by 13X over the state-of-the-artstack data management technique.
48
References
•Book
Introduction to Algorithms
Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest +2 more
- 01 Jan 1990
TL;DR: The updated new edition of the classic Introduction to Algorithms is intended primarily for use in undergraduate or graduate courses in algorithms or data structures and presents a rich variety of algorithms and covers them in considerable depth while making their design and analysis accessible to all levels of readers.
24.8K
Introduction to algorithms: 4. Turtle graphics
TL;DR: In this article, a language similar to logo is used to draw geometric pictures using this language and programs are developed to draw geometrical pictures using it, which is similar to the one we use in this paper.
15.4K
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
MiBench: A free, commercially representative embedded benchmark suite
Matthew R. Guthaus,Jeff Ringenberg,Daniel J. Ernst,Todd Austin,Trevor Mudge,Richard B. Brown +5 more
- 02 Dec 2001
TL;DR: A new version of SimpleScalar that has been adapted to the ARM instruction set is used to characterize the performance of the benchmarks using configurations similar to current and next generation embedded processors.
3.7K
CACTI: an enhanced cache access and cycle time model
TL;DR: In this paper, an analytical model for the access and cycle times of on-chip direct-mapped and set-associative caches is presented, where the inputs to the model are the cache size, block size, and associativity, as well as array organization and process parameters.
885