动态二进制翻译是解决一款指令集面临生态系统壁垒问题的主流技术,通过将二进制程序从源指令集翻译成目标指令集,可以在目标指令集的处理器上运行源指令集的应用程序. 动态二进制翻译技术的一大挑战是如何生成高质量的目标指令序列,尤其当源指令集和目标指令集存在差异时. 为探究该问题,以RISC-V64指令集为目标指令集,分析了当RISC-V64,RISC-V32,MIPS32,x86分别作为源指令集时,影响动态二进制翻译技术翻译质量的因素. 针对这些因素,分别提出相应优化方法,并借助RISC-V B扩展和RISC-V P扩展中的部分指令提升翻译质量. 最后,提出一个新的动态二进制翻译程序DBT-FEMU实现优化. 在模拟器和FPGA中的评估数据显示,运行SPEC CPU2006的整数基准程序时,优化方法可使目标程序所执行的动态指令数平均减少57%,平均性能达QEMU-i386的4.12倍.
… … 相似文献