[发明专利]在处理器中传送指令结果及处理器的编译方法无效

专利信息
申请号: 01103251.0 申请日: 2001-02-08
公开(公告)号: CN1308274A 公开(公告)日: 2001-08-15
发明(设计)人: 尼格尔·皮特·托法姆 申请(专利权)人: 斯罗扬有限公司
主分类号: G06F9/45 分类号: G06F9/45;G06F9/40
代理公司: 中国国际贸易促进委员会专利商标事务所 代理人: 付建军
地址: 英国*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理器 传送 指令 结果 编译 方法
【说明书】:

发明涉及在处理器中传送指令结果并且涉及处理器的编译方法。特别地,本发明涉及用于保存处理器(例如微处理器)中的指令结果的寄存器的分配。

在高性能的计算中,目标机器(例如,微处理器)通常需要高速率地来执行指令。执行时间通常是由应用程序中的循环结构来决定的。为了允许高速地执行指令,一个处理器可能包括多个独立的执行单元,在其它执行单元执行指令的同时,每一个独立的执行单元可以执行一个或者多个指令。

这样一个多执行单元的结构可以被用于提供所谓的、由多级组成的软件流水线。每一个软件流水线级与特定执行单元不具有固定的物理联系。相反,当一个应用程序中的一个循环结构被编译时,根据一个软件流水线规划,组成循环的各个独立迭代的机器指令被安排由不同的执行单元来执行。这个规划被分成连续的级,并且以这样一个方法来规划指令,以允许通过在连续迭代发起之间使用一个被选择的循环发起间隔,由不同的执行单元并行执行多个迭代。这样,当一个迭代i的第一级结束时,这个迭代进入到第二级,在迭代i+1的第一级中开始对下一迭代的执行。这样,在执行迭代i的第二级中指令的同时,执行迭代i+1的第一级中的指令。

在这样的软件流水线循环结构中,通常有必须在流水线中的不同指令之间进行交换的循环变量值,即在循环的每一个不同迭代中必须进行重新评估的表达式。为了处理这样的循环变量,可以将它们保存在一个所谓的循环寄存器文件中。在这个情形下,每一个循环变量被分配循环寄存器文件中的一个逻辑寄存器号码,并且这个逻辑寄存器号码对不同的迭代是不变的。在这个循环寄存器文件中,每一个逻辑寄存器号码被映射到这个寄存器文件中的一个物理寄存器,并且每一次一个新的迭代开始时,这个映射被循环,即,每一次一个流水线边界是闭合的。所以,不同迭代中的相应指令均涉及相同的逻辑寄存器号码,这使被编译的指令简单了,同时避免了一个迭代所产生的一个值被一个不同迭代的一个随后执行的指令所覆盖掉。

对前面所考虑的处理器来说,编译器在将循环寄存器文件中的寄存器分配到一个循环计算中所产生的值中的任务是复杂的,这如本发明的说明书在后面所详细描述的。所以,在一个循环计算中能够提供一个机制来标识中间值,包括循环变量值是非常好,这可以简化在分配循环寄存器文件中的寄存器时编译器的任务。另外,给一个处理器提供其中指令是非常紧凑的一个指令集合也是非常可取的。

根据本发明的第一方面,提供了一个处理器,包括:指令产生装置,用于以一预定序列来产生需要被执行的指令,所述指令序列包括预先选择的、用于产生值的指令,当执行这个预先选择的、用于产生值的指令时,可以产生相应的值;指令执行装置,用于执行所产生的指令;寄存器装置,具有多个寄存器,用于保存执行指令时所产生的值;序列号码分配装置,用于根据所述产生值的指令的产生顺序来向相应产生值的指令所产生的所述值分配相应的序列号码;和寄存器分配装置,用于给每一个所述被产生的值分配所述寄存器中的一个,用于保存该被产生的值,这与被分配到这个值的序列号码相关。

对这样一个处理器,编译器在执行分配寄存器的任务时就简单了。例如,这个寄存器装置的形式可以是一个循环寄存器文件,并且每一次产生预先选择的、用于产生值的一个指令时,寄存器可以被重新映射(重新命名)。这样一个处理器的指令集合也可以变得更紧凑,以使产生值的指令不需要说明任何目的寄存器来保存它们相应的被产生值。

根据本发明的第二方面,提供了一个编译方法,用于将一个高级程序指令序列转换为被一个处理器所执行的、相应的低级指令序列,这个方法包括步骤:决定所述相应序列中的哪一个所述低级指令是预先选择的、用于产生值的指令,并且哪一个是预先选择的、需要值的指令,每一个所述产生值的指令是当被执行时就会产生一个值的一个指令,并且每一个所述需要值的指令是当被执行时就需要前一个产生的、产生值的指令所产生的所述值的一个指令;根据执行期间相应产生值的指令被产生的顺序来向所述被产生值分配相应的序列号码;和用在执行期间所述处理器所使用的信息来给每一个所述需要值的指令进行编码,以标识这个指令所需要的所述产生值,这个信息与被分配到这个产生值上的所述序列号码相关。

根据本发明的第三方面,提供了一个计算机程序,其中当在一个计算机上执行这个程序时,这个程序将促使这个计算机执行实现本发明前述第二方面的一个编译方法。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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