CN201449601U - 超越函数装置 - Google Patents
超越函数装置 Download PDFInfo
- Publication number
- CN201449601U CN201449601U CN2009200342060U CN200920034206U CN201449601U CN 201449601 U CN201449601 U CN 201449601U CN 2009200342060 U CN2009200342060 U CN 2009200342060U CN 200920034206 U CN200920034206 U CN 200920034206U CN 201449601 U CN201449601 U CN 201449601U
- Authority
- CN
- China
- Prior art keywords
- register
- processing
- processing unit
- cordic
- counter
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本实用新型公开了一种超越函数装置,包括预处理单元、处理单元和后处理单元,其特点是所述处理单元由计数寄存器1、计数寄存器2、X寄存器及其处理通路、Y寄存器及其处理通路、Z寄存器及其处理通路、控制状态机组成。由于采用HPOR CORDIC装置,将处理中产生的中间值的指数与计数器的变化建立一一对应关系,计数寄存器2的变化代表了指数的变化,因此在处理中仅有尾数部分参与处理,消除了浮点CORDIC中的指数操作及尾数对阶,该装置同时克服了浮点CORDIC装置电路延迟大、定点CORDIC装置处理精度差的缺点,而且硬件实现代价非常小。
Description
技术领域
本实用新型涉及一种超越函数装置。
背景技术
文献1“专利号为US20060200510的美国专利”公开了一种CORDIC角度处理装置,该装置中存在一个缩放单元,在CORDIC变换之前,该装置先对输入的数据做左移变换,处理结束,再采用相反的变换过程。该装置通过左移操作减少处理中的舍入误差,可以提高CORDIC角度的处理精度。但是CORDIC变换中由于定点数据表示引起的误差非常大,该改进措施获得的精度提高比较有限。
文献2“专利号为US20060233284的美国专利”公开了一种CORDIC旋转装置,该装置采用定点CORDIC变换实现角度旋转,在CORDIC的迭代过程中,采用了随机进位。该装置为了提高处理的精度,将传统的就近舍入改进为随机舍入。但是,随机舍入在极端情况下的误差非常大,影响系统的不稳定性。
文献3“专利号为US20030097388的美国专利”公开了一种向量旋转CORDIC装置,该装置采用两个单精度数的和,该单精度数的指数是以2为底的有符号数。通过采取和的形式,可以减少角度处理的误差。但是,在以浮点数为处理对象的CORDIC装置中,该结构并不能减少浮点处理的延迟。
参照图5及图6,公知的超越函数装置包括预处理单元,处理单元及后处理单元。在浮点CORDIC装置中,处理单元包含指数部分和尾数部分,由于采用了浮点结构,处理精度高,但是每次迭代需要进行指数对阶、尾数相加、浮点数的规格化及舍入,电路延迟大,而且实现复杂。在定点CORDIC装置中,处理单元由整数结构组成,处理所需的硬件代价及延迟都非常小,但是造成的舍入误差比较大。因此,在超越函数装置中,浮点CORDIC装置及定点CORDIC装置都存在缺陷需要克服。
发明内容
为了克服浮点CORDIC结构电路延迟大、定点CORDIC结构处理精度低的不足,本实用新型提供一种超越函数装置,采用高精度、顺序迭代的HPOR CORDIC硬件结构生成超越函数,该硬件结构将处理中产生的中间变量的指数变化映射到迭代次数上,消除了浮点超越函数装置的指数操作,同时不会引入不必要的舍入误差。该HPOR CORDIC超越函数装置同时具备低延迟、低硬件代价、高处理精度的特点。
本实用新型解决其技术问题所采用的技术方案:一种超越函数装置,包括预处理单元、处理单元和后处理单元,其特点是:所述处理单元由计数寄存器1、计数寄存器2、X寄存器及其处理通路、Y寄存器及其处理通路、Z寄存器及其处理通路、控制状态机组成,向X寄存器、Y寄存器以及Z寄存器输入初始值,控制状态机发出处理命令,X寄存器处理通路、Y寄存器处理通路及Z寄存器处理通路在每个时钟周期分别对其对应的寄存器数值进行处理,将处理结果再次保存到对应的寄存器中,每处理一次,计数寄存器1加1,计数寄存器2加1,计数寄存器1及计数寄存器2的值等于预设值时,控制状态机发出停止命令,X寄存器及Y寄存器输出处理结果.
本实用新型的有益效果是:由于采用HPOR CORDIC装置,将处理中产生的中间值的指数与计数器的变化建立一一对应关系,计数寄存器2的变化代表了指数的变化,因此在处理中仅有尾数部分参与处理,消除了浮点CORDIC中的指数处理及尾数对阶,该装置同时克服了浮点CORDIC装置处理延迟大、定点CORDIC装置处理精度差的缺点,而且硬件实现代价非常小。
下面结合附图和实施例对本实用新型做详细说明。
附图说明
图1是本实用新型超越函数装置的结构框图。
图2是图1中预处理单元的详图。
图3是图1中处理单元的详图。
图4是图1中后处理单元的详图。
图5是公知的浮点超越函数装置的结构框图。
图6是公知的定点超越函数装置的结构框图。
具体实施方式
参照图1~4,本实用新型在构造上采用了HPOR CORDIC结构的超越函数装置。整个装置由预处理单元、处理单元及后处理单元三大部分组成。预处理单元用于对超越函数的输入值进行变换,处理单元负责实施具体的处理,后处理单元对处理单元的输出结果做规格化处理。预处理单元接收处理器发出的处理指令及浮点源操作数,预处理单元的选择器及除法器可根据处理器指令的不同对源操作数做规格化处理:如果处理器指令为双曲函数,将源操作数规格化到[-1/2,1/2]内,如果处理器指令为三角函数,将源操作数规格化到[-π/4,π/4]。预处理单元将规格化后的源操作数分解为符号位S、指数位及尾数位,处理规格化后源操作数的指数E,并将该源操作数的尾数由64位扩展为70bit数Man,预处理单元将处理后的S、E、Man输出到处理单元。处理单元将S及Man组合并保存到Z寄存器中,将E保存到计数器2中,同时根据指令对计数寄存器1、X寄存器、Y寄存器做初始化。初始化完成后,在状态机的控制下,处理单元开始工作,总共迭代64次,处理中所需的参数保存在ROM中,由状态机控制存取。处理完成后输出处理结果X、Y及ES。后处理单元根据ES、X、Y生成中间结果,对中间结果进行规格化及舍入处理并输出。
整个电路的信息流向为:处理器发出超越函数指令及源操作数,预处理模块接收处理器指令及源操作数,根据处理器指令将源操作数规格化到设定的数据域,并将源操作数分解为S、Man及E,这三个数作为处理单元的输入保存在Z寄存器、计数寄存器2中。处理单元经初始化、64次迭代后输出处理结果X、Y及ES,后处理单元接收这三个数及符号位,将其组合成浮点数,最后做规格化、舍入操作并输出。
超越函数装置实现超越函数的方法具体如下:
(1)预处理单元接收处理器的超越函数指令及80位IEEE754浮点格式的源操作数。
(2)预处理单元根据处理器指令对源操作数做规格化处理:如果处理器指令为三角函数,将源操作数换算到[-π/4,π/4],如果处理器指令为双曲函数,将源操作数换算到[-1/2,1/2]。
(3)预处理单元对规格化的源操作数按照符号位S、指数位、尾数位做分解,处理预处理后源操作数的指数E,并分别在尾数Man最高位及最低位扩展三位。
(4)处理单元初始化:处理单元接收S、E、Man,分别将S及Man保存在Z寄存器及计数寄存器2中,置计数寄存器1为0,从ROM中输出初值到X寄存器,置Y寄存器为0。
(5)处理单元开始工作,处理中只有尾数参与处理,指数位不参与处理,每个时钟周期迭代一次,总共迭代64个时钟周期。
(6)后处理单元接收处理单元处理结果:X、Y及ES,并根据符号位S组成浮点数。
(7)后处理单元对浮点格式的处理结果做规格化及舍入处理。
(8)输出处理结果,返回到步骤(1)。
从执行流程上可以看出,该装置有以下几个特点:首先,在预处理单元中对浮点源操作数进行分解,将源操作数分解为符号位、指数位及尾数位,符号位及指数位不参与处理过程,仅作为计数器的初值,在处理单元的迭代过程中,X寄存器、Y寄存器及Z寄存器的移位操作、加法操作仅有浮点数的尾数参与处理,消除了浮点CORDIC装置的指数对阶及尾数规格化操作,减少了电路延迟,同时不损失电路的处理精度。
Claims (1)
1.一种超越函数装置,包括预处理单元、处理单元和后处理单元,其特征在于:所述处理单元由计数寄存器1、计数寄存器2、X寄存器及其处理通路、Y寄存器及其处理通路、Z寄存器及其处理通路、控制状态机组成,向X寄存器、Y寄存器以及Z寄存器输入初始值,控制状态机发出处理命令,X寄存器处理通路、Y寄存器处理通路及Z寄存器处理通路在每个时钟周期分别对其对应的寄存器数值进行处理,将处理结果再次保存到对应的寄存器中,每处理一次,计数寄存器1加1,计数寄存器2加1,计数寄存器1及计数寄存器2的值等于预设值时,控制状态机发出停止命令,X寄存器及Y寄存器输出处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009200342060U CN201449601U (zh) | 2009-08-14 | 2009-08-14 | 超越函数装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009200342060U CN201449601U (zh) | 2009-08-14 | 2009-08-14 | 超越函数装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201449601U true CN201449601U (zh) | 2010-05-05 |
Family
ID=42554324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009200342060U Expired - Fee Related CN201449601U (zh) | 2009-08-14 | 2009-08-14 | 超越函数装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201449601U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959192A (zh) * | 2011-12-21 | 2014-07-30 | 英特尔公司 | 用于估算超越函数的数学电路 |
-
2009
- 2009-08-14 CN CN2009200342060U patent/CN201449601U/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959192A (zh) * | 2011-12-21 | 2014-07-30 | 英特尔公司 | 用于估算超越函数的数学电路 |
US9465580B2 (en) | 2011-12-21 | 2016-10-11 | Intel Corporation | Math circuit for estimating a transcendental function |
CN103959192B (zh) * | 2011-12-21 | 2017-11-21 | 英特尔公司 | 用于估算超越函数的数学电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630243B (zh) | 超越函数装置以及用该装置实现超越函数的方法 | |
CN105468331B (zh) | 独立的浮点转换单元 | |
CN107273090B (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
CN107291419B (zh) | 用于神经网络处理器的浮点乘法器及浮点数乘法 | |
KR101735677B1 (ko) | 부동 소수점의 복합 연산장치 및 그 연산방법 | |
CN107769791B (zh) | 用于定点到浮点的转换的装置和方法及2的负幂检测器 | |
CN107305485B (zh) | 一种用于执行多个浮点数相加的装置及方法 | |
CN106250098B (zh) | 用于在执行浮点运算时控制舍入的装置及方法 | |
CN102566964B (zh) | 矢量浮点变元缩减 | |
US6138135A (en) | Propagating NaNs during high precision calculations using lesser precision hardware | |
CN1928809A (zh) | 用于执行浮点运算的系统、设备和方法 | |
CN106528044A (zh) | 处理器、指令执行方法和计算系统 | |
CN103984522A (zh) | Gpdsp中定点和浮点混合除法的实现方法 | |
CN104603744A (zh) | 用于高效浮点计算的运算 | |
CN103135960A (zh) | 一种基于fpga的集成浮点运算器的设计方法 | |
CN100524201C (zh) | 用于实现2的幂的浮点估计的装置与方法 | |
CN108055041A (zh) | 一种数据类型转换电路单元及装置 | |
CN111443893A (zh) | 一种基于cordic算法的n次根计算装置及方法 | |
CN107423026B (zh) | 一种正余弦函数计算的实现方法及装置 | |
CN101650643B (zh) | 一种用于不可除尽浮点除法开方的舍入方法 | |
CN116933840A (zh) | 支持可变指数位宽的多精度Posit编解码运算装置及方法 | |
EP3451152B1 (en) | Device and method for performing multiple transcendental function operations | |
CN104166535A (zh) | 定点处理器及其防溢方法 | |
CN201449601U (zh) | 超越函数装置 | |
CN1740962A (zh) | 一种快速流水线型除法器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20120814 |