【技术实现步骤摘要】
本专利技术涉及计算机领域的二进制翻译技术,尤其涉及一种动静结合二进制翻译中静态信息不完备的处理方法及装置。
技术介绍
编译是计算机自身领域的关键技术,二进制翻译则是编译的一个重要研究方向。早在1987年HP公司就开发了第一个商用二进制翻译系统Bergh et al。接下来,许多公司和研究机构也相继展开了这方面的研究,其中最具有代表性的有HP、IBM、Digital、AT&T、APPLE、Transmeta、澳大利亚Queensland大学、奥地利维也纳技术大学等,目前,Intel设立在中国的软件中心也加入了这个行列。二进制翻译目前正在成为解决软件移植问题的一个研究热点。众所周知,新开发的处理器如果其ISA不向前兼容,则会失去现有软件的支持,影响其推广和应用。这就迫使设计者使用宝贵的芯片空间来兼容老处理器,这样既增加新处理器的复杂度和功耗,影响其主频的提高,又阻碍了处理器的发展。二进制翻译技术为新旧处理器架起了一座桥梁,将现有的软件移植到新开发处理器上执行,使得新处理器摆脱向前兼容的约束。二进制翻译技术对促进国产处理器的发展也很有意义。近十多年来,中国的信息产业得以飞速发展,并正在逐步走向成熟。随着知识和经验的积累,业界精英们开始向计算机领域中最为核心的技术挑战。以“龙芯”、“星光”、“方舟”、“汉芯”、“神威”、“万通”、“北大众志”等为代表的国产通用或嵌入式微处理器不断涌现,打破了中国无“芯”的局面。但由于Intel在X86系列微处理器上各种专利的限制,使得国内的许多微处理器设计者不得不采用与X86系列微处理器不兼容的ISA。众所周知 ...
【技术保护点】
一种动静结合二进制翻译中静态信息不完备的处理方法包括以下步骤:a)从静态可翻代码中选取一些特殊的指令,将这些指令留作为入口,保守处理;b)除了留作入口的指令外,其它的地方无需进行保守处理,采用跨基本块的各种全局优化策略对翻译 代码进行深度优化。c)动态翻译执行模块启动后,将静态翻译的代码和相应的入口装入内存,并优先运行静态本地码。d)在动态执行过程中,如果遇到尚未翻译过的代码时,由动态翻译器根据即将执行的地址对这些代码进行即时翻译执行,将动态生成 的本地码之间以及静态生成的本地码进行链接,即时翻译直到遇到静态翻译所留出的入口时,再重新转入静态翻译的代码进行执行。
【技术特征摘要】
1.一种动静结合二进制翻译中静态信息不完备的处理方法包括以下步骤a)从静态可翻代码中选取一些特殊的指令,将这些指令留作为入口,保守处理;b)除了留作入口的指令外,其它的地方无需进行保守处理,采用跨基本块的各种全局优化策略对翻译代码进行深度优化。c)动态翻译执行模块启动后,将静态翻译的代码和相应的入口装入内存,并优先运行静态本地码。d)在动态执行过程中,如果遇到尚未翻译过的代码时,由动态翻译器根据即将执行的地址对这些代码进行即时翻译执行,将动态生成的本地码之间以及静态生成的本地码进行链接,即时翻译直到遇到静态翻译所留出的入口时,再重新转入静态翻译的代码进行执行。2.如权利要求1所述的方法,其特征在于,步骤a)中的入口为被翻译的翻译单元的入口所在基本块;函数调用指令的下一条指令所在基本块;入口数量超过某一个自定义门限的基本块;及动态轮廓信息搜集到的,其它翻译单元中的分支跳转指令进入的本翻译单元的目标地址。3.如权利要求2所述的方法,其特征在于,所述翻译单元是一代码段;所述翻译单元以函数调用指令或分支跳转指令的目标地址作为起始入口;从入口开始,依次按照控制流分析相应的指令,当遇到静态时无法确定的目标的间接跳转目标的指令、函数返回指令时,这些指令翻译所述翻译单元的出口。4.如权利要求1所述的方法,其特征在于,步骤a)中,对这些被留作入口的地方进行保守处理,不允许全局优化策略打乱这些入口处的状态,保持与源二进制代码相同的属性、寄存器和其它机器状态的一致。5.一种静态翻译方法,包括以下步骤a)如果存在上一次动态翻译执行时所获得的轮廓信息,读入这些信息,用这些信息作为后续步骤地指导信息。如果不存在,则将用于指导的轮廓信息设为空;b)反汇编源二进制代码;c)设置入口信息,将这些入口记录在入口信息表中;d)进行静态翻译,除了留作入口的地方,其它均采用深度优化策略进行优化;e)保存翻译后的代码和入口信息表,以供动态翻译执行器使用。6.如权力要求5所述的方法,其特征在于,步骤a)中,轮廓信息包括块的热度信息,间接目标信息和目标不在本翻译单元的分支跳转指令及其目标地址。7.如权利要求5所述的方法,其特征在于,步骤b)中,当遇到间接跳转和间接调用时,查找间接目标信息表,如果已经有了相应的目标,则继续进行;否则,结束。在步骤c)中,将那些可能作为其它代码的目标的基本块留作入口,这些入口包括被翻译的翻译单元的入口所在基本块,函数调用指令的下一条指令...
【专利技术属性】
技术研发人员:武成岗,张兆庆,冯晓兵,崔慧敏,谢海斌,唐锋,杨浩,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。