Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1176887.1176933acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Scratchpad memory management for portable systems with a memory management unit

Published: 22 October 2006 Publication History

Abstract

In 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 addressed scratchpad memory (SPM)is mapped into the virtual address space. A small minicache is added to further reduce energy consumption and improve performance.Using the MMU's page fault exception mechanism, we track page accesses and copy frequently executed code sections into the SPM before they are executed. Because the minimal transfer unit between the external memory and the SPM is a single memory page, good code placement is of great importance for the success of our method. Based on profiling information, our postpass optimizer divides the application binary into pageable, cacheable, and uncacheable regions. The latter two are placed at fixed locations in the external memory, and only pageable code is copied on demand to the SPM from the external memory. Pageable code is grouped into sections whose sizes are equal to the physical page size of the MMU. We discuss code grouping techniques and also analyze the effect of the minicache on execution time and energy consumption. We evaluate our SPM allocation strategy with twelve embedded applications, including MPEG-4. Compared to a fully-cached configuration, on average we achieve a 12% improvement in runtime performance and a 33% reduction in energy consumption by the memory system.

References

[1]
F. Angiolini, L. Benini, and A. 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.
[2]
F. Angiolini, F. Menichelli, A. Ferrero, L. Benini, and M. 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.
[3]
ARM Ltd,. http://www.arm.com.
[4]
R. Banakar, S. Steinke, B.-S. Lee, M. Balakrishnan, and P. Marwedel. Scratchpad memory: A design alternative for cache on-chip memory in embedded systems. In Proc. of the 10th International Symposium on Hardware/Software Codesign (CODES), May 2002.
[5]
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, 1990.
[6]
A. Dominguez, S. Udayakumaran, and R. Barua. Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing, 1(4), 2005.
[7]
B. Egger, C.Kim, C. Jang, Y. Nam, J. Lee, and S. L. 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.
[8]
J. Fotheringham. Dynamic storage allocation in the atlas computer, including an automatic use of a backing store. Commun.ACM, 4(10): 435--436, 1961.
[9]
P. Francesco, P. Marchal, D. Atienza, L. Benini, F. Catthoor, and J. M. Mendias. An integrated hardware/software approach for run-time scratchpad management. In DAC'04: Proceedings of the 41st annual conference on Design automation, pages 238--243, 2004.
[10]
Freescale Semiconductor. http://www.freescale.com.
[11]
M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of the 4th Annual Workshop on Workload Characterization, December 1998.
[12]
Intel Corp.http://www.intel.com.
[13]
A. Janapsatya, A. Ignjatovic;, and S. Parameswaran. A novel instruction scratchpad memory optimization method based on concomitance metric. In ASP-DAC'06: Proceedings of the 2006 conference on Asia South Pacific design automation, pages 612--617, 2006.
[14]
M. Kandemir and A. Choudhary. Compiler-directed scratch pad memory hierarchy design and management. In DAC'02: Proceedings of the 39th conference on Design automation, pages 628--633, 2002.
[15]
M. Kandemir, J. Ramanujam, J. Irwin, N. Vijaykrishnan, I. Kadayif, and A. Parikh. Dynamic management of scratch-pad memory space. In DAC'01: Proceedings of the 38th conference on Design automation, pages 690--695, 2001.
[16]
C. Lee, M. Potkonjak, and W. H. Mangione-Smith. Mediabench: A tool for evaluating and synthesizing multimedia and communicatons systems. In International Symposium on Microarchitecture, pages 330--335, 1997.
[17]
L. Li, L. Gao, and J. Xue. Memory coloring: A compiler approach for scratchpad memory management. In PACT'05: Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05), pages 329--338, 2005.
[18]
Micron Technology, Inc. MT48H8M16LF Mobile SDRAM. 2003.
[19]
Micron Technology, Inc. Mobile SDRAM Power Calc 10. 2004.
[20]
J. Moussouris, L. Crudele, D. Freitas, C. Hansen, E. Hudson, S. Przybylski, T. Riordan, and C. Rowen. A cmos risc processor with integrated system functions. In COMPCON, March 1986.
[21]
ISO MP3 Reference Decoder. http://www.mp3-tech.org/programmer/sources/dist10.tgz.
[22]
N. Nguyen, A. Dominguez, and R. 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.
[23]
P. R. Panda, N. D. Dutt, and A. Nicolau. Efficient utilization of scratch-pad memory in embedded processor applications. In European Design Automation and Test Conference, March 1997.
[24]
C. Park, J. Lim, K. Kwon, J. Lee, and S. L. Min. Compiler-assisted demand paging for embedded systems with flash memory. In EMSOFT'04: The ACM Conference on Embedded Software, September 2004.
[25]
K. Pettis and R. C. Hansen. Profile guided code positioning. In PLDI'90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation, pages 16--27, 1990.
[26]
Philips LPC3180 microcontroller. http://www.standardics.philips.com/.
[27]
A. Shrivastava, I. Issenin, and N. 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.
[28]
Seoul National university Advanced Compiler tool Kit. http://aces.snu.ac.kr /snack.html.
[29]
S. Steinke, N. Grunwald, L. Wehmeyer, R. Banakar, M. Balakrishnan, and P. 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.
[30]
S. Udayakumaran and R. 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.
[31]
M. Verma, K. Petzold, L. Wehmeyer, H. Falk, and P. Marvedel. Scratchpad sharing strategies for multiprocess embedded systems: A first approach. In 3rd Workshop on Embedded Systems for Real-Time Multimedia, September 2005.
[32]
M. Verma, L. Wehmeyer, and P. Marvedel. Cache-aware scratchpad allocation algorithm. In Proceedings of International Conference on Design, Automation and Test in Europe(DATE), February 2004.
[33]
S. Wilton and N. Jouppi. CACTI: An Enhanced Cache Access and Cycle Time Model. IEEE Journal of Solid State Circuits, 31(5):677--688, 1996.
[34]
Xvid MPEG-4 Video Codec. http://www.xvid.org.

