skip to main content
10.1145/1878961.1879011acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

A performance model and code overlay generator for scratchpad enhanced embedded processors

Published: 24 October 2010 Publication History

Abstract

Software managed scratchpad memories (SPMs) provide improved performance and power in embedded processors by reducing required hardware resources. Performance depends strongly on the scheme used to map code and data onto the SPM, but generating optimal mappings can be extremely difficult. Here we address instruction mapping on SPMs and present a performance model and algorithm, "Code Overlay Generator" (COG), for producing high performance dynamic SPM code mappings. Our heuristic does not require profiling information, and is suitable for generating mapping solutions for large programs which are otherwise infeasible using previously proposed Integer Linear Programming (ILP) techniques.
We compare our algorithm with a published heuristic and the code overlay mapping algorithm provided with the Cell Broadband Engine (CBE) Synergistic Processing Unit (SPU) compiler from IBM, spu-gcc. We find an average performance advantage of 34% compared to the previous algorithm, and 87% with respect to spugcc. We additionally show that our performance model enables improved tools for offline evaluation of code overlay performance and mapping selection.

References

[1]
Cell Broadband Engine Architecture. IBM Systems and Technology Group, 2007.
[2]
Software Development Kit for Multicore Acceleration Version 3.1 Programmer's Guide. IBM Systems and Technology Group, 2008.
[3]
F. Angiolini, F. Menichelli, A. Ferrero, L. Benini, and M. Olivieri. A post-compiler approach to scratchpad mapping of code. In International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pages 259--267, Washington, DC, 2004.
[4]
R. Cytron and P. G. Loewner. An automatic overlay generator. IBM Journal of Research and Development, 30:603--608, Nov. 1986.
[5]
B. Egger, J. Lee, and H. Shin. Scratchpad memory management for portable systems with a memory management unit. In International Conference On Embedded Software, pages 321--330, Seoul, Korea, 2006.
[6]
gnu.org. GCC online documentation. http://gcc.gnu.org/onlinedocs/.
[7]
A. Janapsatya, A. Ignjatovic, and S. Parameswaran. A novel instruction scratchpad memory optimization method based on concomitance metric. In Proc. Asia and South Pacific Design Automation Conference, pages 612--617, Yokohama, Japan, 2006.
[8]
A. Pabalkar, A. Shrivastava, A. Kannan, and J. Lee. SDRM: Simultaneous Determination of Regions and Function-to-Region Mapping for Scratchpad Memories. Lecture Notes in Computer Science. Berlin, 2008.
[9]
D. Pham et al. Overview of the Architecture, Circuit Design, and Physical Implementation of a First-generation Cell Processor. In IEEE Journal of Solid-State Circuits, volume 41, pages 179--196. IBM, 2006.
[10]
Power Architecture editors. An introduction to compiling for the Cell Broadband Engine architecture. IBM, developerWorks, 2006.
[11]
T. R. Spacek. A proposal to establish a pseudo virtual memory via writable overlays. Communications of the ACM, 15:421--426, June 1972.
[12]
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, New York, NY, USA, 2002. ACM.
[13]
S. Udayakumaran, A. Dominguez, and R. Barua. Dynamic allocation for scratch-pad memory using compile-time decisions. ACM Transactions on Embedded Computing Systems (TECS), 5:472--511, May 2006.
[14]
M. Verma and P. Marwedel. Overlay techniques for scratchpad memories in low power embedded processors. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 14:802--815, Aug. 2006.

Cited By

View all
  • (2019)Static Function Prefetching for Efficient Code Management on Scratchpad Memory2019 IEEE 37th International Conference on Computer Design (ICCD)10.1109/ICCD46524.2019.00056(350-358)Online publication date: Nov-2019
  • (2017)Reducing code management overhead in software-managed multicoresProceedings of the Conference on Design, Automation & Test in Europe10.5555/3130379.3130671(1241-1244)Online publication date: 27-Mar-2017
  • (2017)Reducing code management overhead in software-managed multicoresDesign, Automation & Test in Europe Conference & Exhibition (DATE), 201710.23919/DATE.2017.7927179(1241-1244)Online publication date: Mar-2017
  • Show More Cited By

Index Terms

  1. A performance model and code overlay generator for scratchpad enhanced embedded processors

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CODES/ISSS '10: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
    October 2010
    348 pages
    ISBN:9781605589053
    DOI:10.1145/1878961
    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

    In-Cooperation

    • CEDA
    • IEEE CAS
    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 October 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cell broadband engine
    2. code mapping
    3. code overlay
    4. compiler
    5. embedded systems
    6. scratchpad memory

    Qualifiers

    • Research-article

    Conference

    ESWeek '10
    ESWeek '10: Sixth Embedded Systems Week
    October 24 - 29, 2010
    Arizona, Scottsdale, USA

    Acceptance Rates

    Overall Acceptance Rate 280 of 864 submissions, 32%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)11
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 10 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Static Function Prefetching for Efficient Code Management on Scratchpad Memory2019 IEEE 37th International Conference on Computer Design (ICCD)10.1109/ICCD46524.2019.00056(350-358)Online publication date: Nov-2019
    • (2017)Reducing code management overhead in software-managed multicoresProceedings of the Conference on Design, Automation & Test in Europe10.5555/3130379.3130671(1241-1244)Online publication date: 27-Mar-2017
    • (2017)Reducing code management overhead in software-managed multicoresDesign, Automation & Test in Europe Conference & Exhibition (DATE), 201710.23919/DATE.2017.7927179(1241-1244)Online publication date: Mar-2017
    • (2017)WCET-Aware Function-Level Dynamic Code Management on Scratchpad MemoryACM Transactions on Embedded Computing Systems10.1145/306338316:4(1-26)Online publication date: 11-May-2017
    • (2016)Splitting functions in code management on scratchpad memoriesProceedings of the 35th International Conference on Computer-Aided Design10.1145/2966986.2967075(1-8)Online publication date: 7-Nov-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)Construction of GCCFG for inter-procedural optimizations in software managed manycore (SMM) architecturesProceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems10.1145/2656106.2656122(1-10)Online publication date: 12-Oct-2014
    • (2014)WCET-aware dynamic code management on scratchpads for Software-Managed Multicores2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS.2014.6926001(179-188)Online publication date: Apr-2014
    • (2013)CMSMProceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis10.5555/2555692.2555703(1-9)Online publication date: 29-Sep-2013
    • (2013)Scheduling of synchronous data flow models onto scratchpad memory-based embedded processorsACM Transactions on Embedded Computing Systems10.1145/2536747.253675213:1s(1-25)Online publication date: 6-Dec-2013
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media