[发明专利]利用中间指令集的二进制翻译方法有效
申请号: | 200710047697.8 | 申请日: | 2007-11-01 |
公开(公告)号: | CN101145109A | 公开(公告)日: | 2008-03-19 |
发明(设计)人: | 管海兵;梁阿磊;包云程 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 上海交达专利事务所 | 代理人: | 毛翠莹 |
地址: | 200240*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种利用中间指令集的二进制翻译方法,设计一套中间指令集作为从一种机器指令翻译到另一种机器指令时的中间层,有效隔开源机器与目标机器。中间指令集包含与主流机器指令集相匹配的基本指令,分为寄存器状态映射指令、内存访问指令、数据移动指令、运算指令、控制转移和特殊指令。在将机器指令翻译为中间指令时,将一些最常用的源机器指令直接映射到某条中间指令,而对于不常用源机器指令则可以翻译成多条中间指令或者用C函数模拟。本发明采用中间指令集准确表达各种体系结构机器的指令,大大减小了二进制翻译器支持多种源与目标机器平台的复杂性,实现了二进制翻译器可重定向性,对优化二进制翻译器系统结构和系统性能起到关键作用。 | ||
搜索关键词: | 利用 中间 指令 二进制 翻译 方法 | ||
【主权项】:
1.一种利用中间指令集的二进制翻译方法,其特征在于包括如下步骤:1)映射源机器寄存器到虚拟寄存器:定义中间指令集具有无穷多个32位寄存器,称虚拟寄存器,记作vn,其中v0永远代表零值;分析源机器指令中将要使用的源机器寄存器,通过寄存器状态映射指令GET s,v、FGETS s,v和FGETD s,v,将源机器寄存器映射至虚拟寄存器,将源机器指令对源机器寄存器的状态改变对应到中间指令对虚拟寄存器的改变,从而建立源机器寄存器到虚拟寄存器的映射关系;2)将源机器指令翻译为中间指令:将最常用的源机器指令直接映射到某条中间指令,而对于不常用源机器指令则翻译成多条中间指令或者用C函数模拟,其中,加载数据至虚拟寄存器时,采用中间指令LD(v,imm),sz,v和FLD(v,imm),sz,fp将源机器指令中包含的内存数据加载至虚拟寄存器,采用中间指令LI imm,v将源机器指令中包含的立即数imm值赋给虚拟寄存器v,采用中间指令MOV v1,v2在虚拟寄存器之间移动数据;处理虚拟寄存器中的数据时,分析源机器指令所包含的运算操作,根据源机器指令语义用中间指令中的一条或几条运算指令将源机器指令的运算准确表达出来,采用算术计算指令完成算术运算,采用逻辑计算指令完成逻辑运算,采用移位运算指令完成移位操作,采用条件比较指令完成条件比较;控制中间指令的执行顺序时,分析源机器指令中所包含的跳转,用中间指令直接跳转JMP和分支跳转BRANCH来表示源机器指令的跳转;将数据运算结果写回时,分析源机器指令,用中间指令写回指令执行的结果,采用中间指令MOV v1,v2在虚拟寄存器之间移动数据,将结果写回虚拟寄存器,采用中间指令ST v,sz,(v,imm)和FST fp,sz,(v,imm)将虚拟寄存器中的数据写回至内存;采用特殊指令完成一些特定二进制翻译系统的功能,包括系统调用SYSCALL,中止运行HALT,函数调用CALL w1,w2,w3…;3)建立虚拟寄存器与目标机器寄存器的映射关系:定义虚拟寄存器的Next-Use是下一次使用该虚拟寄存器的中间指令在指令流中的位置;当目标机器寄存器数目大于等于源机器寄存器数目时,将所用到的虚拟寄存器一一对应到目标机器寄存器;当目标机器寄存器数目小于源机器寄存器数目且有空闲目标机器寄存器时,则将虚拟寄存器映射到空闲的目标机器寄存器;当目标机器寄存器数目小于源机器寄存器数目且没有空闲目标机器寄存器时,则将虚拟寄存器映射到具有最大Next-Use值的目标机器寄存器;4)将中间指令集映射到目标机器指令集:对中间指令进行编码,生成目标机器二进制代码,将中间指令集映射到目标机器指令;对于不能直接映射到机器指令的中间指令,用C函数实现;5)将虚拟寄存器映射回源机器寄存器:用PUT v,s、FPUTS v,s、FPUTD v,s指令将虚拟寄存器映射至源机器寄存器,将中间指令对虚拟寄存器的改变对应到源机器指令对源机器寄存器的状态改变,从而建立虚拟寄存器到源机器寄存器的映射关系。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200710047697.8/,转载请声明来源钻瓜专利网。
- 上一篇:蠕动式微小管道机器人
- 下一篇:一种数据显示方法及数据显示系统以及相关设备