ABSTRACT
In this paper, we propose a dynamic scratchpad memory (SPM)management technique for a horizontally-partitioned memory subsystem with an MMU. The memory subsystem consists of a relatively cheap direct-mapped data cache and SPM. Our technique loads required global data and stack pages into the SPM on demand when a function is called. A scratchpad memory managerloads/unloads the data pages and maintains a page table for the MMU. Our approach is based on post-pass analysis and optimization techniques, and it handles the whole program including libraries. The data page mapping is determined by solving an integer linear programming (ILP) formulation that approximates our demand paging technique. The ILP model uses a dynamic call graph annotated with the number of memory accesses and/or cache misses obtained by profiling. We evaluate our technique on thirteen embedded applications. We compare the results to a reference system with a 4-way set associative data cache and the ideal case with the same 4-way cache and SPM, where all global and stack data is placed in the SPM. On average, our approach reduces the total system energy consumption by 8.1% with no performance degradation. This is equivalent to exploiting 60% of the room available in energy reduction between the reference case and the ideal case.
- Advanced Compiler Research Laboratory. Seoul National University Advanced Compiler Tool Kit (SNACK). http://aces.snu.ac.kr/snack.html, 2004.Google Scholar
- Federico Angiolini, Luca Benini, and Alberto Caprara. Polynomial-time algorithm for on-chip scratchpad memory partitioning. In CASES'03: Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems, pages 318--326, 2003. Google Scholar
Digital Library
- Federico Angiolini, Francesco Menichelli, Alberto Ferrero, Luca Benini, and Mauro Olivieri. A post-compiler approach to scratchpad mapping of code. In CASES'04: Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems, pages 259--267, 2004. Google Scholar
Digital Library
- Oren Avissar, Rajeev Barua, and Dave Stewart. An optimal memory allocation scheme for scratch-pad-based embedded systems. Trans. on Embedded Computing Sys., 1(1):6--26, 2002. Google Scholar
Digital Library
- Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest. Introduction to Algorithms. The MIT Press, 1990. Google Scholar
Digital Library
- Angel Dominguez, Sumesh Udayakumaran, and Rajeev Barua. Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing, 1(4), 2005. Google Scholar
Digital Library
- Bernhard Egger, Chihun Kim, Choonki Jang, Yoonsung Nam, Jaejin Lee, and Sang Lyul Min. A dynamic code placement technique for scratchpad memory using postpass optimization. In CASES'06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, 2006. Google Scholar
Digital Library
- Bernhard Egger, Jaejin Lee, and Heonshik Shin. Scratchpad memory management for portable systems with a memory management unit. In EMSOFT'06: Proceedings of the sixth ACM & IEEE internationel conference on Embedded Software, 2006. Google Scholar
Digital Library
- John Fotheringham. Dynamic storage allocation in the atlas computer, including an automatic use of a backing store. Commun. ACM, 4(10):43--436, 1961. Google Scholar
Digital Library
- Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of the 4th Annual Workshop on Workload Characterization, December 1998. Google Scholar
Digital Library
- Lindo Systems Inc. What's Best! 8.0. http://www.lindo.com/products/wb/wbm.html, 2007.Google Scholar
- Intel. Intel XScale Core Developers Manual, January 2004.Google Scholar
- Peter Marwedel Lars Wehmeyer, Urs Helmig. Compiler-optimized usage of partitioned memories. In Proceedings of the 3rd Workshop on Memory Performance Issues (WMPI2004), Munich, Germany, Jun 2004. Google Scholar
Digital Library
- Chunho Lee, Miodrag Potkonjak, and William H. Mangione-Smith. Mediabench: A tool for evaluating and synthesizing multimedia and communicatons systems. In International Symposium on Microarchitecture, pages 33--335, 1997. Google Scholar
Digital Library
- ARM Ltd. ARM926EJ-S,. http://www.arm.com/products/CPUs/ARM926EJ-S.html, 2002.Google Scholar
- ARM Ltd. ARM926EJ-S Technical Reference Manual, 2003.Google Scholar
- Micron Technology, Inc. MT48H8M16LF Mobile SDRAM. http://www.micron.com/products/dram/mobilesdram/, 2003.Google Scholar
- Micron Technology, Inc. Mobile SDRAM Power Calc 10. http://www.micron.com/systemcalc, 2004.Google Scholar
- MP3 Reference Decoder. http://www.mp3-tech.org/programmer/sources/dist10.tgz, 1996.Google Scholar
- Nghi Nguyen, Angel Dominguez, and Rajeev Barua. Memory allocation for embedded systems with a compile-time-unknown scratch-pad size. In CASES'05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, pages 115--125, 2005. Google Scholar
Digital Library
- Pretty Good Privacy (PGPi). http://www.pgpi.org/, 2002.Google Scholar
- Samsung Semiconductor. K4X51163PC Mobile DDR SRAM. http://www.samsung.com/products/semiconductor/MobileSDRAM/, 2005.Google Scholar
- Aviral Shrivastava, Ilya Issenin, and Nikil Dutt. Compilation techniques for energy reduction in horizontally partitioned cache architectures. In CASES'05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, pages 90--96, 2005. Google Scholar
Digital Library
- Stefan Steinke, Nils Grunwald, Lars Wehmeyer, Rajeshwari Banakar, M. Balakrishnan, and Peter Marwedel. Reducing energy consumption by dynamic copying of instructions onto onchip memory. In ISSS'02: Proceedings of the 15th international symposium on System Synthesis, pages 213--218, 2002. Google Scholar
Digital Library
- Stefan Steinke, Lars Wehmeyer, Bo-Sik Lee, and Peter Marwedel. Assigning program and data objects to scratchpad for energy reduction. In DATE'02: Proceedings of the conference on Design, automation and test in Europe, page 409, 2002. Google Scholar
Digital Library
- Sumesh Udayakumaran and Rajeev Barua. Compiler-decided dynamic memory allocation for scratch-pad based embedded systems. In CASES'03: Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems, pages 276--286, 2003. Google Scholar
Digital Library
- Manish Verma, Stefan Steinke, and Peter Marwedel. Data partitioning for maximal scratchpad usage. In Proceedings of the 2003 conference on Asia South Pacific design automation, KitaKyushu, Japan, Jan 2003. Google Scholar
Digital Library
- Manish Verma, Lars Wehmeyer, and Peter Marwedel. Dynamic overlay of scratchpad memory for energy minimization. In Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, Stockholm, Sweden, 2004. Google Scholar
Digital Library
- Steven J. E. Wilton and Norman P. Jouppi. CACTI: An Enhanced Cache Access and Cycle Time Model. IEEE Journal of Solid State Circuits, 31(5):677--688, 1996.Google Scholar
Cross Ref
- Xvid MPEG-4 Video Codec. http://www.xvid.org, 2005.Google Scholar
Index Terms
Dynamic data scratchpad memory management for a memory subsystem with an MMU
Recommendations
Dynamic scratchpad memory management for code in portable systems with an MMU
In this work, we present a dynamic memory allocation technique for a novel, horizontally partitioned memory subsystem targeting contemporary embedded processors with a memory management unit (MMU). We propose to replace the on-chip instruction cache ...
Scratchpad memory management for portable systems with a memory management unit
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded softwareIn this paper,we present a dynamic scratchpad memory allocation strategy targeting a horizontally partitioned memory subsystem for contemporary embedded processors. The memory subsystem is equipped with a memory management unit (MMU), and physically ...
Dynamic data scratchpad memory management for a memory subsystem with an MMU
Proceedings of the 2007 LCTES conferenceIn this paper, we propose a dynamic scratchpad memory (SPM)management technique for a horizontally-partitioned memory subsystem with an MMU. The memory subsystem consists of a relatively cheap direct-mapped data cache and SPM. Our technique loads ...







Comments