[发明专利]带多重优化的函数级即时翻译引擎有效

专利信息
申请号: 200680016250.8 申请日: 2006-04-28
公开(公告)号: CN101517536A 公开(公告)日: 2009-08-26
发明(设计)人: V·谭 申请(专利权)人: 微软公司
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 上海专利商标事务所有限公司 代理人: 张政权
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多重 优化 函数 即时 翻译 引擎
【说明书】:

发明领域

本发明涉及用于通过将旧版本计算机系统(legacy computer system)所使 用的代码转换成由主机计算机系统执行的代码而在主机硬件环境中虚拟化旧 版本硬件环境的系统和方法,并且本发明尤其涉及在函数级而不是在指令级执 行代码翻译的即时(just-in-time)翻译引擎,并且该即时翻译引擎通过将旧版 本代码指令的序列翻译成相应的主机代码指令序列来优化所得的代码。

发明背景

在更新像游戏控制台那样的计算机系统硬件体系结构以实现更快、具备更 多功能的硬件时,开发者面临由为旧版本计算机系统平台开发的应用程序或游 戏带来的对旧版本计算机系统的向后兼容性问题。尤其,商业上希望最新的硬 件体系结构支持为旧版本硬件体系结构开发的应用程序或游戏。然而,如果最 新的硬件体系结构实质上或根本上不同于旧版本硬件体系结构,两个系统之间 的体系结构差异会使得旧版本应用程序或游戏没有真实硬件修改和/或软件补 丁就在新硬件体系结构工作变得非常困难甚至不可能。由于用户通常期待这样 的向后兼容性,这些问题的解决对最新的硬件体系结构的成功至关重要。

个人计算机体系结构和软件仿真的最近进展已经为计算机甚至游戏控制 台提供足够强大的硬件体系结构来允许以软件而不是硬件来仿真旧版本应用 程序或游戏。这类软件仿真器将用于应用程序或游戏的标题指令(title instruction)即时地翻译成新硬件体系结构可以理解的设备指令。这一软件仿真 方式对游戏控制台的向后兼容性特别有用,因为游戏控制台的开发者保持对硬 件和软件平台的控制,而且对旧版本游戏相当熟悉。

大多数这类软件仿真器每次一个处理器指令地翻译代码。例如,软件仿真 器可以把单个x86指令从源流提出来,即时地将其翻译成目标处理器(例如, PowerPC(PPC))指令集的一个或多个预定义等效(指令),在目标处理器 上运行那些PPC指令,然后返回到源流处理下一个指令。这一方式在概念上很 简单,但是它有缺点。例如,这一方式涉及在软件仿真器和实现使用x86指令 集写成的旧版本应用程序或游戏系统的虚拟机(VM)之间的许多慢速上下文 来回切换。当翻译指令时,这一方式也从软件仿真器强占任何上下文,强迫仿 真器依赖于简单的映射指令表。这是显著的性能缺点,因为如果软件仿真器能 够考虑上下文的指令,那么软件仿真器将能够翻译代码块而非一个指令接着一 个指令地翻译,由此显著地改进翻译性能。

因此,需要通过为待翻译的指令提供一种在上下文中考虑的机制来改进指 令翻译性能的技术。本发明解决本领域中的这一需求。

发明概述

通过在源代码的函数级而不是在操作码级翻译代码,本发明解决本领域中 的上述需求。本发明的软件仿真器从源流抓取完整的x86函数,将整个函数翻 译成目标处理器的一个等效函数,并在返回到源流之前一次性地运行该函数。 这一技术不但减少上下文切换,而且由于一次性见到完整的x86函数上下文, 软件仿真器可以优化代码翻译。例如,软件仿真器可以决定将一个x86指令序 列翻译成一个高效的PPC等效序列。许多这样的优化产生更紧密的已仿真二进 制,这是任何软件仿真器尤其期望的,特别是必须很快地运行代码的游戏仿真 器。

本领域内的技术人员应该认识到,尽管本发明的一个示例性实施例在可从 微软公司获得的Xbox计算机游戏系统中被实现,但在其中使用代码翻译的任 何计算机游戏控制台或其他类型计算机系统均可受益于本发明的函数级代码 翻译技术。基于以下详细描述,本领域中的技术人员将会明显看出本发明的其 他特性。

附图简述

参照附图,进一步描述用于依照本发明提供具有多重优化的函数级即时代 码翻译的系统和方法,在附图中:

图1A是一个表示用于计算机系统的仿真操作环境的硬件和软件体系结构 的逻辑分层的框图;

图1B是一个表示虚拟化计算系统的框图,其中仿真由主机操作系统执行 (直接执行或经由管理程序执行);

图1C是一个表示备选虚拟化计算系统的框图,在该计算系统中仿真由与 主机操作系统并列运行的虚拟机监视器执行;

图2示出了虚拟机中实现的旧版本游戏系统的虚拟存储器和主机游戏系统 的虚拟存储器之间的关系。

图3示出了使用本发明的技术把来自虚拟机中实现的旧版本游戏系统的 x86代码转换成主机游戏系统的PPC代码的系统。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200680016250.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top