一种三角函数协处理器制造技术

技术编号:39486443 阅读:11 留言:0更新日期:2023-11-24 11:06
本发明专利技术公开了一种三角函数协处理器,包括:译码接口单元,其内具有自定义三角函数指令,用于在接收到主处理器传递的运算请求时,执行对应的三角函数指令,译码获取输入角度,还用于将协处理器的运算结果反馈至主处理器;角度压缩单元,用于将三角函数指令中的角度压缩映射至

【技术实现步骤摘要】
一种三角函数协处理器


[0001]本专利技术涉及数字处理
,尤其涉及到一种三角函数协处理器


技术介绍

[0002]随着现代电子通信技术的发展,对数字系统的实时性和准确性的要求也越来越高

三角函数作为一种基本运算,广泛应用于数字频率合成

数字图形处理

矩阵运算等领域,但大多微处理器没有针对此类运算的专用指令

虽然对于三角函数的计算可以采用纯软件方式,但是这种解决方案消耗相当大的时钟周期和大量的硬件资源,无法满足数字系统的实时性和准确性

所以通过自定义三角函数指令构建协处理器计算装置能够处理大量三角函数运算,提高计算性能,并且降低功耗

[0003]目前,对于三角函数计算的硬件电路一般是通过
CORDIC
算法来实现的

坐标旋转数字计算机
(COordinate Rotation Digital Computer

CORDIC)
算法通过简单的移位和加法运算来计算微旋转,从而不断迭代逼近目标值,这在执行正弦和余弦函数的硬件实现中非常有效,具有精度可调和运算速度快等特点

但是,随着计算精度的提高,迭代运算次数也相应地增加,这将会消耗更多硬件资源

增加功耗

加大输出时延

因此,在保证精度的前提下进行三角函数运算,减少功耗

降低输出时延

降低硬件资源消耗是目前亟需解决的问题


技术实现思路

[0004]因此,为了解决现有技术中出现的上述问题,本申请提供了一种基于自定义指令减少三角函数运算时所需的指令数量,并通过优化
CORDIC
算法减少计算资源消耗,运算速率较高的三角函数协处理器

[0005]本专利技术提供了一种三角函数协处理器,包括:
[0006]译码接口单元,其内具有自定义三角函数指令;译码接口单元用于在接收到主处理器传递的运算请求时,执行对应的三角函数指令,基于对应的三角函数指令进行译码获取输入角度;译码接口单元还用于将协处理器的运算结果反馈至主处理器;
[0007]角度压缩单元,用于将三角函数指令中的角度压缩映射至
[0

π
/4]区间内;
[0008]角度编码单元,用于对映射后的角度进行二进制编码,并对得到的二进制编码序列进行角度二极化重编码,得到旋转方向

旋转角度和模长校正因子;
[0009]旋转迭代单元,用于根据旋转方向

旋转角度和模长校正因子进行旋转迭代,得到
[0

π
/4]区间范围内的运算结果;
[0010]结果重映射单元,用于将
[0

π
/4]区间范围内的运算结果重映射至
[0
,2π
]区间,并将重映射后的运算结果发送至译码接口单元

[0011]在可选的实施方式中,译码接口单元为
NICE
接口单元

[0012]在可选的实施方式中,自定义三角函数中的
SIN
指令的
funct7

funct3
编码分别为7’
b0000100
和3’
b110

COS
指令中的
funct7

funct3
编码分别为7’
b0000101
和3’
b110。
[0013]在可选的实施方式中,角度编码单元中的二进制编码公式为:
[0014][0015]其中,
θ
为映射后的角度,
b
n
为二进制编码序列;
[0016]令
r
n

2b
n
‑1,得到角度二极化重编码公式:
[0017][0018]其中,为初始角度,
r
n

{

1,1}
,当
r
n
=1时,为顺时针旋转;当
r
n

‑1时,为逆时针旋转;
[0019]角度编码单元中的模长校正因子
K
为:
[0020][0021]其中,
θ
n
为弧度2‑
(n+1)
所对应的角度

[0022]在可选的实施方式中,旋转迭代单元中的迭代公式为:
[0023][0024]其中,
x
n

y
n
为第
n
次迭代后的坐标值,
x
n+1

y
n+1
为第
n+1
次迭代后的坐标值

[0025]在可选的实施方式中,三角函数协处理器还包括:
[0026]迭代控制单元,用于在迭代次数
n
小于等于时,控制旋转迭代单元自预设查找表内获取迭代结果,在迭代次数
n
大于且小于等于时,控制旋转迭代单元采用第一近似公式计算迭代结果,在迭代次数
k
大于时,控制旋转迭代单元采用第二近似公式计算迭代结果;其中,
N
为总迭代次数

[0027]在可选的实施方式中,第一近似公式为:
[0028][0029]第二近似公式为:
[0030][0031]本专利技术提供的技术方案,具有如下优点:
[0032]1、
本专利技术提供的三角函数协处理器,通过在设置译码接口单元内自定义三角函数指令,使得三角函数
(sin

cos)
指令均可以被定义为单操作指令,相对于现有技术中使用的指令集中的几十条指令,需要执行的指令数量大大减少,提高了三角函数协处理器的运算效率;通过将全象限的角度压缩映射至
[0

π
/4]区间,再采用二极化重编码方式用弧度进
行旋转迭代,能够简化计算,减少资源消耗,并进一步提高该三角函数协处理器的运算效率

[0033]2、
本专利技术提供的三角函数协处理器,通过设置迭代控制单元,控制旋转迭代单元在迭代过程中以和三个层次进行层次化运算,能够缩短关键时延

提高运算速度,从而能够达到解决传统
CORDIC
算法中采用固定角度进行迭代运算,导致旋转的角度范围有限和硬件消耗大问题的效果,进一步提高该三角函数协处理器的计算精度并减少其资源消耗

附图说明
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种三角函数协处理器,其特征在于,包括:译码接口单元,其内具有自定义三角函数指令;所述译码接口单元用于在接收到主处理器传递的运算请求时,执行对应的所述三角函数指令,基于对应的所述三角函数指令进行译码获取输入角度;所述译码接口单元还用于将所述协处理器的运算结果反馈至所述主处理器;角度压缩单元,用于将所述三角函数指令中的角度压缩映射至
[0

π
/4]
区间内;角度编码单元,用于对映射后的角度进行二进制编码,并对得到的二进制编码序列进行角度二极化重编码,得到旋转方向

旋转角度和模长校正因子;旋转迭代单元,用于根据所述旋转方向

所述旋转角度和所述模长校正因子进行旋转迭代,得到
[0

π
/4]
区间范围内的运算结果;结果重映射单元,用于将所述
[0

π
/4]
区间范围内的运算结果重映射至
[0
,2π
]
区间,并将重映射后的运算结果发送至所述译码接口单元
。2.
根据权利要求1所述的三角函数协处理器,其特征在于,所述译码接口单元为
NICE
接口单元
。3.
根据权利要求2所述的三角函数协处理器,其特征在于,所述自定义三角函数中的
SIN
指令的
funct7

funct3
编码分别为7’
b0000100
和3’
b110

COS
指令中的
funct7

funct3
编码分别为7’
b0000101
和3’
b110。4.
根据权利要求1‑3任一项所述的三角函数协处理...

【专利技术属性】
技术研发人员:周世豪何滇林珍华李朋凯王文林张野宋子奇吴勇王东查梦凡
申请(专利权)人:西安电子科技大学芜湖研究院
类型:发明
国别省市:

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

1