[发明专利]运用平凡算术运算的处理器无效
申请号: | 200880016140.0 | 申请日: | 2008-03-16 |
公开(公告)号: | CN101689105A | 公开(公告)日: | 2010-03-31 |
发明(设计)人: | 大卫·莫洛尼 | 申请(专利权)人: | 线性代数技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/302;G06F7/57 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 康建峰;李春晖 |
地址: | 爱尔兰*** | 国省代码: | 爱尔兰;IE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运用 平凡 算术 运算 处理器 | ||
技术领域
本发明涉及处理器领域,尤其涉及算术运算的执行。
背景技术
许多由处理器执行的计算由大量简单运算组成。结果,乘法运算可能需要相当多的时钟周期来完成。
尽管此运算对于复杂计算而言是合理的,但对平凡运算不能这么说,例如,一个数与0、+1或-1相乘可以以简单得多的方式得到答案。
在涉及稀疏矩阵的某些应用中,由于存在相当多的零,所执行的平凡运算的数目可能相当可观。稀疏矩阵中的零的数目可通过以诸如压缩行存储(CRS)格式的稀疏格式存储矩阵来减少或消除;然而,由于地址生成方面的开销,这样的存储格式在商用计算机系统上常常导致很差的性能。
US5,262,973(Richardson等人)公开了一种减少其中运算是平凡运算的计算时间的方法。具体地,该方法同时执行至少两个运算。第一个运算是常规的复数算术运算,第二个和更多的运算是通过操作数检查机制执行的,操作数检查机制确定操作数中的一个或全部两个是否是平凡操作数的具体实例。如果操作数之一是平凡操作数的具体实例,则复数算术运算被停止,并且该检查机制根据检测到的平凡操作数迅速输出算术运算的结果。因此,避免了对平凡操作数执行复数算术运算的需要。然而,该方法并未消除复数运算,而只是在确定了运算实际上是平凡运算的情况下停止复数运算。
发明内容
第一实施例提供了一种处理器,其包括:数据存储器,用于存储数据值;平凡操作数寄存器,平凡操作数寄存器用于为数据存储器中的每个数据值存储至少一个标记,该至少一个标记表示每个存储的数据值是否是平凡操作数,其中该处理器被配置成在执行指令时采用平凡操作数寄存器。该处理器可包括计算部件,计算部件在执行涉及来自数据存储器的至少一个数据值的运算时采用平凡操作数寄存器。适当地,计算部件可包括控制逻辑单元,控制逻辑单元用于检查平凡操作数寄存器和控制计算单元的操作。该处理器还可包括被配置成执行比较以确定连至数据存储器的输入线上是否存在平凡操作数的比较器。数据存储器可以以寄存器堆提供。该处理器还可包括多个比较器,每个比较器确定寄存器堆的对应写端口处的数据是否包括平凡操作数。适当地,数据值是浮点值。数据存储器可包括32位、64位或128位寄存器。平凡操作数可包括0、-1或+1。有利地,平凡操作数唯一地是0值。
适当地,所执行的指令包括浮点计算。可提供控制逻辑单元用于检查平凡操作数寄存器和控制浮点计算单元的操作。控制逻辑单元可被配置成在计算涉及平凡操作数的情况下绕开浮点计算单元并直接提供结果。该结果可通过为待存储该结果的寄存器设定平凡操作数寄存器标记来直接提供。任选地,所执行的指令包括数据存储指令。该处理器还可包括被配置成执行对应于向量或矩阵数据的多个非零模式之间的比较的比较器。
在另一个实施例中,提供了一种对处理器中的第一数据寄存器执行运算的方法,该处理器具有表示第一数据寄存器中是否存在平凡操作数的平凡操作数寄存器,该方法包括以下步骤:在执行涉及所述第一数据寄存器的指令时采用平凡操作数寄存器中的标记。
适当地,该方法包括以下初始步骤:将数据写入第一数据寄存器;执行数据的比较以确定数据中是否存在平凡操作数;并响应于该比较而在平凡操作数寄存器内设定标记。写入数据和执行比较的步骤可基本上同时执行。第一数据寄存器可以是浮点数据寄存器。任选地,提供多个单独的数据寄存器,每个单独的数据寄存器在平凡操作数寄存器中具有相关联的标记。该多个单独的数据寄存器可以以寄存器堆提供。任选地,指令是计算,并且在控制该处理器中的计算单元的操作时采用平凡操作数寄存器。平凡操作数可包括0、-1或1。在一种布置中,平凡操作数唯一地是0值。该方法可包括在计算涉及平凡操作数的情况下绕开计算单元并直接提供结果。在这种情况下,该结果可通过为待存储该结果的寄存器设定平凡操作数寄存器标记来直接提供。任选地,所执行的指令包括数据存储指令。
附图说明
现在将参照附图描述本发明,在附图中:
图1是根据本发明的示例实施例的处理器的示意图。
图2是根据本发明的示例实施例的方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于线性代数技术有限公司,未经线性代数技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200880016140.0/2.html,转载请声明来源钻瓜专利网。