包含超越函数计算的处理器实现装置的制作方法

文档序号:6355298阅读:400来源:国知局
专利名称:包含超越函数计算的处理器实现装置的制作方法
技术领域
本发明涉及一种包含超越函数计算的处理器实现装置,属数字信号处理器技术 领域。
背景技术
目前,计算机对超越函数的计算,通常是采用软件来实现的。由于采用软件的方式 实现超越函数的求解,其速度较慢,故无法满足对计算速度要求较高的场合,特别是无法满 足数字信号处理领域中对对数及反三角函数之类的超越函数的快速求解。

发明内容
本发明的目的在于提供一种能够快速实现对定点反正切、浮点倒数、浮点自然对 数和浮点开方进行计算的包含超越函数计算的处理器实现装置。其技术方案是一种包含超越函数计算的处理器实现装置,其特征在于所述实 现装置依次由地址发生器和第一数据寄存器构成的取数级,由tab0、tabl、两个乘加模块和 第二数据寄存器构成的执行级,以及由截位模块和标志生成模块构成的写回级组成三级流 水的架构;
取数级,根据控制信号和输入数据,用于在地址发生器内产生查表所需的地址,并将执 行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算; 执行级,用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的计算; 写回级,用于标志的生成以及运算结果的截位输出。其技术效果是本发明首先通过取数级将接收的数据表示成定点或浮点的形式, 将其作为执行超越函数计算的输入值;然后通过执行级将特定函数按照泰勒公式展开,根 据计算精度要求提取泰勒级数部分分项构成乘加形式,并通过查找表的方式获取部分分项 值,在1个时钟周期内完成超越函数的近似值计算;最后通过写回级对中间计算结果进行 修正,获取最终结果,从而实现对定点反正切、浮点倒数、浮点自然对数和浮点开方的快速 计算。


