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

重叠传播操作制造技术

技术编号:18580308 阅读:22 留言:0更新日期:2018-08-01 14:44
提供处理电路以对第一数据值执行重叠传播操作以生成第二数据值,第一和第二数据值具有使用包括多个N位部分的M位数据值来表示P位数值的冗余表示,其中,M>P>N。在冗余表示中,除了最高有效N位部分之外的每个N位部分包括具有与后续N位部分的多个最低有效位相同的有效数的多个重叠位。通过第一数据值的相应N位部分的非重叠位加到第一数据值的前一N位部分的重叠位来生成第二数据值的除了最低有效N位部分之外的每个N位部分。这提供了用于在冗余表示的M位置的加法期间减少溢出的机会的较快技术。

Overlapping propagation operation

The processing circuit is provided to perform overlapping propagation operations on the first data value to generate second data values, and the first and second data values have redundant representation of the P bit values using M bit data values including multiple N bit parts, in which, M>P>N. In redundant representation, each N bit portion except the highest effective N bit part includes multiple overlapped bits with the same number of effective bits with a plurality of minimum valid bits of the subsequent N bit portion. A non overlapping bit of the corresponding N bit part of the first data value is added to the overlap bit of the first N bit part of the first data value to generate each N bit part other than the minimum effective N bit portion of the second data value. This provides a faster technology for reducing the chance of spillover during the addition of M locations with redundant representations.

