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: 动静结合翻译