当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于估算超越函数的数学电路制造技术

技术编号:10272074 阅读:131 留言:0更新日期:2014-07-31 13:36
描述了用于计算超越函数的估算的数学电路。查找表存储电路在其中存储若干组二进制值,其中每组值表示将函数估算至高精度的第一多项式的相应系数。第一计算电路使用来自每组值的二进制值求值第一多项式。第二计算电路使用也从多组值之一提取的二进制值的部分,求值将函数估算至低精度的第二多项式。也描述和要求保护了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于估算超越函数的数学电路本公开涉及微处理器和其它处理设备,尤其涉及它们对非算术或超越函数的计算。还描述了其它实施例。
技术介绍
处理设备一般具有内建硬件逻辑电路,该内建硬件逻辑电路不仅能计算基本算术函数(比如加、减和乘),又能计算非算术函数,例如倒数、平方根和幂。后者也被称为超越函数。由于它们固有的性质,超越函数无法以高精度直接计算出,而是必须被估算至要求的精度,这通常是通过计算足够高阶的多项式来实现的。计算超越函数所要求的电路复杂性与所需的精度(位数)成比例,并在大量生产的微处理器的总成本中可扮演重要角色,例如在消费者电子设备(例如个人计算机、视频游戏机、智能电话)以及工程和科学工作站和服务器机器中找到的那些微处理器。结果,旨在不同应用的微处理器设计(以及它们关联的指令集)对于同一超越函数可支持不同的精度。包含针对第一微处理器族定义的第一超越函数指令的应用软件可能无法在另一、第二微处理器族上正确地运行。甚至就足够数量的位而言,当最低精度可在同一超越函数(其针对第二族定义)的指令中获得时,也是如此。这可能是由于软件不仅需要指令结果中的最低精度,而且要求结果的足够数量位也相同。使软件兼容的一种可能解决方案是将硬件电路增加到第二微处理器族中,该硬件电路是计算第一超越函数指令所需的。附图简述本专利技术的实施方式在各附图中是作为实施例而非作为限制而示出的,在附图中类似的附图标记指代类似的元素。应当注意,本公开中对本专利技术的“一”或“一个”实施例的引用不一定指同一实施例,并且它们表不至少一个。图1是能够使用查找表来计算超越函数的低精度估算的数学电路的框图,它也可用于函数的闻精度估算。图2示出产生低精度估算的多项式计算电路。图3是能够使用同一查找表计算低精度估算和高精度估算的数学电路的框图。图4是计算倒数函数和平方根倒数函数的低精度估算的数学电路的详细框图。图5示出其中可实现数学电路的处理器设备的部分。图6是其中可实现数学电路的示例性计算机系统的框图。【具体实施方式】现在参照附图描述本专利技术的若干实施例。尽管阐述了许多细节,但要理解,本专利技术的一些实施例没有这些细节也可投入实践。在其它实例中,未详细示出众所周知的电路、结构以及技术,以免混淆对本描述的理解。如同在前面的
技术介绍
章节描述的,存在如下情形,其中较新的微处理器族期望对被定义为较旧微处理器族的指令集架构一部分的处理器指令提供硬件级兼容性。呈现给定的数学指令兼容的强力技术是向新处理器族中增加硬件电路,该硬件电路是计算“旧有指令”所必需的。然而,通过这种技术,由于由增加的旧有功能消耗明显更多的芯片资源,可望实现特定数学函数的多种精度的新处理器族被迫承担增加的制造成本。这可能是一种担忧,尤其对于非算术或超越函数的基于硬件的计算。对超越函数求近似涉及下列三种操作:自变量缩减至预定输入区间;对缩减自变量的函数近似;以及对最终结果的重构、归一化和舍入。典型地,在诸如微处理器、中央处理单元、图形处理单元和数字信号处理器之类的处理设备中的函数近似操作的基于硬件的方法使用所谓的基于非迭代表查找或表驱动的技术。存在不同类型的基于表的方法。在谱的一端,存在与高阶多项式近似相结合使用相对小的查找表以估算特定超越函数的方法。高阶多项式近似需要大量加法和乘法以产生估算。相反,在谱的另一端,直接表查找技术使用与非常少的计算(例如最多就几次整数加法)组合的非常大的初始查找表。作为这些极端之间的平衡,如今使用基于线性近似(一阶多项式)和二次近似(二阶多项式)的表辅助方法。这些方法可用于近似超越函数,例如倒数、倒数平方根、对数、幂和三角函数。这里描述的数学电路可通过“再使用”查找表的一部分执行函数近似操作以获得低精度估算(这是旧有指令所需要的),查找表用于求值高精度估算(它是较新的指令所需要的)。生成查找表中的值以产生较高阶多项式的系数,这是计算高精度估算所需的。这种查找表的共孚或再使用(以广生低精度估算和闻精度估算)可对芯片资源进行更有效使用。另外,可使所产生的低精度估算(在每个位的基础上)基本等于由较旧处理器上执行的旧有指令产生的结果。为了获得这种相等,描述了一种调整电路,该调整电路调整从共享查找表取的值,该值表示较高阶多项式的系数。随后使用经调整的值来求值较低阶多项式。可获得这些益处而不一定要复制旧有处理器的低精度超越函数硬件的全部。图1是使用查找表计算低精度估算的数学电路的框图,该查找表被设计成提供超越函数的高精度估算。这里,可假设超越函数的输入自变量已被缩减至适当的区间,这依赖于要被估算的函数。f(u)代表超越函数,而自变量范围缩减将提供g(x),其中X现在被约束在预定和有限的区间,例如(1,2)。可使用任何适当的自变量缩减技术,并可在预执行软件编译期间或者在硬件或处理器设备中(尤其是指令执行单元中)的运行时期间执行该技术。图1的框图由此假设输入操作数x[N:l]是具有N个整数位(例如二进制位)的缩减自变量。另外,执行对超越函数f (U)的最终结果的重构、归一化和舍入的电路或技术在这里未给出。图1的框图示出表查找存储电路3用于检索表征较高阶多项式的系数X的值;随后可通过计算电路2针对输入自变量X的给定实例求值多项式。如下面例子中解释的那样,较高阶多项式可以是需要系数CtlX1和C2的二次或二阶多项式。对于该多项式的计算产生对超越函数的高精度估算,如通过自变量缩减的函数g(x)表示的那样,该函数在多数情形下与超越函数f (U)是相同的形式。查找表存储电路3 (也称查找表3)可通过任何适当技术来实现,例如现场可编程只读存储器。该例中的查找表3已在其中存储了三组值,每组值对应于较高阶多项式的每个系数Q、C1和C2。每个组代表已被预定并存储在查找表存储电路中的相应系数的数个实例,以根据由表3接收的输入值通过表来输出。对于至少一个超越函数,表3的内容可使用已知技术来确定。对于输入操作数X的给定实例,输入操作数的若干最高有效位,在这里表示为x(g:h),被用来咨询查找表3,查找表3随后在该例中返回表示系数(^仏和^的三个值。这些值然后由多项式计算电路2使用以求值较高阶多项式的实例,这将超越函数估算至高精度。这里,术语“高阶”(或“较高阶”)表示至少二阶。现在,图1中的安排也可使用多项式计算电路5计算g(x)的低精度估算,以评估X的第二多项式,该第二多项式是较低阶多项式并将超越函数估算至较低精度。术语“较低阶”在这里表示低于通过多项式计算电路2求值的较高阶多项式(当要执行高精度指令时)。两个计算电路2、5在某种意义上“再使用”或共享查找表3 ;因而,不再需要包含较低阶多项式(在这种情形下,该例子是需要系数Cc^P C1的线性或一阶多项式)所需的一个或多个系数的全集的另一查找表。这种共享在这里可通过调整从查找表存储3提取的部分值来达成,该值实际上表示较高阶多项式的系数。例如,如果值是具有M个二进制位的C0[M:1],则要被调整的部分可以是K = m-n+1位,即C0[m:n],其中当然K〈M(K和M是正整数)。换句话说,要被调整的部分可以是存储在查找表中的二进制值的删节版本。这种调整能力隐含在图1所示的多项式计算电路2中,并可如图2所示地实现。图2示出产生低精度估算的多项式计算电路5的本文档来自技高网
...
用于估算超越函数的数学电路

【技术保护点】
一种用于计算超越函数的估算的数学电路,包括:查找表存储电路,在其中存储多组值,每组值表示将函数估算至高精度的第一多项式的相应系数;以及第一计算电路,耦合至所述查找表存储电路以使用从所述多组值中的一组取得的值的部分,求值将函数估算至低精度的第二多项式。

【技术特征摘要】
【国外来华专利技术】1.一种用于计算超越函数的估算的数学电路,包括: 查找表存储电路,在其中存储多组值,每组值表示将函数估算至高精度的第一多项式的相应系数;以及 第一计算电路,耦合至所述查找表存储电路以使用从所述多组值中的一组取得的值的部分,求值将函数估算至低精度的第二多项式。2.如权利要求1所述的数学电路,其特征在于,还包括第二计算电路,所述第二计算电路耦合至所述查找表存储电路以使用从所述多组值中的每组取得的值来求值所述第一多项式。3.如权利要求1所述的数学电路,其特征在于,所述第一计算电路包括: 调整电路,将从所述查找表存储电路取得的值的部分调整为所述第二多项式的系数实例;以及 乘加电路,使用所述第二多项式的系数实例来求值所述第二多项式。4.如权利要求3所述的数学电路,其特征在于,所述调整电路包括其中存储有多个偏移值的另一查找表存储电路,并且当求值所述第二多项式时,所述乘加电路将所述多个偏移值中的一个加至从所述查找表存储电路取得的值的部分。5.如权利要求4所述的数学电路,其特征在于,均响应于所述函数的输入操作数的实例,所述查找表存储电路从每个组输出值并且所述另一查找表电路输出偏移值, 其中所述输入操作数的第一组位被用作所述查找表存储电路的输入,而所述输入操作数的第二组位被用作所述另一查找表存储电路的输入。6.如权利要求5所述的数学电路,其特征在于,所述第一组位和第二组位是相同的。7.如权利要求1所述的数学电路,其特征在于,所述第二多项式具有比所述第一多项式低的阶次。8.如权利要求7所述的数学电路,其特征在于,所述第二多项式是线性的并且所述第一多项式是二次的。9.一种处理器设备,包括: 指令解码器,用于接收对超越函数进行求值的第一指令;以及 执行单元,所述执行单元具有包含表示第一多项式的系数的多个值的第一查找表电路,所述第一多项式将所述超越函数估算至高精度, 执行单元,具有调整电路,所述调整电路响应于所述第一指令的解码调整值的部分,所述值表示所述第一多项式的系数并由所述第一查找表电路输出,并且所述执行单元使用所述值的经调整部分来求值第二多项式,所述第二多项式将所述超越函数估算至低精度。10.如权利要求9所述的处理器设备,其特征在于,所述指令解码器接收第二指令,所述第二指令以比所述第一指令高的精度求值所述超越函数,并且所述第一查找表电路响应于对所述第二指令的解码,输出表示所述第一多项式的系数的多个值,并且所述执行单元使用由所述第一查找表电路输出的多个值来求值所述第一多项式。11.如权利要求10所述的处理器设备,其特征在于,所述执行单元包括:第一乘加逻辑,用于使用来自以下的输入:(a)表示所述第一多项式的系数的多个值以及(b)所述第二指令的输入操作数的实例,求值所述第一多项式;以及 第二乘加逻辑,用于使用来自以下的输入:(a)表示所述第一多项式的...

【专利技术属性】
技术研发人员:JA·派伊洛S·卢巴诺维奇B·艾坦A·格雷德斯廷T·D·弗莱切
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1