2024, 51(8):70-77.
摘要:现在,几乎每个处理器架构都已经加入了对SIMD(single instruction multiple data)指令的支持,SIMD指令能同时对一组数据执行相同的操作,通过数据并行来提高处理器的处理性能.但是大部分动态二进制翻译器忽略了本地SIMD指令的利用,而是以软件语言实现来模拟浮点计算.本文提出了一种基于QEMU翻译系统的FP-QEMU框架,FP-QEMU框架采用SIMD指令来优化替换浮点计算指令,并在X86和ARM平台上完成了完整的浮点实现.该框架可以识别动态二进制翻译系统中的浮点计算优化机会并利用SIMD指令来提升系统翻译的性能.采用SPEC 2006作为测试基准,实验表明相比QEMU,FP-QEMU跨平台的ARM应用在X86计算机上运行的最高加速比可达51.5%,平均加速比达到37.42%.