浮点数函数运算查表计算装置制造方法及图纸

技术编号:33327451 阅读:12 留言:0更新日期:2022-05-08 09:06
浮点数函数运算查表计算装置包括:一位排列单元,接收一浮点数输入数据,对该浮点数输入数据进行位排列或格式转换,以产生多个位区块;一第一查表单元群组,接收该多个位区块,以该多个位区块为索引,进行查表以得到多个查表结果;以及一运算单元,对该第一查表单元群组的该多个查表结果进行运算,以得到一运算结果。果。果。

【技术实现步骤摘要】
浮点数函数运算查表计算装置


[0001]本专利技术是有关于一种浮点数函数运算查表计算装置。

技术介绍

[0002]以往要达到特殊数学运算需借由泰勒展开式、CORDIC算法、逼近算法或是量化为int8运算。
[0003]CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字电脑)算法是一种通过迭代对多种数学函数求值的方法,它可以对三角函数、双曲函数和平面旋转问题进行求解。CORDIC算法利用迭代逼近的方法,仅仅通过加/减和移位操作,即可求出特殊函数的值,极大的方便了计算机实现。
[0004]然而,在多核心平行运算系统上不容易制作出多种独特算法,也容易在递回逼近过程中损失精确度。
[0005]故而,本专利技术提出一种浮点数函数运算查表计算装置,以期实现各种特殊运算式。

技术实现思路

[0006]根据本专利技术一实例,提出一种浮点数函数运算查表计算装置包括:一位排列单元,接收一浮点数输入数据,对该浮点数输入数据进行位排列或格式转换,以产生多个位区块;一第一查表单元群组,接收该多个位区块,以该多个位区块为索引,进行查表以得到多个查表结果;以及一运算单元,对该第一查表单元群组的该多个查表结果进行运算,以得到一运算结果。
[0007]以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。
附图说明
[0008]图1为根据本专利技术一实施例的浮点数函数运算查表计算装置的功能方块图。
[0009]图2至图4显示本专利技术实施例的浮点数函数运算查表计算装置的多种操作示意图。
[0010]图5A显示三角函数arctan的关系图。
[0011]图5B与图5C显示本专利技术实施例的两个查表单元的索引与查表结果的关系图。
具体实施方式
[0012]本说明书的技术用语参照本
的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释以本说明书的说明或定义为准。本专利技术的各个实施例分别具有一或多个技术特征。在可能实施的前提下,本
具有通常知识者可选择性地实施任一实施例中部分或全部的技术特征,或者选择性地将这些实施例中部分或全部的技术特征加以组合。
[0013]下面结合附图对本专利技术的结构原理和工作原理作具体的描述:
[0014]请参照图1,其为根据本专利技术一实施例的计算装置(浮点数函数运算查表计算装
置)的功能方块图。根据本专利技术一实施例的计算装置100包括:位排列单元110、第一查表单元120、第二查表单元130、第三查表单元140与运算单元150。
[0015]在本专利技术实施例中,浮点数输入数据FP例如但不受限于,包括两种格式:TF32(TensorFloat-32,张量浮点32)与Bfloat16(brain floating point,16位脑浮点)。其中,格式TF32为19位,包括多个位组,例如:1位的符号(sign)S1,8位的指数(exponent)E1与10位的小数(mantissa)M1。格式Bfloat16为16位,包括多个位组,例如:1位的符号S2,8位的指数E2与7位的小数M2。
[0016]位排列单元110接收浮点数输入数据FP,对浮点数输入数据FP进行位排列或格式转换,以产生第一位区块FP_1、第二位区块FP_2与第三位区块FP_3。第一位区块FP_1、第二位区块FP_2与第三位区块FP_3分别输入至第一查表单元120、第二查表单元130与第三查表单元140。第一查表单元120、第二查表单元130与第三查表单元140可合称为第一查表单元群组。
[0017]第一查表单元120以第一位区块FP_1为索引,进行查表后,得到第一浮点数FP_1

