[发明专利]多处理器平台下的动态二进制翻译方法无效
申请号: | 201110043981.4 | 申请日: | 2011-02-23 |
公开(公告)号: | CN102087609A | 公开(公告)日: | 2011-06-08 |
发明(设计)人: | 王志英;徐帆;沈立;赖鑫;陈微;陈顼颢;郑重;温家辉;郭辉 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 平台 动态 二进制 翻译 方法 | ||
技术领域
本发明涉及微处理器体系结构领域动态二进制翻译方法,特别是一种多处理器平台下的动态二进制翻译方法。
背景技术
动态二进制翻译方法是虚拟化计算系统的重要支撑技术之一。动态二进制翻译方法是一种运行时的二进制代码转换方法,它能够在运行时将程序的二进制代码(源机器码)转换为与目标体系结构兼容的二进制代码。运用动态二进制翻译方法,可以使源软件不需重编译就能够直接在目标平台上高效地执行。近年来,随着体系结构的多元化发展和应用软件的极大丰富,动态二进制翻译方法广泛应用于构建虚拟计算平台,实现软件跨平台移植和辅助微处理器设计几个方面,从而成为工业界与学术界关注的热点。
传统面向单个处理器的动态二进制翻译方法一般采用软件手段实现一个翻译程序,在单核平台下对另一种体系结构的用户程序进行翻译执行。通常来说,这种用户程序在该系统下的翻译执行过程分为两个阶段。即翻译阶段和执行阶段。在翻译阶段,处理器将源体系结构的代码块翻译成目标体系结构的代码块。在执行阶段,已翻译的代码块在处理器上执行。具体翻译流程一般分为以下几个步骤:
第一步:未翻译程序加载并在动态二进制翻译器的监控下开始执行。
第二步:当遇到未翻译的指令时,翻译器启动一次翻译过程,从该指令开始翻译一个基本块或一个页面的源体系结构代码。并将翻译后的代码块储存在特定的存储区域中。
第三步:将已翻译的代码块链接到原始代码段,从翻译后代码的入口处继续执行程序。
第四步:当已翻译代码块执行完毕后,系统跳转回到原始程序代码段,并产生下一次翻译请求,开始新的翻译执行周期。
传统动态二进制翻译流程中,由于只有一个处理器,翻译过程和执行过程是串行的,在翻译执行的过程中需要不断进行现场切换,翻译执行速度受到严重的限制。另外,纯软件实现的动态二进制翻译器也存在一些不足。如翻译速度较慢,翻译执行过程中必须对用户程序每条指令的执行进行主动监控以获取运行时信息等等。这些都成为制约翻译系统性能提升的瓶颈。随着微体系结构和虚拟化技术的飞速发展,传统的“由纯软件动态二进制翻译器与单核平台组成翻译系统进行翻译”的翻译方法不能满足用户需求。为此,人们考虑采用新的翻译方法来进行动态二进制翻译。
利用多处理器进行动态二进制翻译是一种新的思路。在翻译系统中引入一个或多个协处理器并开发相应的翻译软件在其上运行,以此来对用户程序进行动态翻译。这种多处理器翻译系统能够在翻译的同时不影响已翻译程序的执行,通过翻译与执行的并行使翻译系统整体性能提升。“协处理器+翻译软件”的多处理器动态二进制翻译方法与传统方法相比具有以下几个明显优势。首先,协处理器对用户程序翻译与主处理器对已翻译代码的执行可以并行。具体来说,当主处理器执行翻译后的目标体系结构代码的同时,协处理器能够对源体系结构代码块进行翻译,生成后续目标体系结构代码。当主处理器执行完一个目标体系结构代码块时,若后续代码块已经就绪,就只需要从指定的位置开始执行该代码块即可,而协处理器则转而翻译其他的源体系结构代码块。这样就大大节省了翻译开销。其次,多个协处理器在翻译时也可以通过分段翻译的方式实现并行,从而使翻译的整体效率提升。第三,翻译软件能够提供覆盖整个源体系结构指令集的翻译,具有较好的可扩展性和灵活性。
引入协处理器的方法使翻译系统具有极大的性能提升潜力,然而要发挥这种潜力,必须开发相应的支持多处理器翻译的软件,如上面所说的翻译程序。此外,由于翻译过程和执行过程分别在不同处理器上运行,传统动态二进制翻译方法中采用的翻译与控制一体化的翻译软件也不适合运用在新的系统中。必须在主处理器上实现一套支持多处理器翻译控制和通信机制的软件,才能够最终使系统正常运转,发挥多处理器翻译带来的优势。
发明内容
本发明要解决的技术问题是提出一个运用多处理器平台进行动态二进制翻译的方法,利用操作系统缺页中断机制实现翻译控制,支持“主处理器+协处理器+翻译程序”以页面为单位对用户程序进行翻译执行。
本发明的技术方案是:
第一步,选择两个或两个以上的处理器并搭建硬件平台。主处理器与协处理器可同构也可异构,也可以是支持不同指令集的处理器。连接方式可采用总线方式或采用全局共享存储方式。
采用总线方式连接的硬件平台的搭建方法是:
1.1选择通信接口。可以选择GPIO(General Purpose IO),PCI等常用的通信接口作为主处理器和协处理器间交互的通信接口。
1.2定制通信总线。根据总线两端的通信接口定制通信总线。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110043981.4/2.html,转载请声明来源钻瓜专利网。