skip to main content
10.1145/1755888.1755890acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Analysis and approximation for bank selection instruction minimization on partitioned memory architecture

Authors Info & Claims
Published:13 April 2010Publication History

ABSTRACT

A large number of embedded systems include 8-bit microcontrollers for their energy efficiency and low cost. Multi-bank memory architecture is commonly applied in 8-bit microcontrollers to increase the size of memory without extending address buses. To switch among different memory banks, a special instruction, Bank Selection, is used. How to minimize the number of bank selection instructions inserted is important to reduce code size for embedded systems.

In this paper, we consider how to insert the minimum number of bank selection instructions in a program to achieve feasibility. A program can be represented by a control flow graph (CFG). We prove that it is NP-Hard to insert the minimum number of bank selection instructions if all the variables are pre-assigned to memory banks. Therefore, we introduce a 2-approximation algorithm using a rounding method. When the CFG is a tree or the out-degree of each node in the CFG is at most two, we show that we can insert the bank selection instructions optimally in polynomial time. We then consider the case when there are some nodes that do not access any memory bank and design a dynamic programming method to compute the optimal insertion strategy when the CFG is a tree. Experimental result shows the proposed techniques can reduce bank selection instructions significantly on partitioned memory architecture.

References

  1. Freescale. http://www.freescale.com.Google ScholarGoogle Scholar
  2. Semico. http://www.semico.com/.Google ScholarGoogle Scholar
  3. Zilog. http://www.zilog.com.Google ScholarGoogle Scholar
  4. Mazen A. R. Saghir, Paul Chow, and Corinna G. Lee. Exploiting Dual Data-Memory Banks in Digital Signal Processors, In ASPLOS-VII: Proceedings of the 7th International Conference on Architectural Suppory for Programming Languages and Operating Systems: 234C243, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. R. Panda, F. Catthoor, N. D. Dutt, K. Danckaert, E. Brockmeyer, C. Kulkarni, A. Vandercappelle, and P. G. Kjeldsberg. Data and Memory Optimization Techniques for Embedded Systems, ACM Transactions on Design Automation of Electronic Systems, 6(2): 149C206, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Preeti Ranjan Panda, Nikil D. Dutt, and Alexandru Nicolau. On-Chip vs. Off-Chip Memory: The Data Partitioning Problem in Embedded Processor-Based Systems, ACM Transactions on Design Automation of Electronic Systems, 5(3): 682--704, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Xiaotong Zhuang, Santosh Pande, and John S. Greenland Jr. A Framework for Parallelizing Load/Stores on Embedded Processors, In PACT 02: Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques: 68C79, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jeonghun Cho, Yunheung Paek, and David Whalley. Fast Memory Bank Assignment for Fixed-Point Digital Signal Processors, ACM Transactions on Design Automation of Electronic Systems, 9(1):52C74, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Scholz, B. Burgstaller and J. Xue, Minimizing Bank Selection Instructions for Partitioned Memory Architectures, Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems (CASES2006): 201--211, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Scholz, B. Burgstaller, J. Xue, Minimal Placement of Bank Selection Instructions for Partitioned Memory Architectures, ACM Transactions on Embedded Computing Systems (TECS), Vol. 7, No. 2: 1--32, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Yuan, G.Wu, C. Yu, Optimizing Bank Selection Instructions by Using Shared Memory, The 2008 International Conference on Embedded Software and Systems (ICESS2008): 447--450, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. A. R. Saghir, P. Chow, and C. G. Lee, Exploiting Dual Data-Memory Banks in Digital Signal Processors, 7th International Conference on Architectural Support for Programming Languages and Operating Systems: 234--243, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Q. Zhuge, B. Xiao, E. H.-M. Sha, Variable Partitioning and Scheduling of Multiple Memory Architectures for DSP, Proceedings of the 16th International Parallel and Distributed Processing Symposium: 332--339, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. C. J. Xue, T. Liu, Z. Shao, et al, Address Assignment Sensitive Variable Partitioning And Scheduling For DSPS With Multiple Memory Banks, ICASSP2008: 1453--1457, 2008.Google ScholarGoogle Scholar
  15. M. Kandemir, I. Kolcu and I. Kadayif, Influence of loop optimizations on energy consumption of multi-bank memory systems, Proceedings of the 11th International Conference on Compiler Construction: 276--292, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Z. Wang and X. S. Hu, Energy-aware variable partitioning and instruction scheduling for multibank memory architectures, ACM Transactions on Design Automation of Electronic Systems, Vol. 10, No. 2: 369--388, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A.M. Garey and D.S. Johnson, Computers and intractability: A Guide to the theory of NP-completeness, Freeman, San Francisco, (1979). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. MRTC. http://www.mrtc.mdh.se/projects/wcet/home.html.Google ScholarGoogle Scholar
  19. SNU (Seoul National University). http://www.useoul.edu/.Google ScholarGoogle Scholar
  20. TGFF. http://ziyang.eecs.umich.edu/ dickrp/tgff/.Google ScholarGoogle Scholar
  21. lp_solve. http://lpsolve.sourceforge.net/5.5/.Google ScholarGoogle Scholar

Index Terms

  1. Analysis and approximation for bank selection instruction minimization on partitioned memory architecture

          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
            LCTES '10: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
            April 2010
            184 pages
            ISBN:9781605589534
            DOI:10.1145/1755888
            • cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 45, Issue 4
              LCTES '10
              April 2010
              170 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/1755951
              Issue’s Table of Contents

            Copyright © 2010 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 13 April 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate116of438submissions,26%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!