论文部分内容阅读
随着计算机科学技术的发展,计算机芯片的实现也越来越多样化。由于不同芯片平台指令集架构的不同,特定架构无法直接执行本架构以外的软件。针对这一问题,解释、仿真和二进制翻译等多种指令仿真手段得以提出和实现。其中二进制翻译技术依靠优于其它方案的稳定性,逐渐成为软件跨平台执行问题的主要解决方案之一。为进一步提高二进制翻译生成的目标平台指令序列的执行效率,本论文提出动态链接库文件的移植方案,设计并实现了动态链接库文件移植系统LFMS。针对该系统,提出了跳转指令目标地址映射算法JTMap和面向API的部分函数执行优化算法F-API,进一步优化LFMS系统的执行效率。对于动态链接库文件中被调用函数的指令序列,在传统的二进制翻译系统中,它的翻译过程和可执行文件的翻译执行过程是同时进行的。LFMS系统和F-API优化算法不仅实现了这种翻译过程的分离,而且能够充分利用源平台和目标平台共有的动态链接库文件降低翻译模块的输入规模,从而达到提升目标平台指令序列执行效率的目的。本文主要工作内容与创新如下:1.构建动态链接库文件移植框架,实现动态链接库文件移植系统LFMS。针对动态链接库文件缺失而导致的软件移植失败问题,提出了对目标平台指令序列的封装技术Wrapper,实现了动态链接库移植系统LFMS,有效的解决了缺少源码时动态链接库文件的移植问题,改变了动态链接库文件中函数在二进制翻译中的处理机制,提升了二进制翻译生成的目标指令序列的执行效率。2.设计基于标记的跳转目标映射算法JTMap,解决了由指令膨胀所导致的跳转指令失灵问题。JTMap算法通过构建源和目标指令间的映射关系,保障动态链接库文件中跳转指令翻译前后语义的一致性,扩展了LFMS系统对内部跳转指令的处理能力。3.设计面向API的二进制翻译系统优化算法F-API,有效缓解二进制翻译系统中翻译模块时间消耗较高的问题。F-API算法从降低二进制翻译系统中翻译模块任务量的角度出发,通过充分利用源和目标平台共有的功能和形式完全一致的动态链接库文件,提高了LFMS系统的翻译指令执行效率。对LFMS系统和优化算法F-API进行验证。通过比较相同功能代码块执行过程中的CPU节拍数判断系统的效率和优化算法起到的优化效果。实验证明,在程序执行过程中,LFMS系统移植生成的动态链接库文件中代码段相较于动态二进制翻译执行过程,其效率最大可提升4.91%;F-API算法对LFMS系统生成目标指令的执行性能提升约18.32%。