计算机科学与探索 ›› 2024, Vol. 18 ›› Issue (10): 2521-2550.DOI: 10.3778/j.issn.1673-9418.2312021

• 前沿·综述 • 上一篇    下一篇

动态二进制翻译技术综述

张锦,单泽虎,刘晓东,王文竹,余杰,彭龙,谢启友   

  1. 1. 湖南师范大学 信息科学与工程学院,长沙 410081
    2. 长沙理工大学 计算机与通信工程学院,长沙 410114
    3. 国防科学技术大学 计算机学院,长沙 410073
    4. 先进计算与关键软件(信创)海河实验室,天津 300459
    5. 湖南博匠信息科技有限公司,长沙 410073
  • 出版日期:2024-10-01 发布日期:2024-09-29

Comprehensive Review of Research on Dynamic Binary Translation Techniques

ZHANG Jin, SHAN Zehu, LIU Xiaodong, WANG Wenzhu, YU Jie, PENG Long, XIE Qiyou   

  1. 1. College of Information Science and Engineering, Hunan Normal University, Changsha 410081, China
    2. College of Computer and Communication Engineering, Changsha University of Technology, Changsha 410114, China
    3. College of Computer Science, National University of Defense Technology, Changsha 410073, China
    4. Haihe Laboratory of Information Technology Application Innovation, Tianjin 300459, China
    5. Hunan BJI TECH Co., Ltd., Changsha 410073, China
  • Online:2024-10-01 Published:2024-09-29

摘要: 在构建国产软件生态系统中,解决程序的兼容性问题至关重要。随着计算机架构的多样化发展,确保软件能够在不同平台和硬件环境中顺畅运行,已经成为当下软件开发过程中的一项紧迫任务。在此背景下,动态二进制翻译(DBT)技术展现出其重大意义。作为一种实现不同指令集架构(ISA)之间程序或软件互操作性的核心技术,DBT通过运行时指令转换,不仅实现了软件跨平台的兼容运行,也极大地扩展了软件的适用范围和灵活性。然而,DBT技术的引入同样对系统在运行效率和资源利用率方面提出了更高的要求。对DBT技术的相关内容进行了综述,包括其基本工作原理、研究进展、关键技术以及相应的优化方法。介绍了DBT技术的基本原理及发展历程。详细阐述了DBT的研究进展,尤其是在提高翻译准确性和执行效率方面所取得的重要成果。进一步地,对六类DBT优化技术特性进行了介绍,这些技术包括:基于运行时优化、基于控制流优化、基于指令级优化、基于安全性与隔离性优化、基于资源管理优化以及基于软硬件协同优化。分别基于这些关键技术进一步分类总结,介绍了各自的优化技术及面临的挑战。从技术发展趋势、应用领域扩展、性能提升策略等多个角度,对DBT技术未来的研究方向和发展前景进行了探讨。

关键词: 动态二进制翻译, 指令集架构, 指令转换, 软件兼容性

Abstract: Solving compatibility issues in programs is crucial for building a domestic software ecosystem. With the diversification of computer architectures, ensuring software runs smoothly across different platforms and hardware environments has become an urgent task in software development. Against this backdrop, dynamic binary translation (DBT) technology emerges as significant. As a core technology enabling interoperability between different instruction set architectures (ISA), DBT allows for cross-platform compatibility and significantly expands the applicability and flexibility of software through runtime instruction conversion. However, the introduction of DBT also places higher demands on system performance in terms of efficiency and resource utilization. This paper reviews DBT technology, including its basic principles, research progress, key technologies, and optimization methods. It starts with an introduction to the basic principles and history of DBT. Then, it elaborates on the research progress, especially significant achievements in improving translation accuracy and execution efficiency. Furthermore, it introduces six categories of DBT optimization techniques: runtime optimization, control flow optimization, instruction-level optimization, security and isolation optimization, resource management optimization, and hardware-software co-optimization. This paper also summarizes these key technologies, their optimization techniques, and the challenges they face. Finally, from multiple perspectives such as technological trends, application area expansion, and performance improvement strategies, the future research direction and development prospects of DBT technology are discussed.

Key words: dynamic binary translation, instruction set architecture, instruction translation, software compatibility