Page 137 - 《软件学报》2024年第6期
P. 137
谢汶兵 等: 二进制翻译技术综述 2713
今, 二进制翻译系统的种类不断丰富、功能不断完善、翻译效率持续提升, 已经取得了大量的研究成果. 本文围绕
二进制翻译技术的研究现状, 梳理了已有的二进制翻译技术. 分析总结了二进制翻译技术分类、典型二进制翻译
系统、指令翻译方法、关键问题研究以及二进制翻译性能优化等, 并讨论了二进制翻译的典型应用场景. 最后对
二进制翻译技术未来潜在的研究方向进行展望. 我们旨在对当前二进制翻译技术的代表性研究工作进行总结, 希
望这一探索可以为该技术的未来研究工作提供借鉴.
References:
[1] Hookway R. DIGITAL FX!32 running 32-bit x86 applications on Alpha NT. In: Proc. of the 1997 IEEE COMPCON. San Jose: IEEE,
1997. 37–42. [doi: 10.1109/CMPCON.1997.584668]
[2] Zheng C, Thompson C. PA-RISC to IA-64: Transparent execution, no recompilation. Computer, 2000, 33(3): 47–52. [doi: 10.1109/2.
825695]
[3] Baraz L, Devor T, Etzion O, Goldenberg S, Skaletsky A, Wang Y, Zemach Y. IA-32 execution layer: A two-phase dynamic translator
designed to support IA-32 applications on Itanium®-based systems. In: Proc. of the 36th Annual IEEE/ACM Int’l Symp. on
Microarchitecture. San Diego: IEEE, 2003. 191–201. [doi: 10.1109/MICRO.2003.1253195]
TM
[4] Dehnert JC, Grant BK, Banning JP, Johnson R, Kistler T, Klaiber A, Mattson J. The transmeta Code Morphing Software: Using
speculation, recovery, and adaptive retranslation to address real-life challenges. In: Proc. of the 2003 Int’l Symp. on Code Generation
and Optimization. San Francisco: IEEE, 2003. 15–24. [doi: 10.1109/CGO.2003.1191529]
[5] Apple. Rosetta 2 on a Mac with Apple silicon. 2021. https://support.apple.com/fr-fr/guide/security/secebb113be1/web
[6] Ebcioğlu K, Altman ER. DAISY: Dynamic compilation for 100% architectural compatibility. In: Proc. of the 24th Annual Int’l Symp.
on Computer Architecture. Denver: ACM, 1997. 26–37. [doi: 10.1145/264107.264126]
[7] Altman E, Gschwind M, Sathaye S, Kosonocky S, Bright A, Fritts J, Ledak P, Appenzeller D, Agricola C, Filan Z. BOA: The
architecture of a binary translation processor. 1999. https://api.semanticscholar.org/CorpusID:2143607
[8] Li JH, Ma XN, Zhu CQ. Dynamic binary translation and optimization. Journal of Computer Research and Development, 2007, 44(1):
161–168 (in Chinese with English abstract). [doi: 10.1360/crad20070123]
[9] Spink T, Wagstaff H, Franke B. A retargetable system-level DBT hypervisor. ACM Trans. on Computer Systems, 2020, 36(4): 14. [doi:
10.1145/3386161]
[10] Hu SL, Smith JE. Reducing startup time in co-designed virtual machines. In: Proc. of the 33rd Int’l Symp. on Computer Architecture
(ISCA 2006). Boston: IEEE, 2006. 277–288. [doi: 10.1109/ISCA.2006.33]
[11] Fu SY, Hong DY, Liu YP, Wu JJ, Hsu WC. Efficient and retargetable SIMD translation in a dynamic binary translator. Software:
Practice and Experience, 2018, 48(6): 1312–1330. [doi: 10.1002/spe.2573]
[12] Lv YD. Principle and application of dynamic binary translation technology. 2021. https://ppt.infoq.cn/slide/show?cid=83&pid=3238
[13] Bellard F. QEMU, a fast and portable dynamic translator. In: Proc. of the 2005 Annual Conf. on USENIX Annual Technical Conf.
Anaheim: USENIX Association, 2005. 41.
[14] Engelke A, Okwieka D, Schulz M. Efficient LLVM-based dynamic binary translation. In: Proc. of the 17th ACM SIGPLAN/SIGOPS
Int’l Conf. on Virtual Execution Environments. Association for Computing Machinery, 2021. 165–171. [doi: 10.1145/3453933.
3454022]
[15] Cota EG, Bonzini P, Bennée A, Carloni LP. Cross-ISA machine emulation for multicores. In: Proc. of the 2017 Int’l Symp. on Code
Generation and Optimization. Austin: IEEE Press, 2017. 210–220. [doi: 10.1109/CGO.2017.7863741]
[16] Nethercote N, Seward J. Valgrind: A framework for heavyweight dynamic binary instrumentation. ACM SIGPLAN Notices, 2007,
42(6): 89–100. [doi: 10.1145/1273442.1250746]
[17] Hu WW, Wang WX, Wu RY, Wang HD, Zeng L, Xu CH, Gao X, Zhang FX. Loongson instruction set architecture technology. Journal
of Computer Research and Development, 2023, 60(1): 2–16 (in Chinese with English abstract). [doi: 10.7544/issn1000-1239.2022
20196]
[18] Li N, Pang JM. Intermediate code optimization method for binary translation based on intermediate representation rule replacement.
Journal of National University of Defense Technology, 2021, 43(4): 156–162 (in Chinese with English abstract). [doi: 10.11887/j.cn.
202104019]
[19] Wang ZH, Jin GJ, Wang WX. A dual-TLB method for MIPS heterogeneous virtualization. In: Proc. of the 2015 Int’l Symp. on Code
Generation and Optimization (CGO). 2015.
[20] Hong DY, Hsu CC, Yew PC, Wu JJ, Hsu WC, Liu PF, Wang CM, Chung YC. HQEMU: A multi-threaded and retargetable dynamic