skip to main content
10.1145/1735997.1736019acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

Dynamic binary translation specialized for embedded systems

Published:17 March 2010Publication History

ABSTRACT

This paper describes the design and implementation of a novel dynamic binary translation technique specialized for embedded systems. Virtual platforms have been widely used to develop embedded software and dynamic binary translation is essential to boost their speed in simulations. However, unlike application simulation, the code generated for systems simulation is still slow because the simulator must replicate all of the functions of the target hardware. Embedded systems, which focus on providing one or a few functions, utilize only a small portion of the processor's features most of the time. For example, they may use a Memory Management Unit (MMU) in a processor to map physical memory to effective addresses, but they may not need paged memory support as in an OS. We can exploit this to specialize the dynamically translated code for more performance.

We built a specialization framework on top of a functional simulator with a dynamic binary translator. Using the framework, we implemented three specializers for an MMU, bi-endianness, and register banks. Experiments with the EEMBC1.1 benchmark showed that the speed of the specialized code was up to 39% faster than the unspecialized code.

References

  1. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. In Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, pages 1--12, New York, NY, USA, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Chapman, D. J. Magenheimer, and R. Parthasarathy. Magixen: Combining Binary Translation and Virtualization. Technical report, HP Laboratories Palo Alto, 2007.Google ScholarGoogle Scholar
  3. J.-Y. Chen, W. Yang, J. Hung, C. Su, and W. C. Hsu. A Static Binary Translator for Efficient Migration of ARM based Applications. In ODES-6: 6th Workshop on Optimizations for DSP and Embedded Systems, 2008.Google ScholarGoogle Scholar
  4. EEMBC Benchmarks. http://www.eembc.org.Google ScholarGoogle Scholar
  5. F. Ghenassia. Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Guha, K. M. Hazelwood, and M. L. Soffa. Reducing Exit Stub Memory Consumption in Code Caches. In K. D. Bosschere, D. R. Kaeli, P. Stenstrom, D. B. Whalley, and T. Ungerer, editors, HiPEAC, volume 4367 of Lecture Notes in Computer Science, pages 87--101. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. W. W. Hwu, S. A. Mahlke, W. Y. Chen, P. P. Chang, N. J. Warter, R. A. Bringmann, R. G. Ouellette, R. E. Hank, T. Kiyohara, G. E. Haab, J. G. Holm, and D. M. Lavery. The superblock: An effective technique for VLIW and superscalar compilation. J. Supercomput., 7(1--2):229--248, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. IBM Corp. PPC405Fx Embedded Processor Core User's Manual, 2005.Google ScholarGoogle Scholar
  9. IBM Corp. PPC440x4 CPU Core User's Manual, 2007.Google ScholarGoogle Scholar
  10. P. Knowles. Cross-Platform Guest Support. KVM Forum, 2008.Google ScholarGoogle Scholar
  11. P. Magnusson and B. Werner. Efficient Memory Simulation in SimICS. In Proceedings of the 28th Annual Simulation Symposium, pages 62--73, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R.W. Moore, J. A. Baiocchi, B. R. Childers, J.W. Davidson, and J. D. Hiser. Addressing the challenges of DBT for the ARM architecture. In LCTES '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, Compilers, and Tools for Embedded Systems, pages 147--156, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Poletto and V. Sarkar. Linear scan register allocation. ACM Trans. Program. Lang. Syst., 21(5):895--913, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Renesas Technology Corp. M32R Family SOFTWARE MANUAL, 1998.Google ScholarGoogle Scholar
  15. D. Seal. ARM Architecture Reference Manual. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Ung and C. Cifuentes. Dynamic Re-Engineering of Binary Code with Run-Time Feedbacks. In WCRE '00: Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00), page 2, Washington, DC, USA, 2000. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. Zhang, B. Calder, and D. M. Tullsen. An Event-Driven Multithreaded Dynamic Optimization Framework. In PACT '05: Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques, pages 87--98, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic binary translation specialized for embedded systems

            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
              VEE '10: Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
              March 2010
              176 pages
              ISBN:9781605589107
              DOI:10.1145/1735997
              • cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 45, Issue 7
                VEE '10
                July 2010
                161 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/1837854
                Issue’s Table of Contents

              Copyright © 2010 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 17 March 2010

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate80of235submissions,34%

            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!