CN102109973A - 包含超越函数计算的处理器实现装置 - Google Patents
包含超越函数计算的处理器实现装置 Download PDFInfo
- Publication number
- CN102109973A CN102109973A CN 201110050034 CN201110050034A CN102109973A CN 102109973 A CN102109973 A CN 102109973A CN 201110050034 CN201110050034 CN 201110050034 CN 201110050034 A CN201110050034 A CN 201110050034A CN 102109973 A CN102109973 A CN 102109973A
- Authority
- CN
- China
- Prior art keywords
- point
- floating
- tab
- level
- stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
包含超越函数计算的处理器实现装置,属数字信号处理器技术领域。其目的是提供一种能够快速实现定点反正切、浮点倒数、浮点自然对数和浮点开方计算的硬件。该硬件电路依次由地址发生器和第一数据寄存器构成的取数级,由tab0、tab1、两个乘加模块和第二数据寄存器构成的执行级,以及由截位模块和标志生成模块构成的写回级组成三级流水的架构;取数级用于产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算;执行级用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的运算;写回级用于标志的生成以及运算结果的截位输出。
Description
技术领域
本发明涉及一种包含超越函数计算的处理器实现装置,属数字信号处理器技术领域。
背景技术
目前,计算机对超越函数的计算,通常是采用软件来实现的。由于采用软件的方式实现超越函数的求解,其速度较慢,故无法满足对计算速度要求较高的场合,特别是无法满足数字信号处理领域中对对数及反三角函数之类的超越函数的快速求解。
发明内容
本发明的目的在于提供一种能够快速实现对定点反正切、浮点倒数、浮点自然对数和浮点开方进行计算的包含超越函数计算的处理器实现装置。
其技术方案是:一种包含超越函数计算的处理器实现装置,其特征在于:所述实现装置依次由地址发生器和第一数据寄存器构成的取数级,由tab0、tab1、两个乘加模块和第二数据寄存器构成的执行级,以及由截位模块和标志生成模块构成的写回级组成三级流水的架构;
取数级,根据控制信号和输入数据,用于在地址发生器内产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算;
执行级,用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的计算;
写回级,用于标志的生成以及运算结果的截位输出。
其技术效果是:本发明首先通过取数级将接收的数据表示成定点或浮点的形式,将其作为执行超越函数计算的输入值;然后通过执行级将特定函数按照泰勒公式展开,根据计算精度要求提取泰勒级数部分分项构成乘加形式,并通过查找表的方式获取部分分项值,在1个时钟周期内完成超越函数的近似值计算;最后通过写回级对中间计算结果进行修正,获取最终结果,从而实现对定点反正切、浮点倒数、浮点自然对数和浮点开方的快速计算。
附图说明
图1为本发明的电路框图。
图2为定点反正切arctg(x)的实现流程图。
图3为浮点倒数1/x的实现流程图。
图4为浮点自然对数ln(x)的实现流程图。
图5为浮点开方sqrt(x)的实现流程图。
具体实施方式
如图1所示,一种包含超越函数计算的处理器实现装置,依次由取数级、执行级和写回级组成三级流水的架构。
取数级由地址发生器和第一数据寄存器构成,根据控制信号和输入数据,用于在地址发生器内产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算。
执行级由tab0、tab1、两个乘加模块和第二数据寄存器构成,主要用于完成1/x、sqrt(x)和ln(x)的计算。其中,tab0中包含有用于查询的rec_tab、rec2_tab、sqr_tab、recsqr_tab和ln_tab五张表。Tab1中包括有用于查询的arctg_tab0、arctg_tab1、sqr_tab_fix和recsqr_tab_fix四张表,以及一个用于计算 的的乘法器。通过Tab1可以完成arctan(x)以及浮点指数为奇数的开方运算。Tab0的查表结果通过乘加模块后可以直接得到1/x的计算结果。计算开方sqrt(x)时只能得到源操作数的浮点指数(无偏)为偶数的值,即, 浮点指数(无偏)为奇数的值需根据tab1中查表结果计算,最终的计算结果要根据指数的奇偶性通过选择输出。计算ln(x)时利用tab0计算得到,利用tab1计算得到,最终合成。
写回级由截位模块和标志生成模块构成,主要用于标志的生成以及运算结果的截位输出。标志寄存器分为浮点溢出,定点溢出及浮点非数,能够产生浮点溢出标志的主要有两种情况:一是计算浮点倒数时输入数据为浮点0;二是计算浮点开方时输入数据为浮点的无穷大。当浮点运算的输入源操作数为非数时,将产生浮点非数标志。只有计算ln(0)时才会产生定点溢出标志。截位模块主要完成计算结果的修正,并将最终结果截断成32位数据输出。
其实现定点反正切arctg(x),浮点倒数1/x,浮点自然对数ln(x)及浮点开方sqrt (x)计算的流程如下:
1、完成32位定点数据的反正切计算:反正切的计算结果为16位定点数。在数学意义上,本发明实现arctg(x)所能接受的源操作数x,是一个大于等于-1,小于1的数。所得到结果,是把[0,65536)区间归一化到 [0,2∏) 区间所得到的数值,即,若本发明取得一个结果Φ,那么数学意义上的弧度结果应该是。具体实现如下所示:
则arctg(|x|)可表示成:
arctg(|x|)=arctg(x0+x1)=(x0+x1)-(x0+x1)3/3+(x0+x1)5/5-(x0+x1)7/7+……
= x0-x0 3/3+x0 5/5-x0 7/7+……
+x1(1-x0 2+x0 4-x0 6+……)+x1 2x0(1-2x0 2+3x0 4-4x0 6+……)+……
= arctg(x0)+x1(1+x0 2)-1+x1 2x0(1+x0 2)-2+…… (1)
实际计算时只提取展开式的前两项就可以得到16位精度的计算结果。本装置中事先存储和两张表,表中数值也都精确到小数点后16位。由于本装置电路中的角度是以0~65535表示0~2∏,所以需要对和进行缩放,缩放的系数为,即
(4)
查询执行级tab1中的arctg_tab0和arctg_tab1得到 及的计算结果。arctg_tab0与arctg_tab1都是深度为256,字宽为18位的查询表。通过与tab1相连的乘加模块完成公式(4)的计算 得到,并将与x的正负标识寄存。
写回级中的截位模块根据源操作数的正负对进行修正,完成arctg(x)的计算。如果x为正值则,如果x为负值则。由于乘加模块的运算结果为36bit,所以最终结果输出会将结果的低4去除。arctg(x)的运算不会产生标志位。
则
如图3所示,在地址发生器中,首先提取浮点x的尾数x0+x1和无偏指数exp。其中 x0作为查找表的入口地址,x0、x1、无偏指数exp及x的正负标识被寄存下来,下一时钟节拍进入执行级开始计算。
查询执行级tab0中的rec_tab和rec2_tab得到和。rec_tab和rec2_tab都是深度为256,字宽为18位的查询表。通过与tab0相连的乘加模块完成的计算,并将该计算结果、x的正负标识及无偏指数exp寄存。
本发明对浮点倒数1/x计算结果的尾数可以精确到小数点后第16位。
3、完成浮点自然对数ln(x)的计算:原操作数x需要大于等于0。计算结果按照16位定点方式输出。实现装置中,ln(x)的结果输出还受一个4位控制信号cutnum的控制。若则输出计算结果的整数部分,则输出计算结果的整数部分加一位小数,则输出计算结果的整数部分加两位小数,以此类推。
则
由于x1/x0小于1,所以ln(1+x1/x0)可以使用泰勒公式展开。
如图4所示,与计算浮点1/x相同,在地址发生器中,首先提取浮点自然对数x的尾数和无偏指数exp。其中 x0将作为查找表的入口地址,x0、x1、无偏指数exp及输出控制cutnum被寄存下来,下一时钟节拍进入执行级开始计算。
4、完成浮点开方sqrt(x)的计算:原操作数x需要大于等于0;
取展开式的前两项参加运算
浮点开方运算时分浮点的指数为奇数和偶数两种情况:
执行级tab0中的、;tab1中的,。sqr_tab、recsqr_tab和sqr_tab_fix、recsqr_tab_fix精度均为16位。执行级硬件电路通过tab0查询表sqr_tab和recsqr_tab计算,并同时通过tab1查询表sqr_tab_fix及recsqr_tab_fix计算。
Claims (4)
1.包含超越函数计算的处理器实现装置,其特征在于:所述硬件电路依次由地址发生器和第一数据寄存器构成的取数级,由tab0、tab1、两个乘加模块和第二数据寄存器构成的执行级,以及由截位模块和标志生成模块构成的写回级组成三级流水的架构;
取数级,根据控制信号和输入数据,用于在地址发生器内产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算;
执行级,用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的计算;
写回级,用于标志的生成以和运算结果的截位输出。
2.根据权利要求1所述的包含超越函数计算的处理器实现装置,其特征在于:所述tab0中包含有用于查询的rec_tab、rec2_tab、sqr_tab、recsqr_tab和ln_tab五张表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110050034 CN102109973A (zh) | 2011-03-02 | 2011-03-02 | 包含超越函数计算的处理器实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110050034 CN102109973A (zh) | 2011-03-02 | 2011-03-02 | 包含超越函数计算的处理器实现装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102109973A true CN102109973A (zh) | 2011-06-29 |
Family
ID=44174151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110050034 Pending CN102109973A (zh) | 2011-03-02 | 2011-03-02 | 包含超越函数计算的处理器实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102109973A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185951A (zh) * | 2012-03-05 | 2014-12-03 | 索泰克公司 | 查找表架构 |
CN106020772A (zh) * | 2016-05-13 | 2016-10-12 | 中国人民解放军信息工程大学 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
CN108123907A (zh) * | 2017-11-24 | 2018-06-05 | 浙江天则通信技术有限公司 | 一种用于单载波频域均衡信道的低复杂度均衡方法 |
CN108540127A (zh) * | 2017-03-03 | 2018-09-14 | 成都海存艾匹科技有限公司 | 基于三维印录存储器的可编程门阵列 |
-
2011
- 2011-03-02 CN CN 201110050034 patent/CN102109973A/zh active Pending
Non-Patent Citations (1)
Title |
---|
《现代电子技术》 20090731 刘小明,洪一 基于查找表和Taylor展开的正余弦函数的实现 165,166 1-4 , 第300期 2 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185951A (zh) * | 2012-03-05 | 2014-12-03 | 索泰克公司 | 查找表架构 |
CN104185951B (zh) * | 2012-03-05 | 2018-09-14 | 索泰克公司 | 查找表架构 |
US10110235B2 (en) | 2012-03-05 | 2018-10-23 | Soitec | Look-up table architecture |
CN106020772A (zh) * | 2016-05-13 | 2016-10-12 | 中国人民解放军信息工程大学 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
CN106020772B (zh) * | 2016-05-13 | 2018-03-27 | 中国人民解放军信息工程大学 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
CN108540127A (zh) * | 2017-03-03 | 2018-09-14 | 成都海存艾匹科技有限公司 | 基于三维印录存储器的可编程门阵列 |
CN108123907A (zh) * | 2017-11-24 | 2018-06-05 | 浙江天则通信技术有限公司 | 一种用于单载波频域均衡信道的低复杂度均衡方法 |
CN108123907B (zh) * | 2017-11-24 | 2020-08-25 | 浙江天则通信技术有限公司 | 一种用于单载波频域均衡信道的低复杂度均衡方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643228B (zh) | 用于浮点乘加运算的低能耗尾数乘法 | |
KR101735677B1 (ko) | 부동 소수점의 복합 연산장치 및 그 연산방법 | |
US9753695B2 (en) | Datapath circuit for digital signal processors | |
CN102722352B (zh) | 一种Booth乘法器 | |
CN102629189B (zh) | 基于fpga的流水浮点乘累加方法 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
CN106155627B (zh) | 基于t_cordic算法的低开销迭代三角函数装置 | |
CN107273090A (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
JPH0727456B2 (ja) | 浮動小数点演算装置 | |
CN102360344A (zh) | 矩阵处理器及其指令集和嵌入式系统 | |
CN103809930A (zh) | 一种双精度浮点数除法器的设计方法及除法器 | |
CN102109973A (zh) | 包含超越函数计算的处理器实现装置 | |
CN103135960A (zh) | 一种基于fpga的集成浮点运算器的设计方法 | |
CN104679720A (zh) | 一种实现fft的运算方法 | |
CN103677737A (zh) | 基于进位节省加法器的低延时cordic三角函数实现的方法及装置 | |
CN107423026B (zh) | 一种正余弦函数计算的实现方法及装置 | |
CN103176948A (zh) | 一种低成本的单精度初等函数运算加速器 | |
CN111984226B (zh) | 一种基于双曲cordic的立方根求解装置及求解方法 | |
CN202075727U (zh) | 包含超越函数计算的处理器实现装置 | |
CN108228135B (zh) | 一种运算多种超越函数的装置 | |
CN117170622A (zh) | 累加器及用于累加器的方法和芯片电路及计算设备 | |
CN104714773A (zh) | 基于plb总线的嵌入式旋转角计算ip软核及旋转角计算方法 | |
CN104238992A (zh) | 一种高性能非精确浮点加法器及其应用方法 | |
US10459689B2 (en) | Calculation of a number of iterations | |
CN107657078B (zh) | 基于fpga的超声相控阵浮点聚焦发射实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110629 |