(亦即查表结果)。
[0018]第二查表单元130以第二位区块FP_2为索引,进行查表后,得到第二浮点数FP_2


[0019]第三查表单元140以第三位区块FP_3为索引,进行查表后,得到第三浮点数FP_3


[0020]运算单元150对第一浮点数FP_1

、第二浮点数FP_2

与第三浮点数FP_3

进行运算,以得到运算结果OUT。运算单元150所进行运算例如但不受限于,加法运算,减法运算,乘法运算,除法运算,查表等至少一者或其任意组合。
[0021]为更加了解本专利技术实施例的计算装置100的操作原理,请搭配图2至图4。图2至图4显示本专利技术实施例的计算装置100的多种操作示意图。图2显示本专利技术实施例的计算装置100进行倒数运算的操作示意图。图3显示本专利技术实施例的计算装置100进行倒数开方运算的操作示意图。图4显示本专利技术实施例的计算装置100进行取三角函数arctan的操作示意图。
[0022]图2显示本专利技术实施例的计算装置100进行倒数运算的操作示意图。在图2中,所输入的浮点数输入数据FP以格式Bfloat16为例做说明,但本专利技术不受限于此。
[0023]于图2中,运算是为求得-1.25*2
21
的倒数,-1.25*2
21
以格式Bfloat16表示的话则如后所示:-1.25*2
21
=1100101000100000(16位),其中,1位的符号S2为1,8位的指数E2为10010100,而7位的小数M2为0100000。
[0024]经过位排列单元110的位排列或格式转换后,位排列单元110产生第一位区块FP_1、第二位区块FP_2与第三位区块FP_3,在此假设第一位区块FP_1为空的。
[0025]底下将说明如何产生第二位区块FP_2与第三位区块FP_3。
[0026]第二位区块FP_2包括16位,其中,7位为冗余(dummy)位D1(0000000),而另9位为1位的符号S2与8位的指数E2的组合(110010100)。
[0027]第三位区块FP_3包括16位,其中,9位为冗余位D2(000000000),而另7位为小数M2(0100000)。
[0028]第二位区块FP_2与第三位区块FP_3分别输入至第二查表单元130与第三查表单元140。
[0029]第二查表单元130以第二位区块FP_2为索引来进行查表。在此显示第二查表单元
130的一例如下,但本专利技术并不受限于此:
[0030]第二查表单元130:
[0031]索引查表结果0无限12
126
22
125
…ꢀ
404-2-21
……
[0032]由于第二位区块FP_2为0000000110010100=404,故而,经查表后可得到-2-21
。也就是说,第二查表单元130的查表结果乃是第二位区块FP_2的倒数。
[0033]相似地,第三查表单元140以第三位区块FP_3为索引来进行查表。在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种浮点数函数运算查表计算装置,其特征在于,包括:一位排列单元,接收一浮点数输入数据,对该浮点数输入数据进行位排列或格式转换,以产生多个位区块;一第一查表单元群组,接收该多个位区块,以该多个位区块为索引,进行查表以得到多个查表结果;以及一运算单元,对该第一查表单元群组的该多个查表结果进行运算,以得到一运算结果。2.如权利要求1所述的浮点数函数运算查表计算装置,其特征在于,该浮点数输入数据包括多种格式。3.如权利要求1所述的浮点数函数运算查表计算装置,其特征在于,该浮点数输入数据的格式包括张量浮点32与16位脑浮点。4.如权利要求1所述的浮点数函数运算查表计算装置,其特征在于,该运算单元所进行的运算包括下列的至少一者或任意组合:加法运算,减法运算,乘法运算,除法运算,查表。5.如权利要求1所述的浮点数函数运算查表计算装置,其特征在于,该浮点数输入数据包括多个位组,该多个位区块的至少一位区块包括:多个冗余位,以及该浮点数输...

【专利技术属性】
技术研发人员:郭垣翔吕佳霖张玮君周豪卿吴振禧
申请(专利权)人:北京晶视智能科技有限公司
类型:发明
国别省市:

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

1