[发明专利]对动态可扩展处理器的软件支持无效
申请号: | 200780004500.0 | 申请日: | 2007-01-31 |
公开(公告)号: | CN101379467A | 公开(公告)日: | 2009-03-04 |
发明(设计)人: | A·弗林;N·L·林奇;R·F·拉什德 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/24;G06F9/45 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 扩展 处理器 软件 支持 | ||
背景
尽管CPU设计者致力于通用性,但是曾经生产的每个应用程序都在包括 其可执行文件映像的代码的非常小的一部分中花费其大多数时间。这对于用于 个人计算机的通用程序、用于嵌入式计算机的程序以及甚至对于诸如由来自华 盛顿州雷蒙德市的微软公司生产的XBOX等游戏平台而言都是如此。分析 显示可执行文件映像中的前两个或三个基本块一般占用超过总的执行计数的 80%。
更加高效的程序执行的一个吸引人的前景是用具有与原始的通用软件指 令序列相同的语义但具有高效得多的实现的专用处理器指令来优化首先运行 的基本块。文献中报告的加速的范围从两倍到六倍,并且在某些情况下甚至大 于不止十倍。我们自己的经验致使我们认为三倍是期望的加速的保守估计。
现代处理器的CPU实现良好文档化的、固定的处理器指令集。选择处理 器指令来以尽可能多的压缩形式捕捉尽可能大的应用程序需求集。CPU一般以 使得一旦已生产出芯片就不可能添加任何新的处理器指令的方式在固定逻辑 中实现。另一方面,现场可编程门阵列(FPGA)是一种实现甚至在现场已部 署了芯片之后仍然允许稍后的扩展和修改的CPU的可选方法。
也可能用固定的逻辑来实现CPU,但是用动态可更改的方式来互连CPU 的内部组件。该方法可导致我们称之为“动态可扩展处理器”的新类型的处理 器。这些处理器综合了固定逻辑的优点(缩小的尺寸、更高的时钟速率)与将 处理器扩展添加到基本处理器指令集的能力。
对可扩展处理器的实际使用理想情况下应该利用应用程序中的已扩展的 指令。一般而言,程序员利用汇编器或更高级语言编译器来编写应用程序。这 种方式可能需要对于每条新的处理器指令重新生成新的汇编器和新的编译器。 虽然当然是可能的,但这是相当耗时的操作。该方式还充满了限制和危险。如 果程序实际上是用汇编器来编写的,则该程序必须重写。如果修改了编译器以 利用新指令,则只有高级语言程序能够自动地利用该新指令。此外,如果没有 编译器的源代码,则不可能修改该编译器。编译器是大且复杂的程序,所以非 常有可能引入细微的错误。最后,可能没有着重使用的应用程序或某些关键库 的源代码。
现有的工具和操作系统是针对固定的处理器指令集而设计的,并且不能够 解决动态可扩展处理器的需求。例如,由加利福尼亚州的圣克拉拉市的 TENSILICA公司生产的XTENSA处理器系列是按以下方式由标准工具集来 支持的:从由制造商提供的基本处理器设计开始,系统设计者使用特殊的工具 来为新处理器定义一条或多条处理器指令。该工具的主要目的是帮助为新扩展 的处理器创建Verilog代码。该工具基于新处理器指令的手动定义自动地生成 新编译器和链接器。注意,该过程是静态的;它需要在能够为它编译和优化应 用程序之前创建新的芯片以及新的工具集。
其副本放于美国专利和商标局的文件中的以下参考文献提供了关于定制 的和可扩展的处理器的设计的额外背景:Clark、Blome、Chu、Mahlke、Biles 和Flautner的“An Architecture Framework for Transparent Instruction Set Customization in Embedded Processor(用于嵌入式处理器中的透明指令集定制 的体系结构框架)”。参考书目部分参考了由一般也与此处所描述的工作相关 的相同和其他作者创作的各种其他论文。
概述
此处提供用于动态可扩展处理器的软件支持的系统和方法。一种工具能够 重写由编译器产生的可执行映像。该工具能够添加扩展定义、插入扩展触发指 令、以及添加安全签名。当加载可执行映像时可以向操作系统软件通知扩展能 力,并且操作系统软件可继而加载合适的处理器扩展。该操作系统能够代表应 用程序来管理处理器扩展的可用性。以下将描述本发明的其他优点和特征。
附图简述
将参考附图进一步描述根据本发明的用于动态可扩展处理器的软件支持 的系统和方法,在附图中:
图1示出了在其中工具110能够重写由编译器产生的可执行映像100的本 发明的各方面的互操作的概观。当加载可执行映像100时,可将扩展能力通知 给操作系统软件130。操作系统软件130能够代表应用程序来管理所请求的处 理器扩展的可用性。
图2示出了一示例性重写工具205的输入202、203和输出207的示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780004500.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种远程控制智能草坪艺术修整机
- 下一篇:播种机