论文部分内容阅读
随着计算机处理器的多样化,新型处理器往往拥有更先进的设计理念,更高的性价比,但是在推广中却受到了缺少应用软件的严重制约。将软件移植到新型处理器上,一个重要方式是二进制翻译。二进制翻译降低了不同处理器之间程序移植的难度,扩大了处理器的适用范围,对于国产新型处理器的发展意义重大。但是,动态二进制翻译效率不高,通过优化方法提高翻译效率,始终是动态二进制翻译研究的热点。论文依托核高基重大专项子课题,继续了课题组将QEMU翻译系统移植到国产某新型处理器的工作,重点研究了QEMU翻译系统的关键优化技术,旨在从动态二进制翻译角度提高QEMU系统的翻译效率。本文通过深入分析X86平台到国产某新型平台的动态二进制翻译过程,针对QEMU系统翻译中的若干问题进行研究,提出了新的优化方法。具体工作和创新为:1.总结了面向国产某平台翻译过程中QEMU系统的关键技术和实现机制,包括运行原理、流程以及TCG技术等,并对QEMU二进制翻译优化技术和效率进行分析,挖掘优化机会,提出了面向国产处理器的翻译优化框架。2.详细分析QEMU中的浮点计算翻译过程,发现浮点寄存器的模拟机制和处理浮点的函数机制使浮点指令翻译出现严重性能下降,具有很大优化空间。因此提出浮点处理与指令优化关键技术,通过浮点寄存器映射、浮点处理函数简化以及浮点库函数本地化三个方法,充分利用本地平台优势,实现了对浮点计算的高效处理。3.深入研究QEMU系统处理SIMD指令机制,发现QEMU系统频繁的函数调用和函数冗余操作是SIMD指令翻译性能低下的原因。针对这个问题,提出了基于QEMU系统SIMD指令翻译优化方案,通过嵌入式汇编修改调用函数和新引入向量中间表示两种方法,使翻译系统生成本地相同功能的SIMD指令,显著减少后端生成代码冗余,减少函数调用和执行切换,使SIMD指令翻译效率得到了很大提升。通过利用典型的Nbench测试集和SPEC2006测试集对优化方案的正确性和各个优化模块进行测试,实验表明本文提出的相关关键优化技术是正确的,可行的,高效的,能够显著提高翻译性能。