[发明专利]程序代码转换期间的执行控制的方法和装置有效
| 申请号: | 200680007960.4 | 申请日: | 2006-03-06 |
| 公开(公告)号: | CN101137962B | 公开(公告)日: | 2010-05-19 |
| 发明(设计)人: | 盖文·巴瑞克罗;万奇曼;亚历山大·B.·布朗;大卫·N.·麦金塔许 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 杜娟 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 程序代码 转换 期间 执行 控制 方法 装置 | ||
技术领域
本发明总体涉及计算机和计算机软件领域,尤其涉及例如在用于转换程序代码的码转译器、仿真器、和加速器中的程序代码转换方法和装置。
背景技术
在嵌入式和非嵌入式CPU中,具有存在许多软件的主要指令集架构(ISA),倘若指令集架构(ISA)显然能够存取相关软件,则能够为性能“加速”、或“转译”成能够呈现更好成本/性能优势的大量有能力的处理器。还发现主要的CPU架构被及时锁到它们的ISA,并且无法发展性能或市场影响力。此种CPU得益于软件导向的处理器共同架构。
例如在已公开的PCT申请WO00/22521和其它申请案中公开了有助于此种加速、转译、和共同架构能力的程序代码转换方法和装置。
用于执行程序代码转换的转译器必然产生与操作转译器有关的耗用时间。尤其是,动态转译需要转译器与被转译程序代码内联地(inline)操作,使得主机CPU的执行切换于转译器程序和被转译码之间。执行此切换包含大量的工作,因此导致时间的延迟。
发明内容
本发明提高进行程序代码转换时的转译器的性能。
本发明的优选实施例减少与进行转译器的执行和被转译码的执行之间的上下文切换有关的耗用时间,尤其是在动态转译期间。
根据本发明,提供有如所附权利要求所阐述的装置和方法。从独立权利要求和下面的说明将可明白本发明的优选特征。
下面是根据本发明的实施例可实现的各种方面和优点的概要。提供此概要当作引言,由此帮助本领域技术人员更快速理解下面的详细设计讨论,该讨论并不旨在以任何方式限制所附权利要求的范畴。
尤其是,本发明人已发展出旨在迅速执行程序代码转换的最佳技术,尤其适用于采用将源程序代码转译成目标码的执行期间转译器。
在本发明的第一方面中,提供有将源码(subject program)转换成目标码时的执行控制的方法,包括提供从转译器执行循环调用的转译器蹦床(trampoline)函数,并且该转译器蹦床函数接着调用转译器码产生器以产生额外的目标码或调用事先产生的目标码作以执行。然后,控制回到转译器蹦床函数以进行新的调用,或经由蹦床函数回到转译器执行循环。
优选的是,第一和第二调用规约被应用于蹦床函数的任一侧。改变调用规约使参数能够诸如在转译器码产生器函数和被执行目标码之间传递,尤其是通过使用目标处理器寄存器。参数优选地包括指代源码的当前块的块识别符及/或有关源处理器状态的参数。
优选的是,蹦床函数也执行目标处理器的处理器模式切换,诸如在第一和第二模式之间切换。适当地,当调用转译器产生器函数(即转译器上下文)时应用第一模式,而应用不同的第二模式来执行产生的目标码。
本发明的另一优选方面是允许间接经由转译器蹦床函数或直接从块到块而由第一目标码块跳越到下一块。优选的是,该方法包括产生具有尾端指令的各个目标码块,以提供链接参数。链接参数链接到下一块,诸如通过链接到存储有下一块或存储有表示下一块的块对象的存储器地址。在一个实施例中,在跳越指令的操作数使用链接参数。
在本发明的另一方面中,优选方法包括提供嵌套在第一转译器蹦床函数内的第二转译器蹦床函数。优选的是,从执行目标码块调用第二蹦床函数,接着调用嵌套式转译器函数以产生额外的目标码。
在本发明的另一方面中,优选方法包括执行概况(profiling)检查以决定执行控制是否将随目标码延续,或回到转译器执行循环。尤其当在目标码块之间跳越时施行概况检查。优选的是,概况检查包括保持执行目标码块的计数值及比较该计数值与预定阈值。一旦目标码已重复预定次数,执行控制被强制回到转译器执行循环。
本发明又延伸到计算机可读式存储介质,执行本文所说明的方法的程序软件已记录在其上以执行本文所说明的方法。另外,本发明延伸到与此种软件结合在一起的计算机处理器,诸如转译器装置或其它计算机器等。
附图说明
并入且构成本说明书的一部分的附图例示了当前优选实现并说明如下:
图1是例示将源码转译成目标码的示例性计算环境的示意图;
图2是程序代码转换期间的执行控制的示例性方法的示意流程图;
图3是示出源程序示例的示意表示图;
图4是目标架构中的执行控制的示意表示图;
图5例示了图2、3及4的执行控制方法的工作量分布;
图6是程序代码转换期间的执行控制的优选方法的概图;
图7例示了优选方法中的工作量分布图;
图8例示了程序代码转换期间的采用第一和第二调用规约的优选方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680007960.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于被监视资源的管理计划的方法和系统
- 下一篇:带有指示器的显微镜