Cited By

View all
  • (2021)Overcoming the Memory Hierarchy Inefficiencies in Graph Processing Applications2021 IEEE/ACM International Conference On Computer Aided Design (ICCAD)10.1109/ICCAD51958.2021.9643434(1-9)Online publication date: 1-Nov-2021
  • (2021)OptimizationEmbedded System Design10.1007/978-3-030-60910-8_7(349-379)Online publication date: 26-Jan-2021
  • (2017)A Methodology for the Optimization Of Multi-program Shared Scratchpad MemoryInternational Journal on Smart Sensing and Intelligent Systems10.21307/ijssis-2017-4234:1(1-20)Online publication date: 12-Dec-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded software
October 2006
346 pages
ISBN:1595935428
DOI:10.1145/1176887
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code placement
  2. compilers
  3. heterogeneous memory
  4. paging
  5. portable systems
  6. postpass optimization
  7. scratchpad
  8. virtual memory

Qualifiers

  • Article

Conference

ESWEEK06
ESWEEK06: Second Embedded Systems Week 2006
October 22 - 25, 2006
Seoul, Korea

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)4
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Overcoming the Memory Hierarchy Inefficiencies in Graph Processing Applications2021 IEEE/ACM International Conference On Computer Aided Design (ICCAD)10.1109/ICCAD51958.2021.9643434(1-9)Online publication date: 1-Nov-2021
  • (2021)OptimizationEmbedded System Design10.1007/978-3-030-60910-8_7(349-379)Online publication date: 26-Jan-2021
  • (2017)A Methodology for the Optimization Of Multi-program Shared Scratchpad MemoryInternational Journal on Smart Sensing and Intelligent Systems10.21307/ijssis-2017-4234:1(1-20)Online publication date: 12-Dec-2017
  • (2017)NPAM: NVM-Aware Page Allocation for Multi-Core Embedded SystemsIEEE Transactions on Computers10.1109/TC.2017.270382466:10(1703-1716)Online publication date: 1-Oct-2017
  • (2016)Characterizing emerging heterogeneous memoryACM SIGPLAN Notices10.1145/3241624.292670251:11(13-23)Online publication date: 14-Jun-2016
  • (2016)Characterizing emerging heterogeneous memoryProceedings of the 2016 ACM SIGPLAN International Symposium on Memory Management10.1145/2926697.2926702(13-23)Online publication date: 14-Jun-2016
  • (2015)Efficient Code Assignment Techniques for Local Memory on Software Managed MulticoresACM Transactions on Embedded Computing Systems10.1145/273803914:4(1-24)Online publication date: 8-Dec-2015
  • (2014)The Impact of Process Scaling on Scratchpad Memory Energy SavingsJournal of Low Power Electronics and Applications10.3390/jlpea40302314:3(231-251)Online publication date: 9-Sep-2014
  • (2014)Exploiting Hybrid SPM-Cache Architectures to Reduce Energy Consumption for Embedded ComputingProceedings of the 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS)10.1109/HPCC.2014.59(340-347)Online publication date: 20-Aug-2014
  • (2014)Characterizing Energy Consumption of Real-Time and Media Benchmarks on Hybrid SPM-CachesProceedings of the 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS)10.1109/HPCC.2014.100(526-533)Online publication date: 20-Aug-2014
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media