图1为本发明的电路框图。图2为定点反正切arctg(X)的实现流程图。图3为浮点倒数1/x的实现流程图。图4为浮点自然对数In(X)的实现流程图。图5为浮点开方sqrt(x)的实现流程图。
具体实施例方式如图1所示,一种包含超越函数计算的处理器实现装置,依次由取数级、执行级和写回级组成三级流水的架构。取数级由地址发生器和第一数据寄存器构成,根据控制信号和输入数据,用于在 地址发生器内产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入 数据以及地址信号寄存送到执行级计算。执行级由tabO、tabl、两个乘加模块和第二数据寄存器构成,主要用于完成1/x、 sqrt(x)和In (χ)的计算。其中,tabO中包含有用于查询的rec_tab、rec2_tab、sqr_tab、 recsqr_tab 禾口 ln_t£ib 21 ; ^ Tabl ^^fSWfflTSi^W arctg_tabO> arctg_tabl> sqr_ tab_fix和recsqr_tab_fix四张表,以及一个用于计算expxhi(2)的IStoxlgto的乘法器。 通过Tabl可以完成arctanOO以及浮点指数为奇数的开方运算。TabO的查表结果通过乘 加模块后可以直接得到1/x的计算结果。计算开方sqrt(x)时只能得到源操作数的浮点指 数(无偏)为偶数的值,即sqrt(^+Xl)= sqrtC^J + O.Sx^/sqrtCso),浮点指数(无偏)为奇数 的值需根据tabl中查表结果计算,最终的计算结果要根据指数的奇偶性通过选择输出。计 算In(X)时利用tabO计算得到1^(^) + 111(14 / ),利用tabl计算得到邵xln(2),最终合
成In (2) = In (X0)+ In (1.+X1 /x0) +expxln(2)。写回级由截位模块和标志生成模块构成,主要用于标志的生成以及运算结果的截 位输出。标志寄存器分为浮点溢出,定点溢出及浮点非数,能够产生浮点溢出标志的主要有 两种情况一是计算浮点倒数时输入数据为浮点0 ;二是计算浮点开方时输入数据为浮点 的无穷大。当浮点运算的输入源操作数为非数时,将产生浮点非数标志。只有计算ln(o) 时才会产生定点溢出标志。截位模块主要完成计算结果的修正,并将最终结果截断成32位 数据输出。其实现定点反正切arctg(X),浮点倒数l/χ,浮点自然对数In (χ)及浮点开方sqrt (χ)计算的流程如下
1、完成32位定点数据的反正切计算反正切的计算结果为16位定点数。在数学意义 上,本发明实现arctg(X)所能接受的源操作数X,是一个大于等于-1,小于1的数。所得到 结果,是把W,65536)区间归一化到
=2_鄉 χ (1 / χ0) χ[1 — X1 / χ0 + (X1 / S0)2 -(S1Zz0)3+............]
= 2-βφχ[1/χ0- VV +............](5)
如图3所示,在地址发生器中,首先提取浮点χ的尾数和无偏指数exp。其中& 作为查找表的入口地址,&、X1、无偏指数exp及χ的正负标识被寄存下来,下一时钟节拍进 入执行级开始计算。需要得到16位精度的结果,执行级只需计算1/χ=2_-41/ -巧/q2]。本装置 中存储有reC_tab = l/ 和reC2_tab = -1/ 2两张表,结果都保留到16位精度,最终的计
算结果可以表示为
Ifx- 2—— x[rec_tab + X1 xrec2_tab](6)查询执行级 tabO 中的 rec_tab 和 rec2_tab 得到 IZx0 和-IZx02。rec_tab 和 rec2_tab都是深度为256,字宽为18位的查询表。通过与tabO相连的乘加模块完成 rec_tab + x1xrec2_tab的计算,并将该计算结果、χ的正负标识及无偏指数exp寄存。由于rec_tab + x1xrec2_tab是一个大于等于0. 5小于!的值,需要将其左移一位
后才能作为l/χ的浮点尾数,并调整计算结果的无偏指数为up-1。规格化运算结果后输 出。这些操作全部在写回级完成。本发明对浮点倒数l/χ计算结果的尾数可以精确到小数点后第16位。3、完成浮点自然对数In(X)的计算原操作数χ需要大于等于0。计算结果按照 16位定点方式输出。实现装置中,In(X)的结果输出还受一个4位控制信号cutnum的控 制。若Oitoum = O则输出计算结果的整数部分,cutourn =1则输出计算结果的整数部分加一 位小数,cutmim = 2则输出计算结果的整数部分加两位小数,以此类推。
权利要求
1.包含超越函数计算的处理器实现装置,其特征在于所述硬件电路依次由地址发生 器和第一数据寄存器构成的取数级,由tab0、tabl、两个乘加模块和第二数据寄存器构成的 执行级,以及由截位模块和标志生成模块构成的写回级组成三级流水的架构;取数级,根据控制信号和输入数据,用于在地址发生器内产生查表所需的地址,并将执 行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算; 执行级,用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的计算; 写回级,用于标志的生成以和运算结果的截位输出。
2.根据权利要求1所述的包含超越函数计算的处理器实现装置,其特征在于所述 tabO ΦyEl^-WfflTSi^J W rec_tab> rec2_tab> sqr_tab> recsqr_tab 禾口 ln_t£ib 21 ; ^
3.根据权利要求1所述的包含超越函数计算的处理器实现装置,其特征在于所述 Tabl 中包含有用于查询的 arctg_tabO、arctg_tabl、sqr_tab_fix 禾口 recsqr_tab_fix 四张表,以及一个用于计算expxln(2)的IStoxlBto的乘法器。
4.根据权利要求1所述的包含超越函数计算的处理器实现装置,其特征在于所述乘 加模块为+ 。
全文摘要
包含超越函数计算的处理器实现装置,属数字信号处理器技术领域。其目的是提供一种能够快速实现定点反正切、浮点倒数、浮点自然对数和浮点开方计算的硬件。该硬件电路依次由地址发生器和第一数据寄存器构成的取数级,由tab0、tab1、两个乘加模块和第二数据寄存器构成的执行级,以及由截位模块和标志生成模块构成的写回级组成三级流水的架构;取数级用于产生查表所需的地址,并将执行级和写回级所需的控制信号、变换后的输入数据以及地址信号寄存送到执行级计算;执行级用于完成定点反正切、浮点倒数、浮点自然对数和浮点开方的运算;写回级用于标志的生成以及运算结果的截位输出。
文档编号G06F7/544GK102109973SQ20111005003
公开日2011年6月29日 申请日期2011年3月2日 优先权日2011年3月2日
发明者刘小明, 宋何娟, 洪一, 钟小艳, 龚晓华 申请人:中国电子科技集团公司第三十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1