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

Dynamic overlay of scratchpad memory for energy minimization

Published:08 September 2004Publication History

ABSTRACT

The memory subsystem accounts for a significant portion of the aggregate energy budget of contemporary embedded systems. Moreover, there exists a large potential for optimizing the energy consumption of the memory subsystem. Consequently, novel memories as well as novel algorithms for their efficient utilization are being designed. Scratchpads are known to perform better than caches in terms of power, performance, area and predictability. However, unlike caches they depend upon software allocation techniques for their utilization. In this paper, we present an allocation technique which analyzes the application and inserts instructions to dynamically copy both code segments and variables onto the scratchpad at runtime. We demonstrate that the problem of dynamically overlaying scratchpad is an extension of the Global Register Allocation problem. The overlay problem is solved optimally using ILP formulation techniques. Our approach improves upon the only previously known allocation technique for statically allocating both variables and code segments onto the scratchpad. Experiments report an average reduction of 34% and 18% in the energy consumption and the runtime of the applications, respectively. A minimal increase in code size is also reported.

References

  1. A. W. Appel and L. George. Optimal spilling for cisc machines with few registers. In Proc. of the Conference on Programming Language Design and Implementation (PLDI), pages 243--253, Snowbird, Utah, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ARM. Advanced RISC Machines Ltd. http://www.arm.com.Google ScholarGoogle Scholar
  3. O. Avissar, R. Barua, and D. Stewart. An Optimal Memory Allocation Scheme for Scratch-Pad-Based Embedded Systems. IEEE Transactions on Embedded Computing Systems, 1(1):6--26, November 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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 10th International Symposium on Hardware/Software Codesign, Colorado, USA, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. J. Chaitin. Register allocation & spilling via graph coloring. In Proc. of the 1982 SIGPLAN Symposium on Compiler Construction, pages 98--101, Boston, Massachusetts, USA, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CPLEX. CPLEX limited. http://www.cplex.com.Google ScholarGoogle Scholar
  7. M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide To the Theory of NP-Completeness. Freeman, New York, USA, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. W. Goodwin and K. D. Wilken. Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming. Software-Practice and Experience, 26(8):929--965, August 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. L. Hennessy and D. A. Patterson. Computer Architecture : A Quantitative Approach; second edition. Morgan Kaufmann, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Kandemir, I. Kadayif, and U. Sezer. Exploiting Scratch-Pad Memory Using Presburger Formulas. In Proc. of the 14th International Symposium on System Synthesis (ISSS), pages 7--12, Montreal, P.Q., Canada, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Kong and K. D. Wilken. Precise register allocation for irregular architectures. In Proc. of the 31st annual ACM/IEEE International Symposium on Microarchitecture, Dallas, TX, USA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. MediabenchII. Benchmark Suite for Multimedia and Communication Systems. http://cares.icsl.ucla.edu/MediaBenchII/.Google ScholarGoogle Scholar
  13. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, California, 1. edition, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. R. Panda, N. D. Dutt, and A. Nicolau. Memory Issues in Embedded Systems-On-Chip. Kluwer Academic Publishers, Norwell, MA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 Proc. of the 15th International Symposium on System Synthesis (ISSS), Kyoto Japan, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel. An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations. In Proc. of International Workshop on Power And Timing Modeling, Optimization and Simulation PATMOS, Yverdon-Les-Bains, Switzerland, Sep. 2001.Google ScholarGoogle Scholar
  17. S. Steinke, L. Wehmeyer, B. S. Lee, and P. Marwedel. Assigning program and data objects to scratchpad for energy reduction. In Proc. of Design Automation and Test in Europe (DATE), Paris France, March 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. Tomiyama and H. Yasuura. Optimal code placement of embedded software for instruction caches. In Proc. of the 9th European Design and Test Conference, Paris France, March 1996. ET&TC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Verma, S. Steinke, and P. Marwedel. Data Partitioning for Maximal Scratchpad Usage. In Proc. of the Asia and South Pacific Design Automation Conference (ASPDAC), page 77, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Verma, L. Wehmeyer, and P. Marwedel. Cache-aware Scratchpad Allocation Algorihm. In Proc. of Design, Automation and Test in Europe (DATE), February 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic overlay of scratchpad memory for energy minimization

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      CODES+ISSS '04: Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
      September 2004
      266 pages
      ISBN:158113 9373
      DOI:10.1145/1016720

      Copyright © 2004 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 8 September 2004

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate280of864submissions,32%

      Upcoming Conference

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

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader