{"title":"Dynamic binary translation specialized for embedded systems","authors":"Goh Kondoh, H. Komatsu","doi":"10.1145/1735997.1736019","DOIUrl":null,"url":null,"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.\n 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.","PeriodicalId":202844,"journal":{"name":"International Conference on Virtual Execution Environments","volume":"41 2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-03-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Virtual Execution Environments","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1735997.1736019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12
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.
本文介绍了一种专门用于嵌入式系统的动态二进制翻译技术的设计与实现。虚拟平台已被广泛用于开发嵌入式软件,动态二进制转换是提高其仿真速度的必要条件。然而,与应用程序模拟不同,为系统模拟生成的代码仍然很慢,因为模拟器必须复制目标硬件的所有功能。嵌入式系统专注于提供一个或几个功能,大多数时候只利用处理器功能的一小部分。例如,它们可以使用处理器中的内存管理单元(Memory Management Unit, MMU)将物理内存映射到有效地址,但是它们可能不需要像操作系统那样支持分页内存。我们可以利用这一点来专门化动态翻译的代码,以获得更高的性能。我们在一个带有动态二进制翻译器的功能模拟器之上构建了一个专门化框架。使用该框架,我们为MMU、双端制和注册库实现了三个专门化器。在EEMBC1.1基准测试中进行的实验表明,专门化代码的速度比非专门化代码快39%。