A Retargetable Static Binary Translator for the ARM Architecture

被引:18
|
作者
Shen, Bor-Yeh [1 ]
Hsu, Wei-Chung [1 ]
Yang, Wuu [1 ]
机构
[1] Natl Chiao Tung Univ, Dept Comp Sci, Hsinchu 30010, Taiwan
关键词
Design; Languages; Performance; Binary translation; compiler; retargeting; intermediate representation;
D O I
10.1145/2629335
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Machines designed with new but incompatible Instruction Set Architecture (ISA) may lack proper applications. Binary translation can address this incompatibility by migrating applications from one legacy ISA to a new one, although binary translation has problems such as code discovery for variable-length ISA and code location issues for handling indirect branches. Dynamic Binary Translation (DBT) has been widely adopted for migrating applications since it avoids those problems. Static Binary Translation (SBT) is a less general solution and has not been actively researched. However, SBT performs more aggressive optimizations, which could yield more compact code and better code quality. Applications translated by SBT can consume less memory, processor cycles, and power than DBT and can be started more quickly. These advantages are even more critical for embedded systems than for general systems. In this article, we designed and implemented a new SBT tool, called LLBT, which translates ARM instructions into LLVM IRs and then retargets the LLVM IRs to various ISAs, including x86, x86-64, ARM, and MIPS. LLBT leverages two important functionalities from LLVM: comprehensive optimizations and retargetability. More importantly, LLBT solves the code discovery problem for ARM/Thumb binaries without resorting to interpretation. LLBT also effectively reduced the size of the address mapping table, making SBT a viable solution for embedded systems. Our experiments based on the EEMBC benchmark suite show that the LLBT-generated code can run more than 6x and 2.3x faster on average than emulation with QEMU and HQEMU, respectively.
引用
收藏
页码:87 / 111
页数:25
相关论文
共 50 条
  • [31] A neural network architecture to learn the arm reach motion planning in a static cluttered environment
    Bendahan, P
    Gorce, P
    2004 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN & CYBERNETICS, VOLS 1-7, 2004, : 762 - 767
  • [32] Software architecture synthesis for retargetable real-time embedded systems
    Chou, P
    Borriello, G
    PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN (CODES/CASHE '97), 1997, : 101 - 105
  • [33] Instruction Emulation and OS Supports of a Hybrid Binary Translator for x86 Instruction Set Architecture
    Liu, I-Chun
    Wu, I-Wei
    Shann, Jean Jyh-Jiun
    IEEE 12TH INT CONF UBIQUITOUS INTELLIGENCE & COMP/IEEE 12TH INT CONF ADV & TRUSTED COMP/IEEE 15TH INT CONF SCALABLE COMP & COMMUN/IEEE INT CONF CLOUD & BIG DATA COMP/IEEE INT CONF INTERNET PEOPLE AND ASSOCIATED SYMPOSIA/WORKSHOPS, 2015, : 1070 - 1077
  • [34] A jump-target identification method for multi-architecture static binary translation
    Di Federico, Alessandro
    Agosta, Giovanni
    2016 INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURE AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES), 2016,
  • [35] DBILL: An Efficient and Retargetable Dynamic Binary Instrumentation Framework using LLVM Backend
    Lyu, Yi-Hong
    Hong, Ding-Yong
    Wu, Tai-Yi
    Wu, Jan-Jan
    Hsu, Wei-Chung
    Liu, Pangfeng
    Yew, Pen-Chung
    ACM SIGPLAN NOTICES, 2014, 49 (07) : 141 - 152
  • [36] A HIGH-SPEED BINARY-TO-BINARY-DECIMAL TRANSLATOR
    CAMPBELL, CA
    PROCEEDINGS OF THE INSTITUTE OF RADIO ENGINEERS, 1957, 45 (03): : 400 - 400
  • [38] Retargetable machine-description system: Multi-layer architecture approach
    Wu, D
    Wang, ZY
    Dai, K
    GRID AND COOPERATIVE COMPUTING - GCC 2005, PROCEEDINGS, 2005, 3795 : 1161 - 1166
  • [39] A Retargetable Compiler for Cell-Array-Based Self-Reconfigurable Architecture
    Hiromoto, Masayuki
    Kouyama, Shin'ichi
    Ochi, Hiroyuki
    Nakamura, Yukihiro
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2007, 7 (04): : 131 - 139
  • [40] Generic architecture description for retargetable compilation and synthesis of application-specific pipelined IPs
    Gorjiara, Bita
    Reshadi, Mehrdad
    Gajski, Daniel
    PROCEEDINGS 2006 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, 2007, : 356 - 361