Page 116 - 《软件学报》2024年第6期
P. 116

2692                                                       软件学报  2024  年第  35  卷第  6  期


                                                表 1    典型二进制翻译系统      (续)

                 翻译      文献      年份      源平台          目标平台      类型                 技术特点
                 类型
                       StarDBT [48]  2007  IA-32, x86-64  IA-32, x86-64  D  用户级和系统级, 支持Trace链延长优化
                       CrossBit [36]  2008 MIPS, x86, Sparc  Power, x86, Sparc  D  多线程翻译, 基于Vlnst低层次的虚拟中间表示层
                        EHS [49]  2009   ARC700        IA-32     D  多个基本块组成热代码优化
                      Strata-ARM [50]  2009  ARM     ARM, IA-32  D  动态翻译应用于嵌入式系统, 间接跳转优化
                       ISAMAP [51]  2010  PowerPC      IA-32     D  灵活的跨指令集间指令直接映射
                       ARCSim [52]  2011  ARC700       x86-64    D  基于并发任务的JIT编译执行热点代码
                       Harmonia [53]  2011  ARM        IA-32     D  硬件指令加速状态标志位翻译
                       HQEMU [20]  2012  x86-64, ARM64  x86-64, ARM64  D  多线程翻译与超级代码块优化
                                                                    基于LLVM IR中间转换, 研究静态翻译中代码自修
                            [54]
                        LLBT     2012     ARM      x86/x86-64, MIPS  S
                                                                    改、重定位问题
                        SINOF [55]  2012  IA-32        IA-32     H  动静结合方式, 有效减少信息收集和程序优化开销
                                                                    提供后优化技术, 利用目标平台架构特征挖掘指令
                                                       IA-32
                             [56]
                       HERMES    2015     IA-32      ARM, MIPS   D
                                                                    之间数据依赖并开展冗余代码优化
                     MAMBO-X64 [57]  2017  AArch32    AArch64    D  硬件协同返回地址预测, 锁指令翻译优化
                 用户      Rv8 [58]  2017  RISC-V         x86      D  微指令合并, JIT编译
                 级翻         [37]
                  译     Tango    2019     ARM         ARM64      H  预先翻译, 支持VFP和NEON指令翻译
                        DAOW [59]  2019  Android平台  Windows PC平台  D  跨操作系统转换, 引入图形渲染优化
                        LAT [17]  2020  x86-64, MIPS,  LoongArch  D  软硬协同设计, 多融合优化
                                          ARM
                       ExaGear [12]  2020 x86, x86-64, ARM  ARM64  D  内存布局和局部性优化, 翻译效率高
                       Rosetta 2 [5]  2020  x86-64    ARM64      H  软硬协同设计, AOT & JIT编译优化
                       LLPEMU [34]  2021  x86-64       ARM       H  动静结合, 多面体优化, 循环并行化
                      SymQEMU [30]  2021 x86-64, AArch64  x86-64, AArch64  D  基于二进制翻译的符号执行, 灵活性强

                       Instrew [14,38]  2021  x86-64, AArch64,  x86-64  D  基于LLVM客户端+服务端多进程翻译模式
                                         RISC-V
                       FEX-Emu [39]  2021  x86, x86-64  AArch64  D  基于JSON格式的IR表示, 库函数本地化
                       Houdini [40]  2021  ARM          x86      D  完整的寄存器映射, 微码级翻译
                        Box86 [60]  2021  x86, x86-64  ARM64, RISC-V  D  系统库本地化, 重写链接与加载工作
                       Lasagne [41]  2022  x86         ARM       S  LIMM强弱内存模型变换, 形式化验证
                        Risotto [61]  2022  x86        ARM       D  基于TCG IR转换的强弱内存翻译模型
                        Embra [62]  1996  MIPS         MIPS      D  首个使用动态翻译技术的DBT, 块链接优化
                       Transmeta  2003    IA-32     Custom VLIW  D  完整软硬协同设计, 重组翻译后代码, 支持指令并
                         CMS [4]                                    行化
                        QEMU [13]  2005  多架构支持       多架构支持       D  基于TCG IR转换, 可移植性和可扩展性强
                       MagiXen [63]  2007  IA-32       IA-64     D  与XEN集成
                        PinOS [64]  2007  IA-32                  D  全程序细粒度动态插桩
                 系统          [29]
                 级翻    PQEMU     2011     ARM          x86-64    D  缓存共享的并行全系统模拟器, 低开销
                  译    COREMU [28]  2011  x86-64, ARM  x86-64    D  CPU独占缓存的并行全系统模拟
                        LIntel [65]  2012  IA-32       Elbrus    D  引入独立线程运行动态优化
                           [15]
                         Pico    2017 x86-64, AArch64  x86-64, POWER8  D  多线程翻译, 硬件内存事务支持的锁指令翻译
                              [66]
                      HybridDBT  2019    RISC-V        VLIW      H  硬件协同加速
                             [9]
                        Captive  2019    ARMv8         x86-64    H  离线优化与JIT即时编译结合, 裸金属环境运行
                             [67]
                       Banshee   2021    RISC-V      AMD EPYC    S  基于LLVM框架, 多核系统中可扩展性好
                 注: S: 静态翻译, D: 动态翻译, H: 动静结合翻译
   111   112   113   114   115   116   117   118   119   120   121