CN107305484B - 一种非线性函数运算装置及方法 - Google Patents

一种非线性函数运算装置及方法 Download PDF

Info

Publication number
CN107305484B
CN107305484B CN201610245348.6A CN201610245348A CN107305484B CN 107305484 B CN107305484 B CN 107305484B CN 201610245348 A CN201610245348 A CN 201610245348A CN 107305484 B CN107305484 B CN 107305484B
Authority
CN
China
Prior art keywords
value
floating point
function
index
linear
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.)
Active
Application number
CN201610245348.6A
Other languages
English (en)
Other versions
CN107305484A (zh
Inventor
兰慧盈
郭崎
陈云霁
陈天石
李尚应
李震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201610245348.6A priority Critical patent/CN107305484B/zh
Publication of CN107305484A publication Critical patent/CN107305484A/zh
Application granted granted Critical
Publication of CN107305484B publication Critical patent/CN107305484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Abstract

本公开提供了一种非线性函数运算装置及方法,装置包括查表部和线性拟合部,查表部存储有多个线性函数的斜率值和截距值,并根据浮点数获取相应的斜率值k和截距值b;线性拟合部根据查表得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。本公开将非线性函数拟合为多个线性函数,只需针对不同的自变量选择相应的线性函数,故在运算时只需要进行简单的加法和乘法运算,因此简化硬件设计,并提高运算速度,同时降低芯片功耗和面积。

Description

一种非线性函数运算装置及方法
技术领域
本公开属于计算机领域,尤其涉及一种非线性函数运算装置及方法。
背景技术
算术逻辑单元(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是专门用于浮点运算的处理器,并且可能支持一些超越函数的计算,例如log2x。
现有技术在计算非线性函数时,通常是将复杂的运算拆解成简单的运算,再经过几个运算周期后才能得到结果。这使得运算速度慢,运算装置面积大,功耗高。
发明内容
(一)要解决的技术问题
本公开的目的在于,提供一种非线性函数运算装置及方法,解决现有技术在计算线性函数时运算速度慢、运算装置面积大、功耗高等问题。
(二)技术方案
本公开提供一种非线性函数运算装置,装置包括:
查表部,其存储有多个线性函数的斜率值和截距值,其中,多个线性函数由非线性函数分段线性拟合而得到,并且,查表部用于根据输入的浮点数获取相应的斜率值k和截距值b;
线性拟合部,用于根据查表得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。
本公开还提供一种非线性函数运算方法,方法包括:
根据浮点数从多个线性函数中获取一个线性函数的斜率值k和截距值b,其中,多个线性函数由非线性函数分段线性拟合而得到;
根据得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将输入的浮点数代入所述线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。
(三)有益效果
本公开将非线性函数拟合为多个线性函数,只需针对不同的自变量选择相应的线性函数,故在运算时只需要进行简单的加法和乘法运算,因此简化硬件设计,并提高运算速度,同时降低芯片功耗和面积。
附图说明
图1是本公开实施例提供的非线性函数运算装置的结构图。
图2是本公开实施例提供的非线性函数运算装置的内部结构图。
图3是本公开实施例中线性拟合部的内部结构图。
图4是本公开实施例的非线性函数运算的原理图。
具体实施方式
本公开提供一种非线性函数运算装置及方法,装置包括查表部和线性拟合部,查表部存储有多个线性函数的斜率值和截距值,并根据浮点数获取相应的斜率值k和截距值b;线性拟合部根据查表得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。本公开将非线性函数拟合为多个线性函数,只需针对不同的自变量选择相应的线性函数,故在运算时只需要进行简单的加法和乘法运算,因此简化硬件设计,并提高运算速度,同时降低芯片功耗和面积。
本公开提供一种非线性函数运算装置,用于根据一输入的浮点数计算非线性函数的函数值,装置包括:
查表部,其存储有多个线性函数的斜率值和截距值,其中,多个线性函数由非线性函数分段线性拟合而得到,并且,查表部根据浮点数获取相应的斜率值k和截距值b;由于通过一组斜率值和截距值可以确定一个线性函数,因此,斜率值和截距值在存储时要有对应关系;
线性拟合部,用于根据查表部得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在所述非线性函数中的函数值。
本公开的原理是,将复杂的非线性函数拟合为多段线性函数,应该可知,分段的区间越小,线性函数与非线性函数的函数值越接近,亦即精度越高。确定输入的浮点数落入分段中的哪一段,由此确定出此段对应的线性函数,并将浮点数代入线性函数中,得到相应的函数值。
根据本公开的一种实施方式,查表部包括斜率截距存储部和选择部,其中,斜率截距存储部用于存储多个线性函数所对应的斜率值和截距值,选择部用于根据浮点数在斜率截距存储部中选择并获取相应的斜率值k和截距值b。
根据本公开的一种实施方式,装置还包括有一配置部,用于将非线性函数的自变量分段为N个区间,在每个区间内,将非线性函数拟合为一个线性函数,分别得到N个线性函数,并获取N个线性函数的斜率值和截距值,其中,将N个线性函数的斜率值和截距值存储于斜率截距存储部,每组斜率值和截距值一一对应于N个区间中一个区间的序号index,并将序号index存储于选择部,其中,序号index的取值范围为[0,N-1]。因此,选择部根据浮点数落入哪个区间,获取相应的区间的序号index,并根据序号index在斜率截距存储部得到相应的斜率值k和截距值b。
根据本公开的一种实施方式,配置部还设定非线性函数自变量取值范围为(-r,r),并将边界值r的指数部分作为一偏移值bias输入至选择部,所述选择部根据浮点数及偏移值bias,确定序号index,并根据所述序号index得到对应的斜率值和截距值。需要说明的是,线性函数不可能覆盖所有非线性函数的取值,故可设定非线性函数自变量取值范围为(-r,r),以是的在(-r,r)中进行线性拟合。在设定好后,输入的浮点数落入(-r,r)中,这样只需根据浮点数所在区间就可得到相应的序号index,但是,输入的浮点数也有可能不落入(-r,r)中,这时如何得到相应的序号index,因此,本公开通过引入一偏移值bias,配合浮点数,可在浮点数落入或者不落入取值范围(-r,r)时,都能得到相应的序号index,具体包括:
当bias-exp<0时,在所述浮点数为正数情况下,index取N-1,在所述浮点数为负数情况下序号index取0,其中,exp为所述浮点数的指数部分;
当0≤bias-exp<W-1时,
index=2W-1+2W-1-m-1+frac[F-1:F-(W-1-m-1)+1]
其中,frac为浮点数的尾数部分,W为序号index的位宽,并且,W=log2N,m=bias–exp,F为所述浮点数的尾数的位宽,然后将index的每一位和所述浮点数的符号位进行异或运算;
当bias-exp≥W-1,index最高位为浮点数的符号位取反,低W-1位均为浮点数的符号位。根据本公开的一种实施方式,线性拟合部包括乘法器和加法器,其中,乘法器用于将查表得到的斜率值k与浮点数相乘,得到相乘结果,加法器用于将乘法器得到相乘结果与查表得到的截距值b相加,得到线性函数的函数值y。
本公开提供还一种非线性函数运算方法,用于根据一输入的浮点数计算非线性函数的函数值,方法包括:
S1,根据浮点数从多个线性函数中获取一个线性函数的斜率值k和截距值b,其中,多个线性函数由所述非线性函数分段线性拟合而得到;
S2,根据得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将所述浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在所述非线性函数中的函数值。
根据本公开的一种实施方式,方法还包括:
S0,用于将所述非线性函数的自变量分段为N个区间,在每个区间内,将非线性函数拟合为一个线性函数,分别得到N个线性函数,并获取所述N个线性函数的斜率值和截距值,其中,每组斜率值和截距值一一对应于N个区间中一个区间的序号index,序号index的取值范围为[0,N-1]。
根据本公开的一种实施方式,步骤S0还包括,设定非线性函数自变量取值范围为(-r,r),并将边界值r的指数部分作为一偏移值bias;步骤S1还包括,根据浮点数及所述偏移值bias,确定序号index,并根据序号index得到对应的斜率值和截距值。
根据本公开的一种实施方式,S1中,根据浮点数及所述偏移值bias,确定序号index,包括:
当bias-exp<0时,在所述浮点数为正数情况下,index取N-1,在所述浮点数为负数情况下序号index取0,其中,exp为所述浮点数的指数部分;
当0≤bias-exp<W-1时,
index=2W-1+2W-1-m-1+frac[F-1:F-(W-1-m-1)+1]
其中,frac为所述浮点数的尾数部分,W为序号index的位宽,并且,W=log2N,m=bias–exp,F为浮点数的尾数的位宽,然后将index的每一位和所述浮点数的符号位进行异或运算;
当bias-exp≥W-1,index最高位为浮点数的符号位取反,低W-1位均为浮点数的符号位。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
图1是本公开实施例提供的非线性函数运算装置的结构图,如图1所示,装置包括查表部5和线性拟合部6,其中,查表部5用于根据由输入的自变量的值x,以及外部配置进来的偏移量bias,查找到对应的分段线性拟合的斜率和截距。
查表部5包括序号选择部1和斜率截距存储部2,序号选择部1用于根据输入的自变量值x和配置的偏移量bias计算出index,斜率截距存储部2用于根据序号选择部1计算出的index,选出斜率及截距。
线性拟合部6用于根据查表部5得到的斜率和截距通过线性拟合的方法得到最后结果。线性拟合部6包括乘法器3和加法器4,其中,乘法器3用于计算k*x,加法器4用于计算k*x+b。
图2是本公开实施例提供的非线性函数运算装置的内部结构图,如图2所示,查表部5的输入值是非线性函数的自变量,以及偏移值。序号选择部1根据所述自变量x和偏移量计算出index。
斜率截距存储部2中,Table_k和Table_b里存储了非线性函数分段线性拟合的直线斜率和截距,Table_k和Table_b里的值是可以配置的,在开始计算之前,它们的值应该已完成配置。根据以上所述算出的index,可以选出要使用的斜率Table_k[index],和截距Table_b[index]。
图3是本公开实施例中线性拟合部的内部结构图,如图3所示,线性拟合部6有三个输入,x表示自变量,即外部输入需要进行非线性变换的值,k和b是查表得到的截距和斜率,输出是最终的结果f(x),线性拟合部6实现的运算是:f(x)=k*x+b。
图4是本公开实施例的非线性函数运算的原理图,如图4所示,查表部3的输入是自变量x,查找部件3根据x的值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*x,并将结果和b输出,在加法器5中计算k*x+b,计算得到最终的结果。
以下通过计算非线性函数
Figure GDA0001663571280000061
以进一步解释本公开,将非线性函数的自变量分段为N=64个区间,取值范围r设为7.75,即取值区间为(-7.75,7.75),通过线性拟合以上函数所得到的插值表为:
table_k=[0,0.00048656316525353121,0.00061973162484223741,0.00078928936655365655,0.0010051440297105911,0.0012798783909594086,0.0016294587358847128,0.0020741221116775564,0.0026394821537513336,0.0033578984220486922,0.0042701575375603202,0.0054275134806431417,0.0068941251757849761,0.0087499054356052815,0.011093746329263701,0.014046996903534316,0.017756918346970331,0.022399600632704755,0.028181459980468879,0.035337917880121604,0.044127182785956003,0.054816271160400852,0.067655703617413618,0.082839110694275894,0.10044501610076587,0.12036137423557895,0.14220006304664759,0.16521866898611015,0.18827848066541336,0.20987496057486665,0.22827132183028082,0.24173985504038351,0.24887167444405783,0.24887167444405978,0.24173985504038323,0.22827132183028037,0.20987496057486754,0.18827848066541422,0.16521866898610904,0.14220006304664773,0.1203613742355779,0.10044501610076662,0.082839110694276047,0.067655703617414242,0.054816271160399312,0.044127182785955642,0.035337917880122131,0.028181459980469011,0.022399600632704762,0.017756918346970005,0.014046996903534123,0.011093746329263798,0.0087499054356035919,0.0068941251757841807,0.0054275134806434523,0.0042701575375596592,0.0033578984220488948,0.0026394821537508726,0.002074122111678265,0.0016294587358859139,0.0012798783909593549,0.001005144029710878,0.00078928936655333173,0.00061973162484123137,0.00048656316525207165,0]
table_b=[0,0.0041993251816466815,0.0051986385576176901,0.0064299574345850303,0.0079452052890187242,0.009807238238936004,0.012091883136726765,0.01489024369806616,0.018311254971669941,0.022484429652995856,0.027562682295467392,0.033725030746198308,0.041178847029904868,0.050161149061534412,0.060938175678893231,0.073802158887859029,0.089063797665378613,0.10703847125951904,0.12802378192384653,0.15226575415464311,0.17991125218316206,0.21094542275377304,0.24511595347355658,0.28185147996324666,0.32019008490568668,0.35874483153772002,0.39574347031640295,0.42918193126900617,0.45711585573612518,0.47807264767380625,0.4915012059787659,0.49811232472098371,0.49994440545964863,0.50005559454035076,0.50188767527901634,0.50849879402123443,0.52192735232619281,0.54288414426387344,0.57081806873099528,0.60425652968359678,0.6412551684622817,0.67980991509431143,0.71814852003675334,0.75488404652644192,0.78905457724623107,0.82008874781683905,0.84773424584535517,0.87197621807615311,0.8929615287404804,0.9109362023346228,0.92619784111214154,0.93906182432110619,0.94983885093847398,0.95882115297009929,0.96627496925379974,0.97243731770453612,0.97751557034700309,0.98168874502833281,0.98510975630192921,0.98790811686326541,0.99019276176106386,0.9920547947109799,0.99357004256541748,0.99480136144239018,0.99580067481836443,1]
令输入自变量x为16位浮点小数0.25,其指数exp为13,尾数frac为b’0000000000,bias为17,m为bias–exp=4,落入0≤bias-exp<W-1区间,可得index为26-1+26-1-4-1+frac[16-1:16-(6-1-4-1)+1],即25+20+0=33。
根据index从上述插值表中选出斜率k为k[33]=0.248871674444,截距b为b[33]=0.50005559454,k×x+b的值为0.562273513151,而根据函数采用线性拟合方式算出的结果为0.562176500886,误差为-9.7012265e-05。
需要说明的是,本公开中各功能单元/模块/子模块都可以是硬件,比如该硬件可以是电路,包括数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。所述计算装置中的计算模块可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如RRAM,DRAM,SRAM,EDRAM,HBM,HMC等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
综上所述,本公开通过采用线性拟合方式,避免了复杂运算,如对数计算,通过采用乘法,加法这类速度更快的运算操作,提高计算速度,同时,避免了复杂的硬件设计,例如log2x的运算部件,降低了芯片面积和功耗。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种非线性函数运算装置,用于根据一输入的浮点数计算非线性函数的函数值,其特征在于,装置包括:
查表部,其存储有多个线性函数的斜率值和截距值,其中,所述多个线性函数由所述非线性函数分段线性拟合而得到,并且,所述查表部用于根据输入的浮点数获取相应的斜率值k和截距值b;
所述查表部包括:选择部,用于根据所述浮点数及偏移值bias,确定序号index,并根据所述序号index在斜率截距存储部中选择并获取相应的斜率值k和截距值b;
配置部,用于设定所述非线性函数自变量取值范围为(-r,r),并将边界值r的指数部分作为一偏移值bias输入至所述选择部;
线性拟合部,用于根据查表部得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将所述浮点数代入所述线性函数,得到线性函数的函数值,以作为所述浮点数在所述非线性函数中的函数值,
所述选择部根据所述浮点数及所述偏移值bias,确定序号index,包括:
当bias-exp<0时,在所述浮点数为正数情况下,index取N-1,在所述浮点数为负数情况下序号index取0,其中,exp为所述浮点数的指数部分;
当0≤bias-exp<W-1时,
index=2W-12W-1-m-1+frac[F-1:F-(W-1-m-1)+1]
其中,frac为所述浮点数的尾数部分,W为序号index的位宽,并且,W=log2N,m=bias–exp,F为所述浮点数的尾数的位宽,然后将index的每一位和所述浮点数的符号位进行异或运算;
当bias-exp≥W-1,index最高位为所述浮点数的符号位取反,低W-1位均为所述浮点数的符号位。
2.根据权利要求1所述的非线性函数运算装置,其特征在于,所述斜率截距存储部,用于存储多个线性函数所对应的斜率值和截距值。
3.根据权利要求2所述的非线性函数运算装置,其特征在于,斜率截距存储部包括Table_k插值表和Table_b插值表,Table_k插值表用于存储所述斜率值,Table_b插值表用于存储所述截距值。
4.根据权利要求1所述的非线性函数运算装置,其特征在于,所述配置部,还用于将所述非线性函数的自变量分段为N个区间,在每个区间内,将非线性函数拟合为一个线性函数,分别得到N个线性函数,并获取所述N个线性函数的斜率值和截距值,其中,将N个线性函数的斜率值和截距值存储于所述斜率截距存储部。
5.根据权利要求4所述的非线性函数运算装置,其特征在于,每组斜率值和截距值一一对应于所述N个区间中一个区间的序号index,所述配置部将所述序号index存储于所述选择部,其中,序号index的取值范围为[0,N-1]。
6.根据权利要求1所述的非线性函数运算装置,其特征在于,所述线性拟合部包括:
乘法器,用于将查表得到的斜率值k与所述浮点数相乘,得到相乘结果;
加法器,用于将乘法器得到相乘结果与查表得到的截距值b相加,得到所述线性函数的函数值y。
7.一种非线性函数运算方法,用于根据一输入的浮点数计算非线性函数的函数值,其特征在于,方法包括:
控制查表部根据输入的浮点数从多个线性函数中获取一个线性函数的斜率值k和截距值b,具体的:控制所述查表部中的配置部设定所述非线性函数自变量取值范围为(-r,r),并将边界值r的指数部分作为一偏移值bias,控制所述查表部中的选择部根据所述浮点数及偏移值bias,确定序号index,并根据所述序号index从所述查表部中的斜率截距存储部中选择并得到对应的斜率值k和截距值b,其中,所述多个线性函数由所述非线性函数分段线性拟合而得到;
控制线性拟合部根据查表部得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将输入的浮点数代入所述线性函数,得到所述线性函数的函数值,以作为所述浮点数在所述非线性函数中的函数值,
所述选择部根据所述浮点数及所述偏移值bias,确定序号index,包括:
当bias-exp<0时,在所述浮点数为正数情况下,index取N-1,在所述浮点数为负数情况下序号index取0,其中,exp为所述浮点数的指数部分;
当0≤bias-exp<W-1时,
index=2W-1+2W-1-m-1+frac[F-1:F-(W-1-m-1)+1]
其中,frac为所述浮点数的尾数部分,W为序号index的位宽,并且,W=log2N,m=bias–exp,F为所述浮点数的尾数的位宽,然后将index的每一位和所述浮点数的符号位进行异或运算;
当bias-exp≥W-1,index最高位为所述浮点数的符号位取反,低W-1位均为所述浮点数的符号位。
8.根据权利要求7所述的非线性函数运算方法,其特征在于,还包括前序步骤:
控制所述配置部将所述非线性函数的自变量分段为N个区间,在每个区间内,将非线性函数拟合为一个线性函数,分别得到N个线性函数,并获取所述N个线性函数的斜率值和截距值。
9.根据权利要求8所述的非线性函数运算方法,其特征在于,在所述前序步骤中,每组斜率值和截距值一一对应于所述N个区间中一个区间的序号index,序号index的取值范围为[0,N-1]。
10.根据权利要求7所述的非线性函数运算方法,其特征在于,所述控制查表部中的选择部根据所述浮点数从多个线性函数中获取一个线性函数的斜率值k和截距值b具体包括:控制所述选择部根据所述序号index,从所述斜率截距存储部中的Table_k插值表中获得斜率值Table_k[index],从所述斜率截距存储部中的Table_b插值表中获得截距值Table_b[index]。
11.根据权利要求7所述的非线性函数运算方法,其特征在于,控制控制所述线性拟合部将输入的浮点数代入所述线性函数包括:利用乘法器将得到的斜率值k与所述浮点数相乘,得到相乘结果;利用加法器将乘法器得到相乘结果与得到的截距值b相加,得到所述线性函数的函数值y。
CN201610245348.6A 2016-04-19 2016-04-19 一种非线性函数运算装置及方法 Active CN107305484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610245348.6A CN107305484B (zh) 2016-04-19 2016-04-19 一种非线性函数运算装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610245348.6A CN107305484B (zh) 2016-04-19 2016-04-19 一种非线性函数运算装置及方法

Publications (2)

Publication Number Publication Date
CN107305484A CN107305484A (zh) 2017-10-31
CN107305484B true CN107305484B (zh) 2021-11-05

Family

ID=60152427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610245348.6A Active CN107305484B (zh) 2016-04-19 2016-04-19 一种非线性函数运算装置及方法

Country Status (1)

Country Link
CN (1) CN107305484B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522254B (zh) 2017-10-30 2022-04-12 上海寒武纪信息科技有限公司 运算装置及方法
CN108921288A (zh) * 2018-05-04 2018-11-30 中国科学院计算技术研究所 神经网络激活处理装置和基于该装置的神经网络处理器
CN110688090B (zh) * 2019-09-11 2021-10-12 北京探境科技有限公司 一种用于ai计算的浮点乘法计算方法、电路、设备
CN112189184A (zh) * 2019-09-29 2021-01-05 深圳市大疆创新科技有限公司 浮点数处理方法、设备和可移动平台
CN110796246A (zh) * 2019-10-29 2020-02-14 南京宁麒智能计算芯片研究院有限公司 一种基于线性分段的激活函数的硬件实现电路和方法
CN111580784B (zh) * 2020-04-10 2023-07-25 科大讯飞股份有限公司 一种幂函数计算装置及幂函数计算方法
CN112035796B (zh) * 2020-09-04 2023-05-16 金陵科技学院 面向集成电路的超低延时的整数次幂计算电路的优化方法
CN112685002A (zh) * 2021-01-07 2021-04-20 南京晓庄学院 基于pwl的浮点数对数计算架构
CN114567396A (zh) * 2022-02-28 2022-05-31 哲库科技(北京)有限公司 无线通信方法、非线性函数的拟合方法、终端及设备
CN114969631A (zh) * 2022-05-26 2022-08-30 Oppo广东移动通信有限公司 基带芯片、信道估计方法、数据处理方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1989525A (zh) * 2004-06-28 2007-06-27 高通股份有限公司 自适应滤波器和用于图像处理的设备、方法与系统
CN102096844A (zh) * 2011-03-07 2011-06-15 哈尔滨工业大学 基于fpga的rbf函数计算模块
CN105354006A (zh) * 2015-11-27 2016-02-24 中国科学院计算技术研究所 一种非线性函数的快速运算装置及其方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9252712B2 (en) * 2012-05-10 2016-02-02 Massachusetts Institute Of Technology Hardware-efficient signal-component separator for outphasing power amplifiers
CN103424766B (zh) * 2013-03-19 2016-04-20 中国人民解放军第二炮兵工程大学 一种基于模式识别的核素快速识别方法
CN103914852B (zh) * 2014-03-14 2018-03-30 兰州交通大学 基于cuda的dicom医学影像动态非线性调窗方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1989525A (zh) * 2004-06-28 2007-06-27 高通股份有限公司 自适应滤波器和用于图像处理的设备、方法与系统
CN102096844A (zh) * 2011-03-07 2011-06-15 哈尔滨工业大学 基于fpga的rbf函数计算模块
CN105354006A (zh) * 2015-11-27 2016-02-24 中国科学院计算技术研究所 一种非线性函数的快速运算装置及其方法

Also Published As

Publication number Publication date
CN107305484A (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
CN107305484B (zh) 一种非线性函数运算装置及方法
US9753695B2 (en) Datapath circuit for digital signal processors
EP3447634B1 (en) Non-linear function computing device and method
CN114402289B (zh) 多模式运算电路
US10489113B2 (en) Quick operation device for nonlinear function, and method therefor
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
US20160313976A1 (en) High performance division and root computation unit
US4956799A (en) Trigonometric function arithmetic processor using pseudo-division
CN111813371A (zh) 数字信号处理的浮点除法运算方法、系统及可读介质
US20060106905A1 (en) Method for reducing memory size in logarithmic number system arithmetic units
CN111443893A (zh) 一种基于cordic算法的n次根计算装置及方法
JP4273071B2 (ja) 除算・開平演算器
JP2822399B2 (ja) 対数関数演算装置
Burud et al. Design and Implementation of FPGA Based 32 Bit Floating Point Processor for DSP Application
CN114201140B (zh) 指数函数处理单元、方法和神经网络芯片
Bajger et al. Low-error, high-speed approximation of the sigmoid function for large FPGA implementations
US10459689B2 (en) Calculation of a number of iterations
CN113504892A (zh) 一种设计乘法器查找表的方法、系统、设备及介质
Hass Synthesizing optimal fixed-point arithmetic for embedded signal processing
JPH04172526A (ja) 浮動小数点除算器
Hsiao et al. Design of a low-cost floating-point programmable vertex processor for mobile graphics applications based on hybrid number system
CN109298848A (zh) 双模式浮点除法平方根的电路
Nithyashree et al. Design of an efficient vedic binary squaring circuit
KR100900790B1 (ko) 재구성형 프로세서 연산 방법 및 장치
CN115222033A (zh) 一种softmax函数近似计算的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information

Inventor after: Lan Huiying

Inventor after: Guo Qi

Inventor after: Chen Yunji

Inventor after: Chen Tianshi

Inventor after: Li Shangying

Inventor after: Li Zhen

Inventor before: Lan Huiying

Inventor before: Guo Qi

Inventor before: Chen Yunji

Inventor before: Chen Tianshi

Inventor before: Li Shangying

CB03 Change of inventor or designer information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant