当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于执行算术运算的大小检测的设备和方法技术

技术编号:5433391 阅读:247 留言:0更新日期:2012-04-11 18:40
提供一种设备和方法,其包括处理电路,一个或多个寄存器和控制电路。该控制电路配置成以致其响应于组合大小检测算术指令,来控制该处理电路以执行在至少一个数据单元上的算术运算,且进一步执行大小检测运算。该大小检测运算计算大小指示结果,其提供该算术运算的结果的大小的最高有效位的位置的指示,而不论该最高有效位位置是否超过该至少一个数据单元的数据单元宽度。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是关于。
技术介绍
在许多数据处理应用中,有执行算术运算和执行算术结果的定标(scaling)的需 求。用于执行定标的技术是块浮点技术。在块浮点算术中,数据单元块被指定单一指数而 不是各数据单元具有其自己的指数。因此,所述指数是典型地通过具有最大大小的块中的 数据单元确定。与标准浮点算术相比,块浮点技术减少维持一系列计算中的精度所需的位 的数量。块浮点计算典型地是在软件中执行以及需要在计算的各阶段后的完整数据集的定 标,其可能涉及数据值的大小中的改变。维持数据定标以防止溢位而所需的额外指令减弱 了关于处理循环和功率消耗两者的处理性能。因此,需求改进计算的效率,如块浮点计算,其需求数据定标和算术运算二者在数 据上执行。
技术实现思路
根据第一方面,本专利技术提供一种用于处理数据的设备,所述设备包括处理电路,其用于执行数据处理运算;一个或多个寄存器,其用于存储数据;控制电路,其用于控制所述处理电路以执行所述这些数据处理运算;其中所述控制电路配置成以致其响应于组合的大小检测算术指令,以控制所述处 理电路来执行在存储于所述一个或多个寄存器中的至少一个数据单元上的且由所述组合 的大小检测算术指令指定的算术运算以及执行大小检测运算,其中所述大小检测运算计算 大小指示结果,其提供所述算术运算的结果的大小的最高有效位的位置的指示,而不论所 述最高有效位位置是否超过所述至少一个数据单元的数据单元宽度。本专利技术认识到通过提供单一指令,其既执行在至少一个数据单元上的算术运算又 执行大小检测运算以提供该算术运算的最高有效位的位置的指示,而不论该最高有效位位 置是否超过该数据单元的数据单元宽度,可减少用于执行算术操控以及数据定标两者的算 术的程序代码密度。提供专用指令以既计算算术结果又促进该算术结果的最高有效位的位 置的计算,意指与提供分离的大小检测和算术运算的已知系统相比,共同数据操控可更有 效率地执行。与先前已知系统比较,经改进的效率对于相同功能获得执行较少指令、更高吞 吐量以及减少的功率消耗的结果。根据本技术的组合大小检测算术指令可在包括仅标量处理电路的数据处理设备 中实施。在一个实施例中,处理电路是SIMD处理电路,其设置成针对多个SIMD通道的每 个独立地执行算术运算,该组合大小检测算术指令识别包括多个数据单元的至少一个SIMD 输入矢量,算术运算在数据单元上独立地执行以产生包括相应多个结果数据单元的SIMD 结果矢量。这提供了改进效率,因为其使得对应于SIMD结果矢量的相应多个结果数据单元的多个大小指示结果能实质上同时地计算。虽然该大小指示结果可指示在SIMD结果矢量内的该多个数据单元的任一者的最高有效位,在一个实施例中,该大小指示结果提供对应于该SIMD结果矢量的相应多个数据 单元的多个大小的最大者的最高有效位的指示。该大小指示结果可依各种不同格式提供,但在一个实施例,该大小指示结果包括 SIMD结果矢量,其具有分别对应于该多个SIMD通道的多个大小指示结果值。响应于组合大小检测算术指令的数据处理设备的一个或多个寄存器可包括单一 寄存器组。然而,在一个实施例中,该一个或多个寄存器包括SIMD寄存器组和标量寄存器 组。这允许SIMD系统中的指令的有效实施,因为该大小指示结果可存储在标量寄存器中。在一个实施例中,控制电路控制处理电路以在SIMD寄存器组中存储SIMD算术运 算的结果。应了解,大小指示结果可存储在任何形式的内存(memory)或专用寄存器中。然 而,在一个实施例中,控制电路控制处理电路以存储大小指示结果在通用寄存器中。在一个 实施例中,通用寄存器是SIMD寄存器且在另一个实施例中该通用寄存器是标量寄存器。在 又另一替代实施例中,该大小指示结果存储在专用寄存器中。算术运算可为算术运算的任何变化但在一个实施例中,算术运算是无符号算术运 算且在另一个实施例中,算术运算是带正负号算术运算。应了解,定标计算可在算术运算正执行时执行。然而,在一个实施例中,控制电路 是响应于组合大小检测算术指令以执行定标计算以在执行算术运算前根据由组合大小检 测算术指令指定的定标参数定标该至少一个数据单元。这与其中定标运算典型在算术运算 已执行后执行的已知浮点算术不同。应了解,大小指示结果可基于算术运算的未定标结果计算以及然后一些其它方案 可用于根据定标将具有的已知效应校正该结果。在一个实施例中,该控制电路响应于组合 大小检测算术指令以从定标计算的输出计算大小指示结果。虽然该组合大小检测算术指令可为任何类型的指令,在一个实施例中,组合大小 检测算术指令是块浮点指令。提供组合指令减轻伴随已知块浮点技术的关键性能问题(处 理循环以及功率两者),其需要额外指令以维持数据定标。应了解,算术运算可为一些不同算术运算的任一者,但在某些实施例,算术运算是 移动加法、减法、乘法以及乘法_累计运算的至少其中之一。应了解,该大小指示结果的计算可依一些方法的任一者执行。在一个实施例中,控 制电路响应于组合大小检测算术指令以控制处理电路来在SIMD算术运算的结果的多个数 据单元的至少两者上执行至少一个逻辑运算以计算该大小指示结果,其中该至少一个逻辑 运算是功能上与逻辑OR运算等效。使用功能上与逻辑OR运算等效的至少一个逻辑运算的 大小指示结果的计算是实施上直接且价廉的,并且仅涉及ALU的复杂性的小增加以达到改 进效率。虽然该至少一个逻辑运算可在算术结果或结果矢量的完整数据单元上执行,在一 个实施例中,控制电路响应于组合大小检测算术指令以控制处理电路来在至少两个数据单 元的位的子集上执行至少一个逻辑运算。这使得能通过处理较小容量的数据以更有效率地 确定最高有效位位置。在一个这样的实施例中,该位的子集对应于至少两个数据单元的相应者的一个或多个最高有效位。在一个实施例中,该控制电路响应于组合大小检测算术指令以控制处理电 路来检 测SIMD算术运算的结果的多个数据单元的一个或多个,其具有负值,以及在执行至少一个 逻辑运算前反转该负值。在另一个实施例中,与反转该负值不同的是,控制电路响应于组合大小检测算术 指令以控制处理电路来检测SIMD算术运算的结果的多个数据单元的一个或多个,其具有 负值,以及在执行至少一个逻辑运算前求反该负值。这使得确定最高有效位位置的准确结 果能用于甚至带正负号值的定标目的。依此方式的数据值的求反与反转直接实施。在一个实施例中,该控制电路响应于组合大小检测算术指令以控制处理电路来根 据通过组合大小检测算术指令指定的操作数计算大小指示结果。在一个这样的实施例中, 该至少一个逻辑运算取决于该操作数。这提供执行大小检测运算的额外弹性,因为例如该 操作数可在用于该至少一个逻辑运算的一个或多个寄存器中指定共同来源和目的。这还提 供通过允许将该问题分成用于结果数据值的相应群组的大小计算的子集以组合用于大循 环的最高有效位位置计算的更有效率方式。应了解,该大小指示结果可依各种不同方式中的任一种来后处理以导出最高有效 非零位的位置。然而,在一个实施例中,处理电路计算该大小指示结果以致最高有效非零位 通过执行计数前导符号(CountLeading sign)指令和计数前导零(Count Leading Zero) 指令之一从该大小指示结果导出。本文档来自技高网...

