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.
- 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 Scholar
Digital Library
- M. Chapman, D. J. Magenheimer, and R. Parthasarathy. Magixen: Combining Binary Translation and Virtualization. Technical report, HP Laboratories Palo Alto, 2007.Google Scholar
- 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 Scholar
- EEMBC Benchmarks. http://www.eembc.org.Google Scholar
- F. Ghenassia. Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- IBM Corp. PPC405Fx Embedded Processor Core User's Manual, 2005.Google Scholar
- IBM Corp. PPC440x4 CPU Core User's Manual, 2007.Google Scholar
- P. Knowles. Cross-Platform Guest Support. KVM Forum, 2008.Google Scholar
- P. Magnusson and B. Werner. Efficient Memory Simulation in SimICS. In Proceedings of the 28th Annual Simulation Symposium, pages 62--73, 1995. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- M. Poletto and V. Sarkar. Linear scan register allocation. ACM Trans. Program. Lang. Syst., 21(5):895--913, 1999. Google Scholar
Digital Library
- Renesas Technology Corp. M32R Family SOFTWARE MANUAL, 1998.Google Scholar
- D. Seal. ARM Architecture Reference Manual. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Dynamic binary translation specialized for embedded systems
Recommendations
Exploiting Vector Processing in Dynamic Binary Translation
ICPP '19: Proceedings of the 48th International Conference on Parallel ProcessingAuto vectorization techniques have been adopted by compilers to exploit data-level parallelism in parallel processing for decades. However, since processor architectures have kept enhancing with new features to improve vector/SIMD performance, legacy ...
Dynamic binary translation specialized for embedded systems
VEE '10This 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 ...
Efficient and Retargetable Dynamic Binary Translation on Multicores
Dynamic binary translation (DBT) is a core technology to many important applications such as system virtualization, dynamic binary instrumentation, and security. However, there are several factors that often impede its performance: 1) emulation overhead ...







Comments