Skip to main content

Efficient Scratchpad Allocation Algorithms for Energy Constrained Embedded Systems

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3164))

Abstract

In the context of portable embedded systems, reducing energy is one of the prime objectives. Memories are responsible for a significant percentage of a system’s aggregate energy consumption. Consequently, novel memories as well as novel memory hierarchies are being designed to reduce the energy consumption. Caches and scratchpads are two contrasting variants of memory architectures. The former relies completely on hardware logic while the latter requires software for its utilization. Most high-end embedded microprocessors today include onchip instruction and data caches along with a scratchpad.

Previous software approaches for utilizing scratchpad did not consider caches and hence fail for the prevalent high-end system architectures. In this work, we use the scratchpad for storing instructions. We solve the allocation problem using a greedy heuristic and also solve it optimally using an ILP formulation. We report an average reduction of 20.7% in instruction memory energy consumption compared to a previously published technique. Larger reductions are also reported when the problem is solved optimally.

The scratchpad in the presented architecture is similar to a preloaded loop cache. Comparing the energy consumption of our approach against that of preloaded loop caches, we report average energy savings of 28.9% using the heuristic.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ARM. Advanced RISC Machines Ltd., http://www.arm.com

  2. Avissar, O., Barua, R., Stewart, D.: An Optimal Memory Allocation Scheme for Scratch-Pad-Based Embedded Systems. IEEE Transactions on Embedded Computing Systems 1(1), 6–26 (2002)

    Article  Google Scholar 

  3. Banakar, R., Steinke, S., Lee, B.-S., Balakrishnan, M., Marwedel, P.: Scratchpad Memory: A Design Alternative for Cache On-chip Memory in Embedded Systems. In: Proc. of 10th International Symposium on Hardware/Software Codesign, Colorado, USA (May 2002)

    Google Scholar 

  4. Bellas, N., Haji, I., Polychronopoulos, C., Stamoulis, G.: Architectural and Compiler Support for Energy Reduction in Memory Hierarchy of High Performance Microprocessors. In: Proceedings of the International Symposium on Low Power Electronics and Design ISPLED, Monterey, CA, USA (August 1999)

    Google Scholar 

  5. Berkelaar, M.: lp_solve: a Mixed Integer Linear Program solver, available from: ftp://ftp.es.ele.tue.nl/pub/lp_solve

  6. CPLEX. CPLEX Ltd., http://www.cplex.com

  7. Department of Computer Science XII, University of Dortmund. ENCC., http://ls12-www.cs.uni-dortmund.de/research/encc

  8. Department of Computer Science XII, University of Dortmund. MEMSIM, http://ls12.cs.uni-dortmund.de/~wehmeyer/LOW_POWER/memsim_doc

  9. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide To the Theory of NP-Completeness. Freeman, New York (1979)

    MATH  Google Scholar 

  10. Gordon-Ross, S.C.A., Vahid, F.: Exploiting Fixed Programs in Embedded Systems: A Loop Cache Example. Computer Architecture Letters (January 2002)

    Google Scholar 

  11. Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 3rd edn. Morgan Kaufmann, San Francisco (2003)

    MATH  Google Scholar 

  12. Kamble, M., Ghosh, K.: Analytical Energy Dissipation Models for Low Power Caches. In: Proceedings of the International Symposium on Low Power Electronics and Design ISPLED, Monterey, CA, USA (August 1997)

    Google Scholar 

  13. Lee, L.H., Moyer, B., Arends, J.: Instruction Fetch Energy Reduction Using Loop Caches For Embedded Applications with small Tight Loops. In: Proceedings of the International Symposium on Low Power Electronics and Design ISPLED, San Diego, CA, USA (August 1999)

    Google Scholar 

  14. Marwedel, P., Wehmeyer, L., Verma, M., Steinke, S., Helmig, U.: Fast, predictable and low energy memory references through architecture-aware compilation. In: Proceedings of the Asia and South Pacific Design Automation Conference ASPDAC 2004 (to appear, 2004)

    Google Scholar 

  15. MOTOROLA. Motorola Inc., http://e-www.motorola.com/files/shared/doc/selector_guide/SG1001.pdf

  16. Panda, P.R., Dutt, N.D., Nicolau, A.: Memory Issues in Embedded Systems-On-Chip. Kluwer Academic Publishers, Norwell (1999)

    Book  Google Scholar 

  17. Pettis, P., Hansen, C.: Profile guided code positioning. In: Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation. ACM SIGPLAN (June 1990)

    Google Scholar 

  18. Steinke, S., Knauer, M., Wehmeyer, L., Marwedel, P.: An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations. In: Proceedings of International Workshop on Power And Timing Modeling, Optimization and Simulation PATMOS, Yverdon-Les-Bains, Switzerland (September 2001)

    Google Scholar 

  19. Steinke, S., Wehmeyer, L., Lee, B.-S., Marwedel, P.: Assigning Program and Data Objects to Scratchpad for Energy Reduction. In: Proceedings of Design Automation and Test in Europe DATE, Paris, France (March 2002)

    Google Scholar 

  20. Su, C.-L., Despain, A.M.: Cache Design Trade-Offs and Performance Optimization: A Case Study. In: Proceedings of the International Symposium on Low Power Design ISLPD, pp. 63–68 (1995)

    Google Scholar 

  21. Tomiyama, H., Yasuura, H.: Optimal Code Placement of Embedded Software for Instruction Caches. In: Proceedings of the 9th European Design and Test Conference ET&TC, Paris, France (March 1996)

    Google Scholar 

  22. Wilton, S.J.E., Jouppi, N.P.: CACTI: An Enhanced Cache Access and Cycle Time Model. IEEE Journal of Solid-State Circuits 31(5) (May 1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Verma, M., Wehmeyer, L., Marwedel, P. (2005). Efficient Scratchpad Allocation Algorithms for Energy Constrained Embedded Systems. In: Falsafi, B., VijayKumar, T.N. (eds) Power-Aware Computer Systems. PACS 2003. Lecture Notes in Computer Science, vol 3164. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28641-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-28641-7_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24031-0

  • Online ISBN: 978-3-540-28641-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics