A redundant representation of M bit data values using multiple N bits to represent P bit values is provided, M>P>N. The anchor value identifies the valid number of bits of each N bit, and within a group of at least two adjacent N bit parts, two or more overlapped bits of the lower N bit part of the group have the same valid number as two or more lowest valid bits of at least one higher N bit part of the group. Multiple operation circuit units can perform a plurality of independent N bit operations in parallel, each N bit operation includes a function to calculate the corresponding N bits of at least two M bit operation values with redundant representations to generate corresponding N bit parts with the M bit result values with redundant representations. This enables fast relative processing of relatively long M bits in the time taken to perform N bit operations.
【技术实现步骤摘要】
【国外来华专利技术】使用重叠位的数值的冗余表示
本技术涉及数据处理的领域。
技术介绍
在数据处理系统中通常使用浮点(FP)表示。浮点数包括有效数和指示有效数的位的有效值的指数。这允许使用有限数目的位来表示大范围上的数值。然而,浮点运算的一个问题是计算通常是非关联的。例如,当将多个浮点值相加时,每次将另一值加到前一加法的结果中时,结果被舍入并且标准化,这意味着总体结果根据将值相加的顺序而不同。这使得难以并行化浮点算法,因为总和是不可重现的,除非以完全相同的顺序完成。为了生成可重现的结果,通常必须按顺序执行一系列加法或减法,这可能使得浮点运算相对较慢。
技术实现思路
至少一些示例提供了一种装置,包括:处理电路,用于处理具有使用多个N位部分来表示P位数值的冗余表示的M位数据值,其中M>P>N,其中,处理电路被配置为基于锚值来标识冗余表示的每个N位部分的位的有效数,并且在至少两个相邻N位部分的组内,该组的较低N位部分的多个重叠位具有与该组的至少一个较高N位部分的多个最低有效位相同的有效数;并且处理电路包括多个运算电路单元以并行地执行多个独立的N位运算,每个N位运算包括计算具有冗余表示的至少两个M位操作数值的相应N位部分的函数,以生成具有冗余表示的M位结果值的对应N位部分。至少一些示例提供了一种数据处理方法,包括:处理具有使用多个N位部分来表示P位数值的冗余表示的M位数据值,其中M>P>N,其中,基于锚值来标识冗余表示的每个N位部分的位的有效数,并且在至少两个相邻N位部分的组内,该组的较低N位部分的多个重叠位具有与该组的至少一个较高N ...
【技术保护点】
1.一种装置,包括:处理电路,用于处理具有使用多个N位部分来表示P位数值的冗余表示的M位数据值,其中M>P>N,其中,所述处理电路被配置为基于锚值来标识所述冗余表示的每个N位部分的位的有效数,并且在至少两个相邻N位部分的组内,该组的较低N位部分的多个重叠位具有与该组的至少一个较高N位部分的多个最低有效位相同的有效数;并且所述处理电路包括多个运算电路单元以并行地执行多个独立的N位运算,每个N位运算包括计算具有所述冗余表示的至少两个M位操作数值的相应N位部分的函数,以生成具有所述冗余表示的M位结果值的相应N位部分。
【技术特征摘要】
【国外来华专利技术】2015.11.12 US 14/939,1751.一种装置,包括:处理电路,用于处理具有使用多个N位部分来表示P位数值的冗余表示的M位数据值,其中M>P>N,其中,所述处理电路被配置为基于锚值来标识所述冗余表示的每个N位部分的位的有效数,并且在至少两个相邻N位部分的组内,该组的较低N位部分的多个重叠位具有与该组的至少一个较高N位部分的多个最低有效位相同的有效数;并且所述处理电路包括多个运算电路单元以并行地执行多个独立的N位运算,每个N位运算包括计算具有所述冗余表示的至少两个M位操作数值的相应N位部分的函数,以生成具有所述冗余表示的M位结果值的相应N位部分。2.根据权利要求1所述的装置,其中,所述多个运算电路单元包括多个加法电路单元以并行地执行多个N位加法,每个N位加法包括将所述至少两个M位操作数值的所述相应N位部分相加以生成所述M位结果值的所述相应N位部分。3.根据权利要求1和2中的任一项所述的装置,其中,所述处理电路被配置为执行转换操作以将输入值转换为具有所述冗余表示的转换M位数据值。4.根据权利要求3所述的装置,其中,所述转换操作包括根据所述输入值的符号来设置所述重叠位。5.根据权利要求4所述的装置,其中,当所述输入值为正时,所述处理电路被配置为将所述重叠位设置为0,并且当所述输入值为负时,所述处理电路被配置为将所述重叠位设置为1。6.根据权利要求4所述的装置,其中,当所述输入值包括浮点值时,所述转换操作包括:根据所述锚值和所述浮点值的指数来将所述浮点值的有效数的位映射到所述M位数据值中的相应有效数的位,其中,至少一个N位部分的所述重叠位被设置为0;当所述输入值为正时,输出所述映射的结果作为所述转换M位数据值;并且当所述输入值为负时,对所述映射的所述结果取反以生成所述转换M位数据值。7.根据前述权利要求中的任一项所述的装置,其中,所述处理电路被配置为对具有所述冗余表示的第一M位值执行重叠减少操作以生成具有所述冗余表示的第二M位值,其中,所述第二M位值的至少一个N位部分中的所述重叠位表示比所述第一M位值的至少一个相应N位部分的所述重叠位更小的大小。8.根据权利要求7所述的装置,其中,所述重叠减少操作包括重叠传播操作以将具有所述冗余表示的第一M位值的一个或多个N位部分的所述重叠位传播到所述第一M位值的一个或多个后续N位部分,以生成具有使用不同的重叠位模式来表示与所述第一M位值相同的P位数值的冗余表示的第二M位值。9.根据权利要求8所述的装置,其中,在所述第二M位值中,所述重叠位等于0。10.根据权利要求8和9中的任一项所述的装置,其中,所述重叠传播操作包括执行多个连续加法,包括:初始加法,用于将所述第一M位值的最低有效N位部分的重叠位加到所述M位值的后续N位部分M位值以生成修改非重叠位和修改重叠位;以及至少一个其他加法,用于将来自对所述第一M位值的下一N位部分的前一加法的所述修改重叠位相加以生成修改非重叠位和修改重叠位;其中,所述处理电路被配置为基于在每个连续加法中生成的所述修改非重叠位来生成所述第二M位值,并且所述重叠位被设置为0。11.根据权利要求8所述的装置,其中,在所述第二M位值中,对于具有重叠位的每个N位部分,两个最低有效重叠位具有值00、01、11中的一个,并且任何其余重叠位具有与第二最低有效重叠位相同的值。12.根据权利要求8和11中的任一项所述的装置,其中,所述重叠传播操作包括执行多个并行加法,每个并行加法包括将所述第一M位值的给定N位部分的所述重叠位加到所述第一M位值的后续N位部分的非重叠位以生成与所述第一M位值的所述后续N位部分在有效数上相对应的所述第二M位值的N位部分。13.根据权利要求7所述的装置,其中,所述重叠减少操作包括重叠累加操作,以将所述第一M位值的一个或多个N位部分的所述重叠位加到重叠累加器值的相应N位部分,并且将所述第一M位值的所述一个或多个N位部分的所述重叠位设置为零以生成所述第二M位值。14.根据权利要求7到13中的任一项所述的装置,其中,所述处理电路被配置为维持运算计数,所述运算计数指示为生成所述第一M位值而执行的运算的数目,并且当所述运算计数指示运算的数目等于或大于预定数目时,执行所述重叠减少操作。15.根据权利要求14所述的装置,其中,运算的所述预定数目小于或等于2V-1-1,其中,V是具有重叠位的任何所述N位部分所包括的重叠位的最小数目。16.根据权利要求14和15中的任一项所述的装置,其中,所述处理电路被配置为在执行所述重叠减少操作时重置所述运算计数。17.根据权利要求7到16中的任一项所述的装置,其中,所述处理电路被配置为响应于检测到所述第一M位值的所述N位部分中的一个N位...
【专利技术属性】
技术研发人员:内尔·伯吉斯,戴维·雷蒙德·卢茨,克里斯托弗·尼尔·海因兹,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。