一种面积优化的串行浮点超越函数计算装置及处理器的制作方法

文档序号:38157799发布日期:2024-05-30 12:12阅读:55来源:国知局
一种面积优化的串行浮点超越函数计算装置及处理器的制作方法

本发明涉及芯片设计及浮点运算装置,尤其是涉及一种支持三角函数、双曲函数、指数函数、对数函数等超越函数的浮点运算装置及处理器。


背景技术:

1、超越函数指的是变量之间的关系不能用有限次加、减、乘、除、乘方、开方运算表示的函数,如三角函数、双曲函数、指数函数、对数函数等。超越函数广泛应用于图像处理、雷达遥感、信号处理等领域,而随着这些领域的发展,对超越函数计算装置提出了更高的要求,可以针对航空,军事领域设计高性能、低延迟、高精度的超越函数计算器,或是针对嵌入式领域采用低功耗、面积小的超越函数处理的设计。

2、cordic(coordinate rotation digital computer,坐标旋转数字计算)算法是目前最常用来在硬件上实现超越函数处理的计算方法,传统基于cordic算法实现的超越函数处理装置,其输入、输出数据多采用定点数据类型设计,相比于ieee-754浮点数据,定点数据的数据范围小,精度低,在高级应用程序如c语言程序中兼容性较差,但是定点数据的处理比较简单,硬件上容易实现,面积小。而ieee-754浮点数据的数据范围广,精度高,c语言程序中可以直接定义浮点数据,与之带来的是复杂的数据通路以及较大的面积占用,需要针对具体应用领域进行权衡。

3、hcordic(high-radix adaptive cordic,高基数自适应cordic)算法中的变量采用ieee-754浮点数据格式设计,可以使用硬件实现对浮点超越函数的处理,相比传统cordic算法,高基数自适应的特点使其运算超越函数迭代次数更少,但是引入了浮点乘法器与浮点加法器,会消耗较多的资源实现,同时芯片面积也会增大。


技术实现思路

1、针对浮点数据处理的超越函数计算装置存在硬件实现面积大、资源消耗多等问题,本发明的目的在于实现一种浮点超越函数的计算装置及处理器,从面积的角度对装置进行优化,以更好地适用于现在的芯片整体面积优化需求中。具体而言,本发明提供了以下技术方案:

2、一方面,本发明提供了一种面积优化的串行浮点超越函数计算装置,所述装置包括:

3、初始化单元、控制单元、存储单元、运算单元、输出选择单元;

4、所述初始化单元接收外界输入至所述计算装置的浮点输入数据和指令控制信号,输出经过初始化后的数据并发送至控制单元;

5、所述控制单元连接存储单元及运算单元;所述控制单元基于超越函数的约束条件,将由存储单元获取的参数因子、由初始化单元输出的数据和由运算单元输出的迭代数据,选择性地输入至运算单元,同时控制单元还判断当前迭代是否收敛,如果达到收敛条件,则输出收敛信号至运算单元;所述参数因子包括旋转因子δ、旋转角θ、比例因子k和比例因子k;

6、所述运算单元用于进行浮点迭代运算,并输出迭代反馈数据;以及根据收敛信号,进行浮点缩放运算,输出完成缩放后的数据至输出选择单元;

7、所述输出选择单元基于指令控制信号,对运算单元发送的缩放后的数据进行选择,并输出运算结果。

8、优选地,所述存储单元存储该些参数因子的可能值。

9、优选地,所述运算单元包括:一个浮点乘法器和一个浮点加法器构成的第一运算器,一个浮点乘法器和一个浮点减法器构成的第二运算器,一个浮点乘法器构成的第三运算器,以及一个浮点加法器构成的第四运算器;

10、所述迭代运算与缩放运算为串行关系,当迭代运算结果满足收敛条件后,才启动缩放运算,否则不启动缩放运算。

11、所述迭代运算与缩放运算的计算过程都在运算单元中进行。

12、优选地,所述运算单元中迭代运算方式为:

13、

14、

15、

16、

17、

18、其中,表示向量x第i次迭代计算的结果,表示向量y第i次迭代计算的结果,表示累积角度第i次迭代计算的结果,表示旋转角第i次迭代计算的结果,变量k、k为比例因子,、表示比例因子第i次迭代计算的结果,表示旋转因子第i次迭代计算的结果,m∈{1,0,-1}。

19、优选地,变量和的更新方式为:

20、向量模式下的更新方式为:

21、

22、

23、旋转模式下的更新方式为:

24、

25、

26、其中,、和表示变量x、y、z的指数部分,、和表示变量x、y、z的尾数,i表示迭代的次数。

27、优选地,所述运算单元中进行缩放运算的方式为:

28、

29、

30、

31、其中,xr、yr和zr表示由控制单元输出的经过r次迭代后满足收敛条件的变量,xout、yout和zout表示缩放单元的输出数据。

32、优选地,所述初始化单元根据指令控制信号,完成对应超越函数运算的变量的初始化;所述变量包括向量x、向量y、累积角度z、比例因子k。

33、优选地,所述运算单元中,所述第一运算器和第二运算器前设置第一多路选择器,所述第一多路选择器接收收敛信号、旋转因子δ和比例因子k,并将选择输出的数据分别发送至第一运算器和第二运算器;

34、若收敛信号为假,则第一多路选择器选择旋转因子δ为输出,则运算单元进行迭代运算;若收敛信号为真,则第一多路选择器选择比例因子k为输出,则运算单元进行缩放运算。

35、优选地,所述运算单元中,所述第一运算器输入为向量x、向量y和第一多路选择器选择输出的数据;输出为迭代运算后的向量x或缩放运算后的向量;

36、所述第二运算器输入为向量x、向量y和第一多路选择器选择输出的数据;输出为迭代运算后的向量y或缩放运算后的向量;

37、所述第三运算器输入为比例因子k和比例因子k;输出为迭代后的比例因子k;

38、所述第四运算器的输入为累积角度z和旋转角θ,输出为迭代运算后的累积角度z。

39、优选地,所述计算单元中,进行缩放运算时:

40、第一运算器中的浮点乘法器基于向量y及比例因子k进行缩放运算,得到缩放后向量yout;

41、第二运算器中的浮点乘法器基于向量x及比例因子k进行缩放运算,得到缩放后向量xout。

42、优选地,所述计算装置可以计算正弦函数(sin),余弦函数(cos),双曲正弦函数(sinh),双曲余弦函数(cosh),反正切函数(artan),反双曲正切函数(artanh),自然指数函数(exp),自然对数函数(ln)等八种函数。

43、另一方面,本发明还提供了一种处理器,所述处理器至少包括指令存储器、译码模块及执行单元;所述译码模块对来自于指令存储器中的指令进行译码,得到指令控制信号;

44、所述执行单元包含如上所述的串行浮点超越函数计算装置,所述串行浮点超越函数计算装置基于所述指令控制信号执行对应的超越函数的浮点运算。

45、与现有技术相比,本方案至少具有以下有益效果:

46、本方案基于hcordic算法思想,在硬件设计实现过程中,对部分超越函数迭代运算中的浮点乘法与缩放运算的浮点乘法资源进行有效复用和科学设计,从而减小芯片面积,降低资源消耗。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1