【技术实现步骤摘要】
【国外来华专利技术】重叠传播操作
本技术涉及数据处理的领域。
技术介绍
在数据处理系统中通常使用浮点(FP)表示。浮点数包括有效数和指示有效数的位的有效值的指数。这允许使用有限数目的位来表示大范围上的数值。然而,浮点运算的一个问题是计算通常是非关联的。例如,当将多个浮点值相加时,每次将另一值加到前一加法的结果中时,结果被舍入并且标准化,这意味着总体结果根据将值相加的顺序而不同。这使得难以并行化浮点算法,因为总和是不可重现的,除非以完全相同的顺序完成。为了生成可重现的结果,通常必须按顺序执行一系列加法或减法,这可能使得浮点运算相对较慢。
技术实现思路
至少一些示例提供了一种装置,包括:处理电路,用于对第一数据值执行重叠传播操作以生成第二数据值,第一和第二数据值具有使用包括多个N位部分的M位数据值来表示P位数值的冗余表示,其中,M>P>N,其中,在冗余表示中,除了最高有效N位部分之外的每个N位部分包括具有与后续N位部分的多个最低有效位相同的有效数的多个重叠位;其中,处理电路被配置为通过执行加法运算来生成所述第二数据值的除了最低有效N位部分之外的每个N位部分,该加法运算包括将第一数据值的相应N位部分的非重叠位加到第一数据值的前一N位部分的重叠位。至少一些示例提供了一种数据处理方法,包括:接收具有使用包括多个N位部分的M位数据值来表示P位数值的冗余表示的第一数据值,其中,M>P>N,其中,在冗余表示中,除了最高有效N位部分之外的每个N位部分包括具有与后续N位部分的多个最低有效位相同的有效数的多个重叠位;以及对第一数据值执行重叠传播操作以生成具有冗余表示的第二数据值;其中,通过执行加法运算来生成第二数据值的除了最低有效N位部分之外的每个N位部分,该加法运算包括将第一数据值的相应N位部分的非重叠位加到第一数据值的前一N位部分的重叠位。附图说明现在将参考附图仅以示例的方式描述本专利技术的实施例,其中:图1示意性地示出了数据处理装置;图2示意性地示出了数值的不同表示;图3示意性地示出了双精度浮点值和高精度锚(HPA)值之间的关系的示例;图4示出了冗余HPA(RHPA)值的示例,其使用包括具有重叠有效值的多个N位部分的冗余表示来表示数值;图5示出了用于定义冗余HPA值的每个部分的有效值并且用于定义重叠位的数目的元数据的示例;图6示出了使用RHPA表示的累加运算的示例;图7示出了在单个运算中将三个或更多个RHPA值相加的示例;图8示出了其中在单个运算中相加的每个RHPA值都转换自输入向量的相应元素的示例;图9示出了使用RHPA表示来累加值的方法;图10和11示出了将浮点值转换为RHPA值的示例;图12示出了用于生成非冗余形式的RHPA值的重叠传播运算的第一示例;图13示出了用于生成限制冗余形式的RHPA值的重叠传播运算的第二示例;图14示出了将限制冗余RHPA值转换为非冗余RHPA值的示例;图15示出了用于将来自RHPA累加器的重叠位添加到重叠累加器值的重叠累加操作的示例;图16示出了同时将转换自浮点值的转换RHPA值加到限制冗余RHPA累加器并且执行重叠传播以将经更新的RHPA累加器保持为限制冗余形式的示例;图17示出了将非冗余形式的RHPA值转换为浮点值的示例;图18示出了将限制冗余形式的RHPA值转换为浮点值的示例;图19示出了将RHPA值转换为浮点值的第三示例;图20示出了使用RHPA值的加法来将两个操作数值的部分乘积相加的示例;图21示出了使用通道位置信息来基于将由该通道生成的结果元素在相应结果值中的相对位置来控制每个处理通道的示例;图22示出了使用通道位置信息来控制比结果向量长度更宽或更窄的结果值的生成的若干示例;图23示出了为每个处理通道指定锚值、重叠位的数目和通道位置信息的元数据寄存器的示例;图24示出了使用输入映射信息来标识输入向量的哪些元素将由与单个向量内的独立结果值相对应的处理通道的不同子集来处理的示例;图25示出了其中RHPA值的不同N位部分具有不同数目的重叠位的示例;图26示出了使用RHPA格式将两个长整数相乘以将整数的各个部分的部分乘积相加的示例;图27是示出可以如何使用一系列流水线化部分乘积累加运算来计算两个长整数的乘积的示例的时序图;图28是示出用于将最终乘法结果转换为非冗余格式的一些重叠传播加法可以如何与用于累加部分乘积的一些加法并行执行的示例的另一时序图;图29示出了将长整数操作数映射到浮点值的向量的示例;以及图30示出了使用浮点乘法器来确定输入操作数的部分的各个对的部分乘积的示例;图31和32示出了分别将正浮点值和负浮点值转换为RHPA格式的数值示例;图33示出了在两个RHPA操作数的加法期间的通道溢出的示例;图34示出了从RHPA值消除通道溢出的示例;图35示出了将RHPA值转换为非冗余形式的示例;以及图36到39提供了为什么图16所示的运算产生限制冗余形式的结果的解释。具体实施方式下面将描述一些具体示例。应理解,本技术不限于这些示例。下面讨论高精度锚(HPA)格式。关于HPA格式的更多信息可以在美国专利申请62/074,149、14/582,974、14/582,875、14/582,812、14/582,836、14/582,978、14/606,510和14/582,968中找到,这些专利申请的内容通过引用整体结合于此。浮点数浮点(FP)是使用少数位来近似实数的有用方法。IEEE754-2008FP标准提出了用于FP数的多种不同格式,其中一些是二进制64(也称为双精度或DP)、二进制32(也称为单精度或SP)和二进制16(也是称为半精度或HP)。数字64、32和16指每种格式所需的位数。表示FP数与科学课程中教导的“科学记数法”非常相似,其中,负200万我们写作-2.0×106。该数字的各部分是符号(在这种情况下为负)、有效数(2.0)、指数的底数(10)和指数(6)。所有这些部分在FP数中都有类似物,尽管存在差异,但其中最重要的是组成部分被存储为二进制数,并且指数的基数始终为2。更确切地,FP数包括符号位、一些偏置指数位和一些小数位。具体地,DP、SP和HP格式包括下列位:格式符号指数小数指数偏置DP[63:0]6362:52(11位)51:0(52位)1023SP[31:0]3130:23(8位)22:0(23位)127HP[15:0]1514:10(5位)9:0(10位)15负数的符号为1,正数的符号为0。每个数(包括零)都具有符号。指数被偏置,这意味着真指数(trueexponent)与存储在数字中的指数不同。例如,偏置SP指数长为8位,范围从0到255。指数0和255是特殊情况,但所有其他指数都有偏置127,这表示真指数比偏置指数小127。最小偏置指数为1,对应于-126的真指数。最大偏置指数为254,对应于127的真指数。HP和DP指数的工作方式相同,具有上表示出的偏置。SP指数255(或DP指数2047或HP指数31)被保留用于无穷和称为NaN(不是数字)的特殊符号。无穷(可以是正或负)具有零小数。具有指数255和非零小数的任何数字都是NaN。无穷提供了饱和值,因此它实际上表示类似于“该计算产生比我们可以以该格式表示的数本文档来自技高网...

