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
   132   133   134   135   136   137   138   139   140   141   142