【技术保护点】
一种用于处理数据的设备,所述设备包括:处理电路,用于执行数据处理运算;一个或多个寄存器,用于存储数据;控制电路,用于控制所述处理电路以执行所述这些数据处理运算;其中所述控制电路配置成以致其响应于组合大小检测算术指令来控制所述处理电路,以执行在存储于所述一个或多个寄存器中的至少一个数据单元上的且通过所述组合大小检测算术指令指定的算术运算以及执行大小检测运算,其中所述大小检测运算计算大小指示结果,其提供所述算术运算的结果的大小的最高有效位的位置的指示,而不论所述最高有效位位置是否超过所述至少一个数据单元的数据单元宽度。

【技术特征摘要】
【国外来华专利技术】GB 2007-10-30 0721323.4一种用于处理数据的设备,所述设备包括处理电路,用于执行数据处理运算;一个或多个寄存器,用于存储数据;控制电路,用于控制所述处理电路以执行所述这些数据处理运算;其中所述控制电路配置成以致其响应于组合大小检测算术指令来控制所述处理电路,以执行在存储于所述一个或多个寄存器中的至少一个数据单元上的且通过所述组合大小检测算术指令指定的算术运算以及执行大小检测运算,其中所述大小检测运算计算大小指示结果,其提供所述算术运算的结果的大小的最高有效位的位置的指示,而不论所述最高有效位位置是否超过所述至少一个数据单元的数据单元宽度。2.如权利要求1所述的设备,其中所述处理电路是SIMD处理电路,其设置成针对多个 SIMD通道的各个独立地执行所述算术运算,所述组合大小检测算术指令识别包括多个数据 单元的至少一个SIMD输入矢量,所述算术运算在所述多个数据单元上独立地执行以生成 包括相应多个结果数据单元的SIMD结果矢量。3.如权利要求2所述的设备,其中所述大小指示结果提供对应于所述SIMD结果矢量的 相应多个数据单元的多个大小的最大者的最高有效位的指示。4.如权利要求2所述的设备,其中所述大小指示结果包括SIMD结果矢量,所述SIMD结 果矢量具有分别对应于所述多个SIMD通道的多个大小指示结果值。5.如权利要求2所述的设备,其中所述一个或多个寄存器包括SIMD寄存器组和标量寄 存器组。6.如权利要求5所述的设备,其中所述控制电路控制所述处理电路以在所述SIMD寄存 器组中存储所述SIMD算术运算的所述结果。7.如前述权利要求中任一项所述的设备,其中所述控制电路控制所述处理电路以存储 所述大小指示结果于通用寄存器中。8.如权利要求7所述的设备,其中当从属于权利要求2时所述通用寄存器是SIMD寄存 器和标量寄存器之一。9.如前述权利要求中任一项所述的设备,其中所述大小指示结果存储在专用寄存器中。10.如前述权利要求中任一项所述的设备,其中所述算术运算是无符号算术运算。11.如前述权利要求中任一项所述的设备,其中所述算术运算是带正负号算术运算。12.如前述权利要求中任一项所述的设备,其中所述控制电路响应于所述组合大小检 测算术指令以执行定标计算以在执行所述算术运算前根据由所述组合大小检测算术指令 指定的定标参数以定标所述至少一个数据单元。13.如权利要求12所述的设备,其中所述控制电路响应于所述组合大小检测算术指令 以从所述定标计算的输出计算所述大小指示结果。14.如前述权利要求中任一项所述的设备,其中所述组合大小检测算术指令是块浮点 指令。15.如前述权利要求中任一项所述的设备,其中所述算术运算是移动加法、减法、乘法 和乘法_累计运算的至少其中之一。16.如权利要求2所述的设备,其中所述控制电路响应于所述组合大小检测算术指令以控制所述处理电路来在所述SIMD算术运算的所述结果的所述多个数据单元的至少两者 上执行至少一个逻辑运算以计算所述大小指示结果,其中所述至少一个逻辑运算在功能上 与逻辑OR运算等效。17.如权利要求16所述的设备,其中所述控制电路响应于所述组合大小检测算术指令 以控制所述处理电路来在所述至少二个数据单元的位的子集上执行所述至少一个逻辑运算。18.如权利要求17所述的设备,其中所述位的子集对应于所述至少二个数据单元的相 应数据单元的一个或多个最高有效位。19.如权利要求16所述的设备,其中当从属于权利要求11时所述控制电路响应于所述 组...

【专利技术属性】
技术研发人员:D柯萧M怀德DH席米斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB[英国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1