【技术保护点】
1.一种装置,包括:处理电路,用于对第一数据值执行重叠传播操作以生成第二数据值,所述第一和第二数据值具有使用包括多个N位部分的M位数据值来表示P位数值的冗余表示,其中,M>P>N,其中,在所述冗余表示中,除了最高有效N位部分之外的每个N位部分包括具有与后续N位部分的多个最低有效位相同的有效数的多个重叠位;其中,所述处理电路被配置为通过执行加法运算来生成所述第二数据值的除了最低有效N位部分之外的每个N位部分,所述加法运算包括将所述第一数据值的相应N位部分的非重叠位加到所述第一数据值的前一N位部分的重叠位。

【技术特征摘要】
【国外来华专利技术】2015.11.12 US 14/939,3011.一种装置,包括:处理电路,用于对第一数据值执行重叠传播操作以生成第二数据值,所述第一和第二数据值具有使用包括多个N位部分的M位数据值来表示P位数值的冗余表示,其中,M>P>N,其中,在所述冗余表示中,除了最高有效N位部分之外的每个N位部分包括具有与后续N位部分的多个最低有效位相同的有效数的多个重叠位;其中,所述处理电路被配置为通过执行加法运算来生成所述第二数据值的除了最低有效N位部分之外的每个N位部分,所述加法运算包括将所述第一数据值的相应N位部分的非重叠位加到所述第一数据值的前一N位部分的重叠位。2.根据权利要求1所述的装置,其中,在所述第二数据值中,对于具有重叠位的每个N位部分,两个最低有效重叠位具有值00、01、11中的一个,并且任何其余重叠位具有与第二最低有效重叠位相同的值。3.根据权利要求1和2中的任一项所述的装置,其中,所述处理电路被配置为针对所述第二数据值的所述N位部分中的至少两个N位部分并行地执行所述加法运算。4.根据前述权利要求中的任一项所述的装置,其中,所述处理电路被配置为针对所述第二数据值的除了所述最低有效N位部分之外的所述N位部分中的每一个并行地执行所述加法运算。5.根据前述权利要求中的任一项所述的装置,其中,所述处理电路包括多个并行加法电路单元,用于针对所述第二数据值的所述N位部分中的至少两个N位部分并行地执行所述加法运算。6.根据前述权利要求中的任一项所述的装置,其中,所述加法运算包括将前一N位部分的所述重叠位的N位符号扩展加到等同于任何重叠位都被设置为0的所述第一数据值的所述相应N位部分的N位值。7.根据前述权利要求中的任一项所述的装置,其中,所述处理电路被配置为利用等于所述第一数据值的所述最低有效N位部分的相应非重叠位的非重叠位来生成所述第二数据值的所述最低有效N位部分,并且所述重叠位被设置为0。8.根据前述权利要求中的任一项所述的装置,其中,所述重叠传播操作还包括将所述第二数据值转换为具有所述冗余表示的第三数据值,其中,所述第三数据值的所有重叠位均等于0。9.根据权利要求8所述的装置,其中,所述处理电路被配置为通过以下操作来生成所述第三数据值:生成表示所述第二M位值的所述重叠位的总数的重叠值和表示所述第二M位值的所述非重叠位的总数的非重叠值;根据所述重叠值和所述非重叠值的位模式生成多个进位值;并且执行多个并行加法,每个加法用于将所述重叠值和所述非重叠值的相应部分和所述进位值中...

【专利技术属性】
技术研发人员:内尔·伯吉斯戴维·雷蒙德·卢茨克里斯托弗·尼尔·海因兹
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1