CN116301716B - 一种处理器、芯片以及数据处理的方法 - Google Patents
一种处理器、芯片以及数据处理的方法 Download PDFInfo
- Publication number
- CN116301716B CN116301716B CN202310124925.6A CN202310124925A CN116301716B CN 116301716 B CN116301716 B CN 116301716B CN 202310124925 A CN202310124925 A CN 202310124925A CN 116301716 B CN116301716 B CN 116301716B
- Authority
- CN
- China
- Prior art keywords
- value
- function
- expansion coefficient
- nonlinear
- coefficient values
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 4
- 230000006870 function Effects 0.000 claims abstract description 258
- 238000004364 calculation method Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 7
- 238000011946 reduction process Methods 0.000 claims 1
- 238000012886 linear function Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000012805 post-processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100242909 Streptococcus pneumoniae (strain ATCC BAA-255 / R6) pbpA gene Proteins 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Abstract
本申请实施例提供一种处理器、芯片以及数据处理的方法,所述处理器包括:自变量取值获取模块,被配置为读取待处理非线性函数的自变量取值;非线性函数计算执行单元,被配置为依据所述自变量取值和多个展开系数值确定待处理非线性函数的函数值,其中,所述多个展开系数值是通过逼近函数确定的。本申请的一些实施例利用逼近函数对目标函数(即待处理线性函数)逼近,得到多项式系数,在保证计算精度的前提下,提出一种统一化的处理方式,不同函数可以复用相同的计算单元进行计算得到最终的计算结果,不同的待处理非线性函数通过复用相同的计算单元,有效减小处理器芯片的面积降低处理的功耗。
Description
技术领域
本申请涉及处理器领域,具体而言本申请实施例涉及一种处理器、芯片以及数据处理的方法。
背景技术
相关的处理器在计算非线性函数的函数值的技术方案无通用性,造成采用现有的处理器计算非线性函数的函数值时效率很低。例如,相关技术利用Cordic算法计算三角函数的函数值,需要很多次迭代,如果在处理器中实现,会消耗很多的MIPS才能达到性能需求。相关技术公开的技术方案针对不同的三角函数,无法应对不同的多项式展开阶数,在实现方式上不统一,无法做到设计通用性,造成芯片面积较大且功耗较大。
发明内容
本申请实施例的目的在于提供一种处理器、芯片以及数据处理的方法,本申请的一些实施例利用逼近函数对目标函数(即待处理线性函数)逼近,得到多项式系数,在保证计算精度的前提下,提出一种统一化的处理方式,不同函数可以复用相同的计算单元进行计算得到最终的计算结果,不同的待处理非线性函数通过复用相同的计算单元,有效减小处理器芯片的面积降低处理的功耗。
第一方面,本申请实施例提供一种处理器,所述处理器包括:自变量取值获取模块,被配置为读取待处理非线性函数的自变量取值;非线性函数计算执行单元,被配置为依据所述自变量取值和多个展开系数值确定待处理非线性函数的函数值,其中,所述多个展开系数值是通过逼近函数确定的。
本申请的一些实施例逼近函数得到待处理非线性函数的展开系数值可以提升得到的展开系数值的准确性。
在一些实施例中,所述非线性函数计算执行单元包括:规约处理模块,被配置为将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围;计算处理模块,被配置为根据所述目标值和所述多个展开系数值得到所述函数值。
本申请的一些实施例通过规约处理模块将输入数据(即待处理非线性函数的自变量的具体取值)限定在一个目标范围内,进而求解该目标范围内的初始函数值,之后再通过后处理初始函数值得到函数值,这样可以提升技术方案的通用性,有效降低处理器芯片的面积。
在一些实施例中,所述规约处理模块还被配置为根据所述待处理非线性函数的类型从多个预置范围中筛选出所述目标预置范围,其中,一个预置范围与一个非线性函数类型对应设置。
本申请的一些实施例会根据各类非线性函数的类型确定各自的自变量的最小取值范围得到预置范围,并将待处理线性函数的具体取值转换为该预置范围内的一个数值(即目标值),进而根据该目标值计算函数值提升技术方案的通用性。
在一些实施例中,所述非线性函数计算执行单元还包括:目标值缓存模块,被配置为缓存所述目标值,以使所述计算处理模块多次利用所述目标值。
本申请的一些实施例还通过设置的缓存单元来缓存目标值,进而使得本申请的实施例可以利用该目标值计算多次乘法并最终得到函数值。
在一些实施例中,所述非线性函数计算执行单元还包括:展开系数值存储单元,被配置为预先存储与多个非线性函数分别对应的多级展开系数值,其中,所述多个展开系数值是通过查询所述多级展开系数值得到的。
本申请的一些实施例通过逼近函数分别得到与各类非线性函数分别对应的多级展开系数值,并预先存储所有这些展开系数值并在具体计算时获取对应展开系数值,进而计算函数值,进而可以实现不同级数要求的展开系数值的函数值提升技术方案的通用性。
在一些实施例中,所述非线性函数计算执行单元还包括:基地址存储单元,被配置为用于存储与所述多个非线性函数分别对应的多级展开系数值的初始地址;偏移量计数单元,被配置为确定每个展开系数值相对于对应初始地址的偏移量;其中,所述多个展开系数值在所述展开系数值存储单元的存储地址是通过一个初始地址和一个偏移量确定的。
本申请的一些实施例通过基地址和偏移量来查询各个非线性函数的多个展开系数值进而得到所需的展开系数值。
在一些实施例中,所述非线性函数计算执行单元还包括:选择模块,被配置为选通与所述待处理非线性函数对应的初始地址。
本申请的一些实施例还通过选通单元来选通对应于待处理非线性函数的展开系数值的初始地址。
在一些实施例中,所述计算处理模块被配置为:求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;重复上述过程直至计算第一乘积与第零级展开系数值的和,得到待修正函数值;根据所述待修正函数值得到所述函数值。
本申请的一些实施例通过乘法器和加法器来计算与待处理非线性函数所需的中间结果,进而根据多个中间结果得到与自变量取值对应的目标值,有效提升技术方案的通用性。
在一些实施例中,所述计算处理模块还被配置为:根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值。
本申请的一些实施例还根据待处理非线性函数的周期性和对称性还确定后处理方法,得到函数值,显著提升了非线性函数的函数值的技术方案的通用性。
第二方面,本申请的一些实施例提供一种芯片,所述芯片包括如第一方面任意实施例所述的处理器。
第三方面,本申请的一些实施例提供一种数据处理的方法,应用在如第一方面任意实施例所述的处理器上,所述方法包括:对待处理非线性函数的自变量取值进行规约处理得到目标值;根据所述目标值和选中的多个展开系数值计算函数值。
在一些实施例中,在所述根据所述目标值和选中的多个展开系数值计算函数值之前,所述方法还包括:预先存储与多个非线性函数分别对应的多级展开系数值;配置与所述多个非线性函数分别对应的基地址,其中,每个基地址分别指向与对应非线性函数的一个多级展开系数值的存储地址。
在一些实施例中,所述方法还包括:更新与本次计算对应的一个多级展开系数值对应基地址的偏移量;根据所述偏移量和所述基地址选中所述多个展开系数值中的一个数据。
在一些实施例中,所述对待处理非线性函数的自变量取值进行规约处理得到目标值,包括:将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围。
在一些实施例中,所述根据所述目标值和选中的多个展开系数值计算函数值,包括:求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;重复上述过程直至计算第一乘积与第零级展开系数值的和,得到待修正函数值;根据所述待修正函数值得到所述函数值。
在一些实施例中,所述根据所述待修正函数值得到所述函数值,包括:根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值,其中,所述处理包括取相反数。
第五方面,本申请的一些实施例提供一种电子设备,所述电子设备包括存储器以及如第一方面任意实施例所述的处理器。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的处理器的架构图之一;
图2为本申请实施例提供的处理器架构图之二;
图3为本申请实施例提供的处理器架构图之三;
图4为本申请实施例提供的数据处理的方法的流程图;
图5为本申请实施例提供的电子设备组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请的一些实施例利用逼近函数对目标函数(即待处理非线性函数)逼近,得到多项式系数,在保证计算精度的前提下,提出一种统一化的处理方式,不同函数可以复用相同的计算单元进行计算得到最终的计算结果,也就是说通过本申请的实施例可以实现不同的非线性函数的函数值计算过程复用相同的计算单元,因此采用本申请的实施例可以降低芯片面积并节省芯片功耗。
例如,以待处理非线性函数为三角函数,则在本申请的一些实施例中计算该三角函数值的方法示例性包括如下步骤:(1)对目标三角函数(即待求解三角函数)进行规约处理,将输入的数据范围(即三角函数的自变量取值)缩小到一个小的范围;(2)利用多项式展开与函数逼近的方法,对目标函数进行多项式逼近,求出多项式各项系数;(3)通过根据系数,进行多项式重构,将目标函数计算转换为近似多项式计算,利用处理器中的乘法和加法计算单元(作为计算处理模块的一个示例)即可得到高精度的计算结果;(4)根据输入的数据与归约范围,利用三角函数特性对(3)结果进行后处理得到最终结果(即得到函数值)。
需要说明的是利用本申请实施例提供的处理器可以实现多种非线性函数(包括三角函数)的函数值的近似计算,得到待处理非线性函数的函数值。
请参看图1,图1为本申请实施例提供一种处理器100,该处理器100包括:自变量取值获取模块110以及非线性函数计算执行单元120。
自变量取值获取模块110,被配置为读取待处理非线性函数的自变量取值。例如,通过处理器上的数据读取功能模块从内存读取该自变量取值。在本申请的一些实施例中,通过处理器上的总线向非线性函数计算执行单元120传输该自变量取值。
非线性函数计算执行单元120,被配置为依据所述自变量取值和多个展开系数值确定待处理非线性函数的函数值,其中,所述多个展开系数值是通过逼近函数确定的。例如,逼近函数的类型包括但不限于:最小二乘法、REMEZ算法或者梯度下降法等。
也就是说,本申请的一些实施例采用逼近函数得到待处理非线性函数的展开系数值可以提升得到的展开系数值的准确性,进而更好的逼近待处理非线性函数(即目标函数)的函数值。
下面示例性阐述非线性函数计算执行单元120的结构。
例如,如图2所示,在本申请的一些实施例中,非线性函数计算执行单元120示例性包括:规约处理模块121以及计算处理模块123。
规约处理模块121,该规约处理模块被配置为将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围。
计算处理模块123,该计算处理模块123被配置为根据规约处理模块121提供的目标值和多个展开系数值得到所述函数值。
也就是说,本申请的一些实施例通过规约处理模块将输入数据(即待处理非线性函数的自变量的具体取值)限定在一个目标范围内,进而求解该目标范围内的初始函数值,之后再通过后处理初始函数值得到函数值,这样可以提升技术方案的通用性,有效降低处理器芯片的面积。
例如,如图2所示,在本申请的一些实施例中,规约处理模块121还被配置为根据所述待处理非线性函数的类型从多个预置范围中筛选出所述目标预置范围,其中,一个预置范围与一个非线性函数类型对应设置。
也就是说,本申请的一些实施例会根据各类非线性函数的类型确定各自的自变量的最小取值范围得到预置范围,并将待处理线性函数的具体取值转换为该预置范围内的一个数值(即目标值),进而根据该目标值计算函数值提升技术方案的通用性。例如,待处理非线性函数为正弦函数则对应的预置范围为[0,π/2π/2],若待处理非线性函数为正切函数时则预置范围为[0,π/4]。需要说明的是本领域技术人员可以根据待处理非线性函数的对称性和周期性确定与相应非线性函数对应的预置范围,后续示例会通过表格给出多种待处理非线性函数以及对应的预置范围,在本申请的一些实施例中可以根据相应非线性函数的周期性将自变量取值变换至对应的预置区间得到目标值。
例如,在本申请的一些实施例需要多次用到目标值因此还需要缓存单元。如图2所示,在本申请的一些实施例中,非线性函数计算执行单元120还包括:目标值缓存模块122,该目标值缓存模块被配置为缓存所述目标值,以使所述计算处理模块多次利用所述目标值。
也就是说,本申请的一些实施例还通过设置的缓存单元来缓存目标值,进而使得本申请的实施例可以利用该目标值计算多次乘法并最终得到函数值。
为了适应不同计算过程对展开系数值级数的要求不同,本申请的一些实施例需要预先将根据逼近函数确定的尽可能多的多级展开系数值进行存储,进而在具体执行某次计算时通过查询方式得到所需级数的展开系数值。例如,如图2所示,在本申请的一些实施例中,非线性函数计算执行单元120还包括:展开系数值存储单元126,该展开系数值存单元被配置为预先存储与多个非线性函数分别对应的多级展开系数值,其中,所述多个展开系数值是通过查询所述多级展开系数值得到的。
也就是说,本申请的一些实施例通过逼近函数分别得到与各类非线性函数分别对应的多级展开系数值,并预先存储所有这些展开系数值并在具体计算时获取对应展开系数值,进而计算函数值,进而可以实现不同级数要求的展开系数值的函数值提升技术方案的通用性。
为了完成展开系数值存储单元126的寻址,在本申请的一些实施例中,非线性函数计算执行单元120还包括:基地址存储单元124以及偏移量计数单元125,其中,该基地址存单元被配置为用于存储与所述多个非线性函数分别对应的多级展开系数值的初始地址,该偏移量计数单元被配置为确定每个展开系数值相对于对应初始地址的偏移量。可以理解的是,在本申请的一些实施例中计算待处理非线性函数的函数值所需的多个展开系数值在所述展开系数值存储单元的存储地址是通过一个初始地址和一个偏移量确定的。
也就是说,本申请的一些实施例通过基地址和偏移量来查询各个非线性函数的多个展开系数值进而得到所需的展开系数值。
为了选通与不同的待处理非线性函数对应的某一级展开系数值需要选中对应的基地址,例如,如图2所示,在本申请的一些实施例中,非线性函数计算执行单元120还包括:选择模块(图2未示出),被配置为选通与所述待处理非线性函数对应的初始地址。也就是说,本申请的一些实施例还通过选通单元来选通对应于待处理非线性函数的展开系数值的初始地址。
需要说明的是,在本申请的一些实施例中,计算处理模块123被配置为:求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;重复上述过程直至计算第一乘积与第零级展开系数值的和,得到待修正函数值;根据所述待修正函数值得到所述函数值。
也就是说,本申请的一些实施例通过乘法器和加法器来计算与待处理非线性函数所需的中间结果,进而根据多个中间结果得到与自变量取值对应的目标值,有效提升技术方案的通用性。
例如,在本申请的一些实施例中,计算处理模块123还被配置为:根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值。也就是说,本申请的一些实施例还根据待处理非线性函数的周期性和对称性还确定后处理方法,得到函数值,显著提升了非线性函数的函数值的技术方案的通用性。
下面结合图3示例性阐述非线性函数计算执行单元120的实现结构图。
第一步,规约处理
利用非线性函数(例如,三角函数)的特性,可以将输入数据(即该非线性函数的自变量取值)归约到一个小的范围(即目标预置范围),其中,本申请一些实施例的各类待处理非线性函数与预置范围的对应关系如下表1所示。
表1非线性函数与预置范围对应关系实例表
函数名 | 预置范围 |
sin(x) | [0.pi/2] |
cos(x) | [0.pi/2] |
tan(x) | [0.pi/4] |
atan(x) | [-1.1] |
log2(x) | [1,2] |
exp2(-|x|) | [0,1] |
也就是说,通过查询表1可以得到与待处理非线性函数对应的目标预置范围,进而将输入数据(即该非线性函数的自变量取值变换为该预置范围内的值得到目标值)。上述表1显示,在本申请的一些实施例中,与正弦函数则对应的预置范围为[0,π/2π/2],与正切函数时则预置范围为[0,π/4],本领域技术人员可以参考上述表1得到对应对的预置范围。
第二步,近似乘加运算。
对目标函数即待处理非线性函数进行多项式展开,例如展开n项的公式为:
f(x)=Pnxn+Pn-1xn-1+Pn-2xn-2+Pn-3xn-3+.....+P2x+P1
选取样点利用最小二乘法(作为逼近函数的一个示例)进行函数逼近求取最优的多项式系数P1~Pn,得到最终的多项式近似函数。在本申请的一些实施例中不同的函数对应的系数有所不同,需要将展开系数值存放在ROM中(作为展开系数值存储单元的一个示例),根据需要计算的目标函数进行查找表选择。上述公式可以变换为:
f(x)=((((((Pnx+Pn-1)x+Pn-2)x+Pn-3))x.....+P2)x+P1
结合该变形后的公式可知,调用n-1次处理器中的乘加单元(作为计算处理模块的一个示例)即可实现目标函数的计算,每次乘加运算选择不同的计算系数P1~Pn。例如,在第一次计算时,需要第n级系数Pn以及第n-1级系数Pn-1,之后利用乘法单元计算第n级系数Pn与x对应的目标值的乘积,再通过加法单元计算该乘积与第n-1级系数Pn-1的和,完成一次迭代计算,根据上述变形后公式重复该处理过程(选择两个展开系数值)迭代n次即得到函数值。
如图3所示,与表1的各个非线性函数对应的多个展开系数值预先存储在ROM中,图3采用硬件存储各个函数系数的初始地址,与表1的6种待处理非线性函数对应的这些初始地址包括如图3的cos_baseaddr、sin_baseaddr等。开始计算时,根据当前的opcode确定待处理非线性函数类型,并根据该类型选通对应的初始地址,图3的计数器counter(作为偏移量计算单元一个示例)计算当前迭代次数,可以作为从ROM中选择展开系数值的偏移地址,初始地址和偏移地址相加得到ROM的真实地址即得到了所需的展开系数值的存储地址,ROM输出该地址的数据与规约预处理(即规约处理模块的功能)的操作数进行乘加运算即通过图3的MAC单元进行mac运算(即上述展开系数值与目标值相乘并加和另一个展开系数值的计算过程),经过N次的迭代后,最终得到函数值。
第三步,后处理
根据三角函数对称性和周期性,规约后的函数输入与真实输入在计算结果上存在一定的常数偏移,因此仅需要对MAC计算结果(即待修正函数值)进行偏移即可得到最终的计算结果即得到函数值。
本申请的一些实施例提供一种芯片,该芯片包括如上述任意实施例所述的处理器。
本申请的一些实施例提供一种数据处理的方法,应用在如上述任意实施例所述的处理器上,如图4所示该方法包括:S101,对待处理非线性函数的自变量取值进行规约处理得到目标值;S102,根据所述目标值和选中的多个展开系数值计算函数值。
在本申请的一些实施例中,在S102之前,所述方法还包括:预先存储与多个非线性函数分别对应的多级展开系数值;配置与所述多个非线性函数分别对应的基地址,其中,每个基地址分别指向与对应非线性函数的一个多级展开系数值的存储地址。
在本申请的一些实施例中,所述方法还包括:更新与本次计算对应的一个多级展开系数值与对应基地址的偏移量;根据所述偏移量和所述基地址选中所述多个展开系数值中的一个数据。
在本申请的一些实施例中,所述对待处理非线性函数的自变量取值进行规约处理得到目标值,包括:将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围。
在本申请的一些实施例中,所述根据所述目标值和选中的多个展开系数值计算函数值,包括:求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;重复上述过程直至计算第一乘积与第零级展开系数值的和,得到待修正函数值;根据所述待修正函数值得到所述函数值。
在本申请的一些实施例中,所述根据所述待修正函数值得到所述函数值,包括:根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值,其中,所述处理包括取相反数。
如图5所示,本申请的一些实施例提供一种电子设备500,该电子设备包括处理器520以及存储在存储器510上并可在处理器520上运行的计算机程序,其中,所述处理器520执行所述程序时(以及通过总线530从存储器510读取程序并执行)可实现图4示出的方法,也可以用于实现上述实施例描述的方法。
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图4中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种处理器,其特征在于,所述处理器包括:
自变量取值获取模块,被配置为读取待处理非线性函数的自变量取值;
非线性函数计算执行单元,被配置为依据所述自变量取值和多个展开系数值确定待处理非线性函数的函数值,其中,所述多个展开系数值是通过逼近函数确定的;其中,
所述非线性函数计算执行单元包括:
规约处理模块,被配置为将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围;
计算处理模块,被配置为根据所述目标值和所述多个展开系数值得到所述函数值;
所述计算处理模块被配置为:
求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;
求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;
对i进行自减操作,重复上述过程直至遍历完所述多个展开系数值并得到计算第一乘积与第零级展开系数值的和,得到待修正函数值;
根据所述待修正函数值得到所述函数值。
2.如权利要求1所述的处理器,其特征在于,所述规约处理模块还被配置为根据所述待处理非线性函数的类型从多个预置范围中筛选出所述目标预置范围,其中,一个预置范围与一个非线性函数类型对应设置。
3.如权利要求1所述的处理器,其特征在于,所述非线性函数计算执行单元还包括:
目标值缓存模块,被配置为缓存所述目标值,以使所述计算处理模块多次利用所述目标值。
4.如权利要求1所述的处理器,其特征在于,所述非线性函数计算执行单元还包括:
展开系数值存储单元,被配置为预先存储与多个非线性函数分别对应的多级展开系数值,其中,所述多个展开系数值是通过查询所述多级展开系数值得到的。
5.如权利要求4所述的处理器,其特征在于,所述非线性函数计算执行单元还包括:
基地址存储单元,被配置为用于存储与所述多个非线性函数分别对应的多级展开系数值的初始地址;
偏移量计数单元,被配置为确定每个展开系数值相对于对应初始地址的偏移量;
其中,所述多个展开系数值在所述展开系数值存储单元的存储地址是通过一个初始地址和一个偏移量确定的。
6.如权利要求4所述的处理器,其特征在于,所述非线性函数计算执行单元还包括:
选择模块,被配置为选通与所述待处理非线性函数对应的初始地址。
7.如权利要求1所述的处理器,其特征在于,所述计算处理模块还被配置为:根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值。
8.一种芯片,其特征在于,所述芯片包括如权利要求1-7任一项所述的处理器。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及如权利要求1-7任一项所述的处理器。
10.一种数据处理的方法,应用在如权利要求1-7任一项所述的处理器上,所述方法包括:
对待处理非线性函数的自变量取值进行规约处理得到目标值;
根据所述目标值和选中的多个展开系数值计算函数值。
11.如权利要求10所述的方法,其特征在于,在所述根据所述目标值和选中的多个展开系数值计算函数值之前,所述方法还包括:
预先存储与多个非线性函数分别对应的多级展开系数值;
配置与所述多个非线性函数分别对应的基地址,其中,每个基地址分别指向与对应非线性函数的一个多级展开系数值的存储地址。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
更新与本次计算对应的一个多级展开系数值对应基地址的偏移量;
根据所述偏移量和所述基地址选中所述多个展开系数值中的一个数据。
13.如权利要求10所述的方法,其特征在于,所述对待处理非线性函数的自变量取值进行规约处理得到目标值,包括:
将所述自变量取值转换为目标预置范围内的目标值,其中,所述目标预置范围是根据所述待处理非线性函数的周期性和对称性确定的一个取值范围。
14.如权利要求10所述的方法,其特征在于,所述根据所述目标值和选中的多个展开系数值计算函数值,包括:
求解所述目标值和第i级展开系数值的乘积,得到第i乘积,其中,所述第i级展开系数值属于所述多个展开系数值中的任意一个;
求解所述第i乘积与第i-1级展开系数值的和,得到第i结果;
对i进行自减操作,重复上述过程直至遍历完所述多个展开系数值并得到第一乘积与第零级展开系数值的和,得到待修正函数值;
根据所述待修正函数值得到所述函数值。
15.如权利要求14所述的方法,其特征在于,所述根据所述待修正函数值得到所述函数值,包括:
根据所述待处理非线性函数的周期性和对称性对所述待修正函数值进行处理得到所述函数值,其中,所述处理包括取相反数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310124925.6A CN116301716B (zh) | 2023-02-03 | 2023-02-03 | 一种处理器、芯片以及数据处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310124925.6A CN116301716B (zh) | 2023-02-03 | 2023-02-03 | 一种处理器、芯片以及数据处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116301716A CN116301716A (zh) | 2023-06-23 |
CN116301716B true CN116301716B (zh) | 2024-01-19 |
Family
ID=86788013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310124925.6A Active CN116301716B (zh) | 2023-02-03 | 2023-02-03 | 一种处理器、芯片以及数据处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301716B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862483A (zh) * | 2005-05-12 | 2006-11-15 | 国际商业机器公司 | 具有有效的函数估计指令的处理器 |
CN1918542A (zh) * | 2004-03-11 | 2007-02-21 | 英特尔公司 | 使用单指令多数据(simd)运算来计算超越函数 |
CN107220401A (zh) * | 2017-04-12 | 2017-09-29 | 中国地质大学(武汉) | 基于并行蒙特卡洛法的边坡可靠性参数获取方法及装置 |
CN111680782A (zh) * | 2020-05-20 | 2020-09-18 | 河海大学常州校区 | 一种基于fpga的rbf神经网络激活函数实现方法 |
CN112651496A (zh) * | 2020-12-30 | 2021-04-13 | 深圳大普微电子科技有限公司 | 一种处理激活函数的硬件电路及芯片 |
CN113537462A (zh) * | 2021-06-30 | 2021-10-22 | 华为技术有限公司 | 数据处理方法、神经网络的量化方法及相关装置 |
WO2022104528A1 (zh) * | 2020-11-17 | 2022-05-27 | 深圳市大疆创新科技有限公司 | 用于定点数的非线性计算的方法、装置、图像处理设备、可移动平台及存储介质 |
CN115221466A (zh) * | 2022-06-15 | 2022-10-21 | Oppo广东移动通信有限公司 | 业务数据处理方法、装置、设备、存储介质和程序产品 |
CN115328553A (zh) * | 2022-08-24 | 2022-11-11 | 无锡江南计算技术研究所 | 一种支持非线性函数扩展功能的并行查表方法及装置 |
CN115442188A (zh) * | 2022-08-19 | 2022-12-06 | 哲库科技(北京)有限公司 | 一种信道估计方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403524B2 (en) * | 2015-04-30 | 2022-08-02 | Toru YAMAZATO | Methods of increasing processing speed in a processing system that performs a nonlinear optimization routine |
US9772975B2 (en) * | 2015-07-02 | 2017-09-26 | Oracle International Corporation | Hybrid table-lookup algorithm for functions |
JP7512229B2 (ja) * | 2021-04-22 | 2024-07-08 | 株式会社東芝 | 情報処理装置、情報処理方法及びプログラム |
-
2023
- 2023-02-03 CN CN202310124925.6A patent/CN116301716B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1918542A (zh) * | 2004-03-11 | 2007-02-21 | 英特尔公司 | 使用单指令多数据(simd)运算来计算超越函数 |
CN1862483A (zh) * | 2005-05-12 | 2006-11-15 | 国际商业机器公司 | 具有有效的函数估计指令的处理器 |
CN107220401A (zh) * | 2017-04-12 | 2017-09-29 | 中国地质大学(武汉) | 基于并行蒙特卡洛法的边坡可靠性参数获取方法及装置 |
CN111680782A (zh) * | 2020-05-20 | 2020-09-18 | 河海大学常州校区 | 一种基于fpga的rbf神经网络激活函数实现方法 |
WO2022104528A1 (zh) * | 2020-11-17 | 2022-05-27 | 深圳市大疆创新科技有限公司 | 用于定点数的非线性计算的方法、装置、图像处理设备、可移动平台及存储介质 |
CN112651496A (zh) * | 2020-12-30 | 2021-04-13 | 深圳大普微电子科技有限公司 | 一种处理激活函数的硬件电路及芯片 |
CN113537462A (zh) * | 2021-06-30 | 2021-10-22 | 华为技术有限公司 | 数据处理方法、神经网络的量化方法及相关装置 |
CN115221466A (zh) * | 2022-06-15 | 2022-10-21 | Oppo广东移动通信有限公司 | 业务数据处理方法、装置、设备、存储介质和程序产品 |
CN115442188A (zh) * | 2022-08-19 | 2022-12-06 | 哲库科技(北京)有限公司 | 一种信道估计方法、装置、设备及存储介质 |
CN115328553A (zh) * | 2022-08-24 | 2022-11-11 | 无锡江南计算技术研究所 | 一种支持非线性函数扩展功能的并行查表方法及装置 |
Non-Patent Citations (1)
Title |
---|
三角函数逼近算法及其在光学条纹图像分析中的应用;周;郭红卫;;光学仪器(第01期);第22-28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116301716A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111915003B (zh) | 一种神经网络硬件加速器 | |
Makino et al. | Remainder differential algebras and their applications | |
Boshernitzan et al. | Ergodic averaging sequences | |
US20100198893A1 (en) | Digital Signal Processor Having Instruction Set With An Xk Function Using Reduced Look-Up Table | |
WO2013109532A1 (en) | Algebraic processor | |
KR19980701803A (ko) | 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 | |
US9170776B2 (en) | Digital signal processor having instruction set with a logarithm function using reduced look-up table | |
KR19980701802A (ko) | 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 | |
US9069686B2 (en) | Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table with exponentially varying step-size | |
JP4199100B2 (ja) | 関数演算方法及び関数演算回路 | |
US5629884A (en) | Log converter utilizing offset and method of use thereof | |
US6182100B1 (en) | Method and system for performing a logarithmic estimation within a data processing system | |
CN111078187B (zh) | 一种针对单精度浮点数的任意次方根求解方法及其求解器 | |
CN116301716B (zh) | 一种处理器、芯片以及数据处理的方法 | |
US9223752B2 (en) | Digital signal processor with one or more non-linear functions using factorized polynomial interpolation | |
Lachowicz et al. | Fast evaluation of the square root and other nonlinear functions in FPGA | |
CN116166217A (zh) | 执行浮点操作的系统和方法 | |
Spiteri | Compensating for Bias due to Rounding for Fixed-Point FFT | |
CN108897524A (zh) | 除法函数处理电路、方法、芯片以及系统 | |
CN116382782A (zh) | 向量运算方法、向量运算器、电子设备和存储介质 | |
US20030074383A1 (en) | Shared multiplication in signal processing transforms | |
US20030195913A1 (en) | Shared multiplication for constant and adaptive digital filters | |
CN114510217A (zh) | 处理数据的方法、装置和设备 | |
CN115659380B (zh) | 一种密文数据拟合计算方法、装置及电子设备 | |
Poghosyan et al. | On some quasi-periodic approximations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |