Low Overhead Dynamic Binary Translation on ARM

被引:2
|
作者
d'Antras, Amanieu [1 ]
Gorgovan, Cosmin [1 ]
Garside, Jim [1 ]
Lujan, Mikel [1 ]
机构
[1] Univ Manchester, Sch Comp Sci, Manchester, Lancs, England
基金
英国工程与自然科学研究理事会;
关键词
Binary Translation; ARM;
D O I
10.1145/3062341.3062371
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The ARMv8 architecture introduced AArch64, a 64-bit execution mode with a new instruction set, while retaining binary compatibility with previous versions of the ARM architecture through AArch32, a 32-bit execution mode. Most hardware implementations of ARMv8 processors support both AArch32 and AArch64, which comes at a cost in hardware complexity. We present MAMBO-X64, a dynamic binary translator for Linux which executes 32-bit ARM binaries using only the AArch64 instruction set. We have evaluated the performance of MAMBO-X64 on three existing ARMv8 processors which support both AArch32 and AArch64 instruction sets. The performance was measured by comparing the running time of 32-bit benchmarks running under MAMBO-X64 with the same benchmark running natively. On SPEC CPU2006, we achieve a geometric mean overhead of less than 7.5% on in-order Cortex-A53 processors and a performance improvement of 1% on out-of-order X-Gene 1 processors. MAMBO-X64 achieves such low overhead by novel optimizations to map AArch32 floating-point registers to AArch64 registers dynamically, handle overflowing address calculations efficiently, generate traces that harness hardware return address prediction, and handle operating system signals accurately.
引用
收藏
页码:333 / 346
页数:14
相关论文
共 50 条
  • [11] Binary translation: Static, dynamic, retargetable?
    Cifuentes, C
    Malhotra, V
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1996, : 340 - 349
  • [12] The Implementation of Dynamic Linking in Dynamic Binary Translation Systems
    Song Yiqing
    He Yuemei
    Liang Alei
    Guan Haibing
    PROCEEDINGS OF THE FIRST INTERNATIONAL WORKSHOP ON EDUCATION TECHNOLOGY AND COMPUTER SCIENCE, VOL II, 2009, : 643 - 646
  • [13] On Static Binary Translation of ARM/Thumb Mixed ISA Binaries
    Chen, Jiunn-Yeu
    Yang, Wuu
    Hsu, Wei-Chung
    Shen, Bor-Yeh
    Ou, Quan-Huei
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2017, 16 (03)
  • [14] Fine-Grained Overhead Analysis utilizing Atomic Instructions for Cross-ISA Dynamic Binary Translation on Multicore Processor
    Ooi, Joo-On
    Hussin, Fawnizu Azmadi
    Zakaria, Nordin
    2018 INTERNATIONAL CONFERENCE ON INTELLIGENT AND ADVANCED SYSTEM (ICIAS 2018) / WORLD ENGINEERING, SCIENCE & TECHNOLOGY CONGRESS (ESTCON), 2018,
  • [15] Efficient and Retargetable Dynamic Binary Translation on Multicores
    Hong, Ding-Yong
    Wu, Jan-Jan
    Yew, Pen-Chung
    Hsu, Wei-Chung
    Hsu, Chun-Chen
    Liu, Pangfeng
    Wang, Chien-Min
    Chung, Yeh-Ching
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2014, 25 (03) : 622 - 632
  • [16] Binary Mutation Testing Through Dynamic Translation
    Becker, Markus
    Kuznik, Christoph
    Joy, Mabel Mary
    Xie, Tao
    Mueller, Wolfgang
    2012 42ND ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2012,
  • [17] Optimizing dynamic binary translation for SIMD instructions
    Li, Jianhui
    Zhang, Qi
    Xu, Shu
    Huang, Bo
    CGO 2006: 4TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2006, : 269 - +
  • [18] Hardware-Accelerated Dynamic Binary Translation
    Rokicki, Simon
    Rohou, Erven
    Derrien, Steven
    PROCEEDINGS OF THE 2017 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2017, : 1062 - 1067
  • [19] Machine-adaptable dynamic binary translation
    Ung, D
    Cifuentes, C
    ACM SIGPLAN NOTICES, 2000, 35 (07) : 41 - 51
  • [20] Dynamic binary translation delivers program portability
    Wong, W
    ELECTRONIC DESIGN, 2001, 49 (25) : 34 - +