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

Fast, predictable and low energy memory references through architecture-aware compilation

Published: 27 January 2004 Publication History
  • Get Citation Alerts
  • Abstract

    The design of future high-performance embedded systems is hampered by two problems: First, the required hardware needs more energy than is available from batteries. Second, current cache-based approaches for bridging the increasing speed gap between processors and memories cannot guarantee predictable real-time behavior. A contribution to solving both problems is made in this paper which describes a comprehensive set of algorithms that can be applied at design time in order to maximally exploit scratch pad memories (SPMs). We show that both the energy consumption as well as the computed worst case execution time (WCET) can be reduced by up to to 80% and 48%, respectively, by establishing a strong link between the memory architecture and the compiler.

    References

    [1]
    ARM Ltd. ARM946E-S: Embedded core with flexible cached memory system & DSP instruction set extensions. http://www.arm.com/armtech/ARM946E_S?OpenDocument.]]
    [2]
    Atmel. Atmel Corporation Homepage. http://www.atmel.com, 2003.]]
    [3]
    O. Avissar, R. Barua, and D. Stewart. An Optimal Memory Allocation Scheme for Scratch-Pad-Based Embedded Systems. ACM Transactions on Embedded Computing Systems, 1(1):6--26, November 2002.]]
    [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 10th Int. Symp. on Hardware/Software Codesign (CODES), May 2002.]]
    [5]
    M. Chen. A Timing Analysis Language - (TAL) - Programmer's Manual. Technical report, Dept. of Computer Sciences, University of Texas, Ausin, TX, USA, 1987.]]
    [6]
    K. D. Cooper and T. J. Harvey. Compiler-Controlled Memory. In Architectural Support for Programming Languages and Operating Systems, pages 2--11, 1998.]]
    [7]
    H. De Man. Keynote session at DATE'02. http://www.date-conference.com/conference/keynotes/index.htm, 2002.]]
    [8]
    L. Eggermont. Embedded Systems Roadmap. Technical report, STW, http://www.stw.nl/progress/ESroadmap/index.html, 2002.]]
    [9]
    S. C. A. Gordon-Ross and F. Vahid. Exploiting Fixed Programs in Embedded Systems: A Loop Cache Example. Computer Architecture Letters, January 2002.]]
    [10]
    Y. Hur, Y. H. Bea, S. Kin, B. Rhee, W. L. Min, C. Y. Park, M. Lee, H. Shin, and C. S. Kim. Worst Case Timing Analysis of RISC Processors: R3000/R3010. In Proceedings of the 16th Real-Time Systems Symposium, pages 308--319, 1995.]]
    [11]
    ILOG. CPLEX. http://www.ilog.com/products/cplex.]]
    [12]
    M. Kandemir, I. Kadayif, and U. Sezer. Exploiting Scratch-Pad Memory Using Presburger Formulas. In Proceedings of the 14th Internation Symposium on System Synthesis ISSS, page 7ff, 2001.]]
    [13]
    R. Kirner and P. Puschner. Consideration of Optimizing Compilers in the Context of WCET Analysis. In Proc. Deutsche Informatiktage 2000, Bad Schussenried, pages 123--126. GI Gesellschaft für Informatik e.V., Oct. 2000.]]
    [14]
    R. Kirner and P. Puschner. International Workshop on WCET Analysis - Summary. Research Report 12/2000, Technische Universität Wien, Institut für Technische Informatik, Treitlstr. 1-3/182-1, 1040 Vienna, Austria, 2002.]]
    [15]
    H. Kopetz. Real-Time Systems -- Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, 1997.]]
    [16]
    L. H. Lee, B. Moyer, and J. Arends. 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 (ISLPED), San Diego, CA, USA, August 1999.]]
    [17]
    Y.-T.S. Li, S. Malik, and A. Wolfe. Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software. In Proceedings of the IEEE Real-Time Systems Symposium, pages 298--307, December 1995.]]
    [18]
    Y.-T.S. Li, S. Malik, and A. Wolfe. Performance Estimation of Embedded Software with Instruction Cache Modeling. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pages 380--387, November 1995.]]
    [19]
    Y.-T. S. Li, S. Malik, and A. Wolfe. Cache Modeling for Real-Time Software: Beyond Direct Mapped Instruction Caches. In Proceedings of the IEEE Real-Time Systems Symposium, December 1996.]]
    [20]
    S. Lim, Y. H. Bea, G. T. Jang, B. Rhee, S. L. Min, C. Y. Park, H. Shin, and C. S. Kim. An Accurate Worst Case Timing Analysis for RISC Processors. In Proceedings of the 15th Real-Time Systems Sympoisum, pages 97--108, 1994.]]
    [21]
    P. Machanik. Approaches to Addressing the Memory Wall. Technical Report, November, Univ. Brisbane, 2002.]]
    [22]
    A. K. Mok, P. Amerasinghe, M. Chen, and K. Tantisirivat. Evaluating Tight Execution Time Bounds of Programs by Annotations. In Proc. of the 6th IEEE Workshop on Real-Time Operating Systems and Software, pages 74--80, 1989.]]
    [23]
    S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997]]
    [24]
    P. R. Panda, N. D. Dutt, and A. Nicolau. Memory Issues in Embedded Systems-On-Chip. Kluwer Academic Publishers, 1999.]]
    [25]
    P. Puschner and A. Burns. A review of Worst-Case Execution-Time Analysis (Editorial). Journal of Real-Time Systems, 18:115--128, 1999.]]
    [26]
    R. Sedgewick. Algorithms. Addison Wesley, Massachusetts, 1988.]]
    [27]
    S. Steinke. Investigation of the Potential for Energy Savings in Embedded Systems enabled by Energy Optimizing Compilers. PhD thesis, (in German), Embedded Systems Group, CS Dept., University of Dortmund, Dortmund, Germany, 2003.]]
    [28]
    S. Steinke, N. Grunwald, L. Wehmeyer, R. Banakar, M. Balakrishnan, and P. Marwedel. Reducing Energy Consumption by Dynamic Copying of Instructions onto Onchip Memory. Int. Symp. on System Synthesis (ISSS), pages 213--218, 2002.]]
    [29]
    S. Steinke, L. Wehmeyer, B.-S. Lee, and P. Marwedel. Assigning Program and Data Objects to Scratchpad for Energy Reduction. Design, Automation and Test in Europe (DATE), pages 409--417, 2002.]]
    [30]
    M. Theokharidis. Energiemessung von ARM7TDMI Prozessor-Instruktionen. Master's thesis, (in German), Embedded Systems Group, CS Dept., University of Dortmund, Dortmund, Germany, 2000.]]
    [31]
    M. Verma, S. Steinke, and P. Marwedel. Data Partitioning for Maximal Scratchpad Usage. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), page 77, January 2003.]]
    [32]
    M. Verma, L. Wehmeyer, and P. Marwedel. Cache-aware Scratchpad Allocation Algorihm. In Proceedings of Design, Automation and Test in Europe (DATE 2004) (to be published), February 2004.]]
    [33]
    L. Wang, W. Tembe, and S. Pande. A Framework for Loop distribution on Limited On-Chip Memory Processors. In Proceedings of the 9th International Conference on Compiler Construction, CC/ETAPS'00, volume 1781 of LNCS, pages 141--156, 2000.]]
    [34]
    S. Wilton and N. Jouppi. CACTI: An enhanced access and cycle time model. Int. Journal on Solid State Circuits, 31(5):677--688, 1996.]]
    [35]
    W. A. Wulf and S. A. McKee. Hitting the Memory Wall: Implications of the Obvious. Computer Architecture News, 1995.]]
    [36]
    J. Xu and D. L. Parnas. On Satisfying Timing Constraints in Hard-Real-Time Systems. ACM SIGSOFT Software Engineering Notes, Proceedings of the Conference on Software for Critical Systems, 16(5):132--146, September 1991.]]
    [37]
    N. Zhand, N. A. Burns, and M. Nicholson. Pipelined Processors and Worst Case Execution Times. Real-Time Systems, 4(5):319--343, 1993.]]

    Cited By

    View all
    • (2010)Scratchpad allocation for concurrent embedded softwareACM Transactions on Programming Languages and Systems10.1145/1734206.173421032:4(1-47)Online publication date: 22-Apr-2010
    • (2009)Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2009.201328728:7(966-978)Online publication date: 1-Jul-2009
    • (2009)Dynamic data type optimization and memory assignment methodologiesProceedings of the 19th international conference on Integrated Circuit and System Design: power and Timing Modeling, Optimization and Simulation10.1007/978-3-642-11802-9_22(175-185)Online publication date: 9-Sep-2009
    • Show More Cited By
    1. Fast, predictable and low energy memory references through architecture-aware compilation

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ASP-DAC '04: Proceedings of the 2004 Asia and South Pacific Design Automation Conference
      January 2004
      957 pages
      ISBN:0780381750

      Sponsors

      Publisher

      IEEE Press

      Publication History

      Published: 27 January 2004

      Check for updates

      Qualifiers

      • Article

      Conference

      ASPDAC04
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 466 of 1,454 submissions, 32%

      Upcoming Conference

      ASPDAC '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 29 Jul 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2010)Scratchpad allocation for concurrent embedded softwareACM Transactions on Programming Languages and Systems10.1145/1734206.173421032:4(1-47)Online publication date: 22-Apr-2010
      • (2009)Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2009.201328728:7(966-978)Online publication date: 1-Jul-2009
      • (2009)Dynamic data type optimization and memory assignment methodologiesProceedings of the 19th international conference on Integrated Circuit and System Design: power and Timing Modeling, Optimization and Simulation10.1007/978-3-642-11802-9_22(175-185)Online publication date: 9-Sep-2009
      • (2006)Shared Scratch-Pad Memory Space ManagementProceedings of the 7th International Symposium on Quality Electronic Design10.1109/ISQED.2006.115(576-584)Online publication date: 27-Mar-2006
      • (2003)Efficient scratchpad allocation algorithms for energy constrained embedded systemsProceedings of the Third international conference on Power - Aware Computer Systems10.1007/978-3-540-28641-7_4(41-56)Online publication date: 1-Dec-2003

      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