skip to main content
10.1145/1017753.1017775acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Compiler-assisted demand paging for embedded systems with flash memory

Published: 27 September 2004 Publication History

Abstract

In this paper, we propose a novel, application specific demand paging mechanism for low-end embedded systems with flash memory as secondary storage. These systems are not equipped with virtual memory. A small memory space called an execution buffer is allocated to page an application. An application-specific page manager manages the buffer. The manager is generated by a compiler post-pass and combined with the application image. Our compiler post-pass analyzes the ELF executable image of an application and transforms function call/return instructions into calls to the page manager. As a result, each function of the code can be loaded into memory on demand at run time. To minimize the overhead of demand paging, code clustering algorithms are also presented. We evaluate our techniques with five embedded applications. We show that our approach can reduce the code memory size by 33% on average with reasonable performance degradation (8-20%) and energy consumption (10% more on average) for low-end embedded systems.

References

[1]
Andrew W. Appel. Modern Compiler Implementation in Java. Cambridge University Press, 2002.
[2]
ARM. ARM Developer Suite Version 1.2: ARM Debug Target Guide. ARM Limited, 2001.
[3]
Oren Avissar and Rajeev Barua. An Optimal Memory Allocation Scheme for Scratchpad-Based Embedded Systems. IEEE Transactions on Embedded Computing Systems, 1(1):6--26, 2002.
[4]
Samsung~Electronics Co. NAND Flash Memory and SmartMedia Data Book. 2002.
[5]
Poletti Francesco, Paul Marchal, David Atienza, Luca Benini, Francky Catthoor, and Jose~M. Mendias. An Integrated Hardware/Software Approach for Run-Time Scratchpad Management. In The 41st Design Automation Conference (DAC 2004), pages 238--243, June 2004.
[6]
Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. MiBench: A Free, Aommercially Representative Embedded Benchmark Suite. In Proceedings of the 4th Annual Workshop on Workload Characterization, December 1998.
[7]
Prabhat Jain, Srinivas Devadas, Daniel Engels, and Larry Rudolph. Software-assisted Cache Replacement Mechanisms for Embedded Systems. In Proceedings of the 2001 IEEE/ACM International Conference on Computer Aided Design, pages 119--126, 2001.
[8]
Chunho Lee, Miograg Potkonjak, and William~H. Mangione-Smith. MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems. In Proceedings of the 30th International Symposium on Microarchitecture, December 1997.
[9]
M-Systems. Two Technologies Compared: NOR vs. NAND. White Paper, 91-SR-012-04-8L, Rev 1.1, July 2003.
[10]
P. R. Panda, N. Dutt, and A. Nicolau. Memory Issues in Embedded Systems-on-Chip: Optimizations and Exploration. Kluwer Academic Publishers, 1999.
[11]
Chanik Park, Jeong-Uk Kang, Seon-Yeong Park, and Jin-Soo Kim. Energy-Aware Demand Paging on NAND Flash-based Embedded Storages. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED 2004), August 2004.
[12]
Chanik Park, Jaeyu Seo, Sunghwan Bae, Hyojun Kim, Shinhan Kim, and Bumsoo Kim. A Low-Cost Memory Architecture with NAND XIP for Mobile Embedded Systems. In ISSS+CODES 2003: First IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, October 2003.
[13]
Samsung Electronics Co. http://www.samsung.com/products/semiconductor/asic. 2004.
[14]
Abraham Silberschatz, Peter Galvin, and Greg Gagne. Applied Operating System Concepts. John Wiley and Sons, Inc., 2003.
[15]
Tajana Simunic, Luca Benini, Peter Glynn, and Giovanni De Micheli. Dynamic Power Management for Portable Systems. In Proceedings of the 6th International Conference on Mobile Computing and Networking, pages 22--32, 2000.
[16]
Tajana Simunic, Luca Benini, and Giovanni De Micheli. Energy-Efficient Design of Battery-Powered Embedded Systems. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 9(1):15--28, 2001.
[17]
Stefen Steinke, Lars Wehmeyer, Bo-Sik Lee, and Peter Marwedel. Assigning Program and Data Objects to Scratchpad for Energy Reduction. In Design, Automation and Test in Europ Conference and Exposition (DATE 2002), pages 409--417, Feb 2002.
[18]
Hiroyuki Tomiyama and Hiroto Yasuura. Code Placement Techniques for Cache Miss Rate Reduction. IEEE Transactions on Design Automation of Electronic Systems, 2(4):410--429, October 1997.
[19]
Toshiba America Electronic Components, Inc. Cost Savings with NAND Shadowing Reference Design with Motorola MPC8260 and Toshiba CompactFlash. 2002.
[20]
Manish Verma, Lars Wehmeyer, and Peter Marwedel. Cache-Aware Scratchpad Allocation Algorithm. In Design, Automation and Test in Europ Conference and Exposition (DATE 2004), pages 1264--1269, Feb 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '04: Proceedings of the 4th ACM international conference on Embedded software
September 2004
316 pages
ISBN:1581138601
DOI:10.1145/1017753
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: 27 September 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SRAM
  2. clustering
  3. compilers
  4. embedded systems
  5. flash memory
  6. heterogeneous memory
  7. paging
  8. post-pass optimization

Qualifiers

  • Article

Conference

EMSOFT04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Upcoming Conference

ESWEEK '24
Twentieth Embedded Systems Week
September 29 - October 4, 2024
Raleigh , NC , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)1
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

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