面向国产处理器的二进制翻译关键技术研究

来源 :解放军信息工程大学 | 被引量 : 5次 | 上传用户:lhihxk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当今世界信息技术一日千里,计算机处理器的发展日新月异,具有自主知识产权的国产通用处理器也得到迅猛发展。为匹配硬件平台发展对软件应用需求的高速增长,助推国产处理器广泛应用,拓展国产巨型计算机的生态环境,软件和代码移植技术成为实现上述目标的快速有效解决途径。二进制翻译技术是实现软件和代码移植的重要手段,在无源代码继承、应用程序优化、软件系统安全分析等方面都有着重要的意义,是现代编译技术研究的热点之一,是软件逆向工程的重要组成。静态二进制翻译在翻译生成程序执行速度和效率上具有先天优势,动态二进制翻译在软件移植的普适性和完备性方面效果突出,动静结合的二进制翻译方法可以结合二者长处,充分体现这项技术的特点,也是未来研究的发展方向。为了解决多源平台二进制应用程序向国产处理器平台的移植问题,本文提出了多源一体化翻译的概念,并给出了多源一体化翻译系统的整体架构,针对其中的关键翻译技术和软硬件协同翻译技术等方面进行了系统深入的研究。本文研究的主要内容和贡献包括:1.提出了多源一体解码和语义映射方法。目前,在二进制翻译领域,针对多源平台向特定目标处理器进行程序移植时的统一解码处理和统一语义映射问题,尚未有一套整体的、具备通用性的解决方法。本文提出了在多源一体化翻译架构中解决多源统一解码和统一语义映射的方法。针对其中多源异构平台统一解码十分繁杂、较难统一的问题,本文给出了一种统一编码解码语言的本地化方法,有机地实现了多源平台的一体化解码;针对其中现有技术缺乏适用于多源平台的统一的语义描述语言问题,本文提出了一种有效最小操作等价语义变换方法,对统一最小语义进行了规范定义,并构建了适用于多源一体化二进制翻译的统一最小语义描述语言,实现了多源语义统一描述和统一转换。基于SPEC CPU2006等用例对采用上述方法所支撑的翻译系统进行了实验,针对各源平台的所有测试用例均可以进行正确地指令解码和语义转换,翻译生成程序均能在申威(简称SW)平台得到与源平台上相同的运行结果,表明了上述方法的有效性、完备性和正确性。2.提出了适用于多源一体化二进制翻译的过程数据恢复方法。在多源一体化二进制翻译中,必须要解决多源平台向特定目标平台的过程数据恢复问题。针对其中用户过程数据的具体类型和访问方式不容易恢复的问题,本文提出了一种基于语义镜像和栈帧动态维护的用户过程数据恢复方法,从程序指令语义角度出发,有效地解决了多源异构平台到SW平台的用户过程数据的恢复问题;针对其中异构平台间库函数调用约定差异较大带来的难以统一翻译问题,本文提出了一种基于函数封装和按序分发的库函数数据恢复方法,实现了库函数参数传递差异的统一融合处理和多源一体化的库函数移植。通过系统的整体测试,验证了本文用户过程数据恢复方法的有效性和正确性;对库函数封装和按序分发方法进行了针对性实验,翻译生成程序文件大小的缩减率平均达到了17.29%,表明了该方法可以有效缩减生成源码文件的大小,降低代码膨胀率。3.提出了针对标志位简化翻译的代码优化方法。现有的标志位优化翻译方法均不能完全解决从X86到SW处理器的标志位模拟的特殊性问题。本文提出了基于多阶段优化策略的标志位优化翻译方法。针对其中标志位条件校验存在大量冗余操作的问题,提出了一种基于相邻条件校验的标志位冗余操作化简方法,有效解决了语义映射阶段“冗余条件验证”带来的代码膨胀问题;针对其中存在大量“无效标志位引用和定值”操作的问题,提出了一种源平台语义模式发现与跨函数边界无效标志位消除相结合的标志位优化翻译方法,利用异构平台间“语义对”等价特性实现了语义转换阶段指令语义模式的简化翻译,最终在代码优化阶段通过逐渐去除无效的标志位操作,实现了较为完善的静态标志位优化翻译。在采用上述代码优化翻译技术后,翻译生成程序的代码缩减率平均达到了12.11%。4.提出了一种动静结合的二进制翻译框架。现有的二进制翻译方式存在静态二进制翻译完备性差和动态翻译效率低的问题。本文提出了一种基于增量反馈和多轮维护的动静结合二进制翻译框架,并给出了该框架的实现方法。该框架以静态分析为基础,以动态协同翻译为支撑,基于轮廓信息和静态已翻译信息制导实现静动态二进制翻译的合理交互。实验结果表明,本文提出的动静结合翻译方法能够基本解决间接转移指令给静态翻译带来的问题,并且在翻译参数类型和算法相对固定的程序时,经过几次执行反馈后,便可形成一个相对完备的独立程序,拥有与静态翻译生成程序一样的执行效率。5.提出了面向SW平台的软硬件协同翻译方法。当前,纯软件实现的动态二进制翻译存在优化能力提升有限的现实问题。为了提高X86处理器到SW处理器动态二进制翻译的执行效率,本文在对SW体系架构和X86架构深入研究基础上,对纯软件动态二进制翻译的性能瓶颈进行了深入的分析,在此基础上,提出了面向SW平台的、软硬件协同的二进制翻译技术,给出了软硬件协同翻译的实现框架和解决方案。最后,本文实现了一个多源一体化二进制翻译系统,基于该系统对提出的相关方法和技术进行了整体实验和测试,验证了方法的正确性和有效性。
其他文献
考古工作者在三峡地区发现了大量与巴人和巴文化相关的遗物,同时也发现了不少反映当时生态环境的重要材料.巴人所处三峡地区的生态环境与三峡地质地貌紧密相关.生态环境对巴
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
近几年来,中央财政通过海域使用金投入支持74个海域海岸带整治修复项目,取得一系列显著效果,但也存在缺乏全面规划、管理制度不健全、部分项目实施方案不科学、实施进度拖延
分析了总线插座针的成形工艺,确定了冲压工艺方案,设计了16工位级进模,采用弹压卸料板将条料稳定在各工位上,保证了条料在各工位间传递的平稳性和可靠性。正确的工艺、合理的
新一代IT技术发展浪潮已经来到了我们身边。云计算及其相关技术作为这股浪潮的核心组成部分,正潜移默化地影响着我们的生产和生活方式。分布式存储技术作为构建云计算基础设
现代铁路运输业的快速发展,为与之相关的基础设施不断完善创造了有利的条件。实践过程中为了满足铁路生产活动开展的实际需要,应重视集装箱多式联运发展,并将相关的工作落到
利用杭州市日均空气污染物浓度与呼吸系统疾病门诊人数数据,结合泊松广义相加模型(GAM)和反向传输(BP)神经网络模型,评价该区域主要空气污染物对居民呼吸系统疾病的影响,并进行短
在刑事司法解释体制中,检察机关应否具有司法解释权,究竟可否成为司法解释权主体是学术界争论颇多的问题。争论的观点不外乎两种:一肯定说。二否定说,争论的根源在于对检察权的性