一种非线性函数的快速运算装置及其方法制造方法及图纸

技术编号:12914362 阅读:51 留言:0更新日期:2016-02-24 19:38
本发明专利技术公开了一种非线性函数的快速运算装置及其方法,其中该装置包括:定义域转换部,用于将输入的自变量转换成查表范围内的对应值;查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果。本发明专利技术解决传统方法带来的运算速度慢,运算装置面积大,功耗高等问题。

【技术实现步骤摘要】

本专利技术涉及计算机应用技术,特别是涉及一种非线性函数的快速运算装置及其方 法。
技术介绍
算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。在 计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机 中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代 CPU(Central Processing Unit,中央处理器)和 GPU(Graphics Processing Unit,图形处 理器)中已含有功能强大和复杂的ALU;-个单一的元件也可能含有ALU。大部分ALU都可 以完成以下运算:整数算术运算(加、减,有时还包括乘和除,不过成本较高),位逻辑运算 (与、或、非、异或),移位运算(将数据向左或向右移位或浮动特定位),移位可被认为是乘 以2或除以2。算数逻辑单元通常只含有线性运算部件,当算数逻辑单元进行复杂的幂运算 等操作时,通常需要好几个运算周期。 为了加快处理器的运算速度,CPU和GPU中通常会集成FPU(Floating-Point Unit,浮点运算单元)。FPU是专门用于浮点运算的处理器,并且可能支持一些超越函数的 计算,例如l〇g2x。FPU的运算速度比ALU快了很多。 现有技术在计算非线性函数时,通常是将复杂的运算拆解成简单的运算,再经过 几个运算周期后才能得到结果。这使得运算速度慢,运算装置面积大,功耗高。
技术实现思路
本专利技术的目的在于提供,用于解决传统 方法带来的运算速度慢,运算装置面积大,功耗高等问题。 为了实现上述目的,本专利技术提供了一种非线性函数的快速运算装置,包括: 定义域转换部,用于将输入的自变量转换成查表范围内的对应值; 查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对 应的分段线性拟合的斜率和截距;以及 线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得 到最后结果。 所述的非线性函数的快速运算装置,其中,所述定义域转换部包括: 第一乘法器,用于对输入的自变量进行缩放; 第一加法器,用于对缩放后的自变量进行偏移。 所述的非线性函数的快速运算装置,其中,所述线性拟合部包括: 第二乘法器,用于根据斜率与输入的自变量或由所述定义域转换部处理后的自变 量进行乘法运算,得到运算结果; 第二加法器,用于根据所述运算结果以及截距进行加法运算,得到所述最后结果。 所述的非线性函数的快速运算装置,其中,进一步包括: 第一自变量选择器,用于选择所述查表部进行处理时所使用的自变量。 所述的非线性函数的快速运算装置,其中,进一步包括: 第二自变量选择器,用于选择所述第二乘法器进行乘法运算时所使用的自变量。 为了实现上述目的,本专利技术还提供了一种非线性函数的快速运算方法,包括: 步骤一,将输入的自变量转换成查表范围内的对应值; 步骤二,根据所述自变量或由所述定义域转换部处理后的自变量,查找对应的分 段线性拟合的斜率和截距;以及 步骤三,根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结 果。 所述的非线性函数的快速运算方法,其中,所述步骤一中,包括: 对输入的自变量进行缩放; 对缩放后的自变量进行偏移。 所述的非线性函数的快速运算方法,其中,所述步骤二中,包括: 通过设置第一自变量选择器选择所述查表部进行处理时所使用的自变量。 所述的非线性函数的快速运算方法,其中,所述步骤三中,包括: 根据斜率与输入的自变量或由所述定义域转换部处理后的自变量进行乘法运算, 得到运算结果; 根据所述运算结果以及截距进行加法运算,得到所述最后结果。 所述的非线性函数的快速运算方法,其中,所述步骤三中,包括: 通过设置第二自变量选择器选择进行乘法运算时所使用的自变量。 与现有技术相比,本专利技术的有益技术效果是: 本专利技术提供了一种非线性函数的快速运算方法,其采用分段线性拟合的方法来快 速计算非线性函数,可以解决传统方法带来的运算速度慢,运算装置面积大,功耗高等问 题。具体体现在如下方面: (1)简化硬件设计,提高运算速度。 (2)降低芯片功耗和面积。【附图说明】 图1是本专利技术的非线性函数的快速运算装置结构图; 图2是本专利技术的定义域转换部件的内部结构图; 图3是本专利技术的查表部件的内部结构图; 图4是本专利技术的线性拟合部件的内部结构图; 图5是本专利技术的非线性函数的快速运算的第一实施例; 图6是本专利技术的非线性函数的快速运算的第二实施例; 图7是本专利技术的非线性函数的快速运算的第三实施例。 图8是本专利技术的非线性函数的快速运算的第四实施例; 图9是本专利技术的非线性函数的快速运算的第五实施例。【具体实施方式】 以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。 如图1所示,是本专利技术非线性函数的快速运算装置结构图。本装置主要包括三个 部分:第一部分、第二部分、第三部分。 其中,第一部分用于定义域变换,由定义域转换部10来实现,定义域转换部10包 括乘法器1和加法器2,用于将输入的自变量转换成查表范围内的对应值;第二部分是查 表,由查表部3来实现,查表部3用于根据由第一部分输入的自变量的值,查找到对应的分 段线性拟合的斜率和截距;第三部分是线性拟合,由线性拟合部20来实现,线性拟合部20 包括乘法器4和加法器5,用于根据第二部分查表得到的斜率和截距通过线性拟合的方法 得到最后结果。 乘法器1,用于输入定义域的伸缩。 加法器2,用于输入定义域的偏移。 查表部3,用于查找与输入对应的直线的截距和斜率。 乘法器4,用于计算k*x。 加法器4,用于计算k*x+b。 非线性函数的快速运算,可分如下情况进行: (1)定义域需要转换,并且分段线性拟合的输入定义域是第一部分的输入数据。 (2)定义域需要转换,并且分段线性拟合的输入定义域是第一部分的输出数据。 (3)不需要对定义域做变换。 (4)定义域需要转变,线性拟合可以选择定义域转换之前或者之后的定义域的值。 (5)可以选择是否进行定义域转换,线性拟合可以选择定义域转换之前或者之后 的定义域的值。 如图2所示,是本专利技术的定义域转换部件的内部结构。定义域转换部件的结构如 下: 如图所示,定义域转换部10是定义域转换的部件,有三个输入X,i,j,X是非线性 函数的自变量,i和j是和非线性函数的定义域范围相关的两个常数,new_x是变换定义域 后的输出结果。上述部件实现的运算是:new_x = x*i+j,做定义域变换的目的是为了便于 接下来的查表操作。[006当前第1页1 2 本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105354006.html" title="一种非线性函数的快速运算装置及其方法原文来自X技术">非线性函数的快速运算装置及其方法</a>

【技术保护点】
一种非线性函数的快速运算装置,其特征在于,包括:定义域转换部,用于将输入的自变量转换成查表范围内的对应值;查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:张士锦罗韬刘少礼陈云霁
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1