CN111191779B - 一种数据处理方法、装置、处理器及计算机可读存储介质 - Google Patents

一种数据处理方法、装置、处理器及计算机可读存储介质 Download PDF

Info

Publication number
CN111191779B
CN111191779B CN202010000224.8A CN202010000224A CN111191779B CN 111191779 B CN111191779 B CN 111191779B CN 202010000224 A CN202010000224 A CN 202010000224A CN 111191779 B CN111191779 B CN 111191779B
Authority
CN
China
Prior art keywords
fitting
data
input data
interval
operation result
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
CN202010000224.8A
Other languages
English (en)
Other versions
CN111191779A (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.)
Zhonghao Xinying Hangzhou Technology Co ltd
Original Assignee
Zhonghao Xinying Hangzhou Technology Co 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 Zhonghao Xinying Hangzhou Technology Co ltd filed Critical Zhonghao Xinying Hangzhou Technology Co ltd
Priority to CN202010000224.8A priority Critical patent/CN111191779B/zh
Publication of CN111191779A publication Critical patent/CN111191779A/zh
Application granted granted Critical
Publication of CN111191779B publication Critical patent/CN111191779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种数据处理方法、装置、处理器以及计算机可读存储介质。本发明采用函数值映射电路与拟合运算电路配合,快速、高效地处理数据,以满足神经网络对于非线性度的需求,从而提高神经网络对于复杂函数的逼近能力。相较于现有技术单纯仅采用拟合运算电路进行全区间拟合运算以拟合特定函数的函数值的方式,本发明不仅能够通过减少拟合参数的使用从而减少硬件资源开销,还能够通过减少拟合运算电路匹配拟合参数的时间,从而加快数据处理装置对于数据的处理速度。

Description

一种数据处理方法、装置、处理器及计算机可读存储介质
技术领域
本发明涉及神经网络领域,具体涉及一种数据处理方法、装置、处理器以及计算机可读存储介质。
背景技术
在神经网络的深度学习应用场景中,我们用神经网络来表述输入与输出之间的复杂关系。用数学语言来说,就是用人工神经网络来实现复杂的函数。神经网络由多层的神经元构成,每个神经元中都有一个激活函数,神经元会同时接收多个输入并将它们统一起来,然后使用激活函数处理后进行输出,使输入与输出之间存在一定的映射关系,如果每个神经元中的激活函数均是线性函数,则输入与输出之间的映射关系均是线性的,那么神经网络只是将多个输入经过线性组合再输出,即神经网络缺乏非线性度,对于复杂函数的逼近能力十分有限。
为了让神经网络对于复杂函数的表达能力更加强大,需要引入非线性激活函数进行神经网络的构建。要引入非线性函数用于神经网络,相当于要拟合出非线性函数的函数值。通常来说,现有技术拟合非线性函数的函数值一般采用通用型处理器进行计算,效率低下。即使采用专用的拟合电路,其需要的拟合区间庞大、涉及的拟合参数繁多,导致存储资源开销高、电路面积大,同时其数据处理速度难以满足神经网络的需求。
发明内容
针对上述问题,为满足神经网络对于非线性度的需求,以专用电路结合仅配置了特定拟合区间的拟合运算电路的方案替换配置全区间的拟合运算电路方案为基础,提供了一整套提高神经网络数据处理能力的解决措施,显著减少硬件资源的开销。
为实现上述目的,根据本发明的第一方面,提供一种数据处理方法,该方法应用于神经网络。提供乘法器、拟合运算电路和函数值映射电路,拟合运算电路用于调用拟合参数对数据进行拟合运算;函数值映射电路用于根据索引匹配对应的数值。同时,提供特定函数定义域内的至少一个特定拟合区间,特定拟合区间对应至少一组拟合参数,拟合运算电路仅处理位于特定拟合区间内的数据;并提供输入数据x,输入数据x为标准化的浮点数,输入数据x包括有效数字、指数和符号。本发明提供的数据处理方法包括以下步骤:
步骤S10:获取上述输入数据x,并根据输入数据x的有效数字、指数和符号判断其是否位于特定拟合区间;
若输入数据x位于特定拟合区间内,使用拟合运算电路调用拟合参数对输入数据x进行拟合运算,得到拟合运算结果,并基于所述拟合运算结果得到最终运算结果;
若输入数据x位于特定拟合区间外,则跳过直接调用拟合运算电路处理输入数据x的步骤,直接执行步骤S20。
步骤S20:对输入数据x进行移位处理,得到移位数据x’。移位处理包括,获取移位数据x’的指数t,t为整数,然后计算输入数据x的指数与指数t的差值,之后基于该差值对输入数据x的有效数字进行移位,得到移位数据x’的有效数字。
步骤S30:基于上述移位数据x’获取拟合部x1和非拟合部x2,拟合部x1与非拟合部x2的和等于移位数据x’。其中,拟合部x1的有效数字等于移位数据x’的有效数字的小数部分加上整数r,拟合部x1位于特定拟合区间内;非拟合部x2的有效数字等于移位数据x’的有效数字的整数部分减去整数r。
步骤S40:使用拟合运算电路调用拟合参数对拟合部x1进行拟合运算,得到第一运算结果f(x1);
使用函数值映射电路以非拟合部x2为索引查找映射表,获取第二运算结果f(x2);该映射表包括非拟合部x2以及和非拟合部x2对应的第二运算结果f(x2)。
步骤S50:使用乘法器将第一运算结果f(x1)和第二运算结果f(x2)相乘得到最终运算结果。
本发明通过将输入数据x分解为拟合部x1和非拟合部x2,并通过不同电路分别对拟合部x1和非拟合部x2进行处理。具体的,通过拟合运算电路对拟合部x1进行拟合运算,得到第一运算结果f(x1);并通过函数值映射电路以非拟合部x2为索引查找映射表,获取第二运算结果f(x2),然后基于第一运算结果f(x1)和第二运算结果f(x2)还原出特定函数的函数拟合值。相比于最接近的现有技术中以覆盖全区间的拟合运算电路进行拟合的具体实现方案,本发明以函数值映射电路配合仅配置了极小特定拟合区间的拟合运算电路,代替配置了高功耗、多部件的全区间拟合区间的拟合运算电路,以大量减少拟合参数的数量,从而减少硬件资源尤其是存储资源的开销。同时,相较于现有技术,本发明提供的仅配置了极小特定拟合区间的拟合运算电路由于拟合参数较少,从而可以缩短拟合运算电路在调用拟合参数时,选择并匹配拟合参数的时间,从而在整体上提高了对于数据的处理速度,该数据处理方法具体应用于神经网络,特别是用于神经网络逼近特定函数的函数值时,使得神经网络对于非线性度的需求得以满足,从而使神经网络对于复杂函数的逼近能力得到进一步提高。
优选的,上述特定拟合区间包括[-2t+n,2t+m],n和m均为正整数。在一种优选的实施方式中,上述整数r的取值通常为1。因此,由上述拟合部x1的构建方式可知,拟合部x1的有效数字小于2,拟合部x1的指数等于t,拟合部x1的符号包括正和负两种情形。因此,在本发明优选的二进制神经网络处理***中保持n和m均为正整数的前提下,拟合部x1必定位于特定拟合区间[-2t+n,2t+m],从而不需要对拟合部x1进行额外处理,即可对其进行拟合运算,从而进一步提高本方法对于数据的处理速度,并仅需存储特定拟合区间[-2t+n,2t+m]对应的拟合参数,减少存储资源的开销。
更为优选的,上述特定拟合区间包括第一拟合区间和第二拟合区间,第一拟合区间包括[-2t+n,-2t-p],第二拟合区间包括[2t-q,2t+m],p和q均为非负整数。由上述拟合部x1的构建方式可知,拟合部x1的有效数字大于1,拟合部x1的指数等于t,拟合部x1的符号包括正和负两种情形。因此,在p和q均为非负整数的前提下,拟合部x1必定位于第一拟合区间[-2t +n,-2t-p]或第二拟合区间[2t-q,2t+m],从而更进一步减少拟合参数的数量,以减少存储资源的开销。
更为优选的,m和n等于1,p和q等于0。在保证拟合部x1位于特定拟合区间的前提下,将特定拟合区间固定在最方便使用的[-2t+1,2t+1]或[-2t+1,-2t]U[2t,2t+1],从而将拟合参数的数量减少至局部最优的情形,以减少存储资源的开销。
优选的,上述映射表中的非拟合部x2包括至少一个等差数列,等差数列的公差等于2t。在本发明中,映射表并不需要存储特定函数定义域内的每个非拟合部x2,而仅需存储一些特定的数值。由上述非拟合部x2的构建方式可知,非拟合部x2的有效数字为整数,非拟合部x2的指数为t(t为整数),因此非拟合部x2为整数。同时,配合拟合部x1,映射表中仅需存储一组公差为2t的整数等差数列,即可实现任意输入数据x的处理。因此,通过减少映射表中的拟合部x2的的数据存储量,可以减少存储资源的开销,并能进一步降低函数值映射电路以非拟合部x2为索引查找映射表获取第二运算结果f(x2)的时间,从而加快数据处理方法对于数据的处理速度。
为实现上述目的,根据本发明的第二方面,提供一种数据处理装置。提供特定函数对应的至少一个特定拟合区间,特定拟合区间对应至少一组拟合参数;并提供输入数据x,输入数据x为标准化的浮点数,输入数据x包括有效数字、指数和符号。本发明提供的数据处理装置包括:
判断单元,判断单元用于根据输入数据x的有效数字、指数和符号判断其是否位于特定拟合区间。
移位单元,移位单元与判断单元相连,移位单元用于获取位于特定拟合区间外的输入数据x,并对其进行移位处理,得到移位数据x’。
拆分单元,拆分单元与移位单元相连,拆分单元用于获取移位数据x’,并将移位数据x’拆分为拟合部x1和非拟合部x2,拟合部x1与非拟合部x2的和等于移位数据x’。
函数值映射电路,函数值映射电路与拆分单元相连,用于获取非拟合部x2,并以非拟合部x2为索引查找映射表,最终得到与非拟合部x2对应的第二运算结果f(x2);映射表包括非拟合部x2以及和非拟合部x2对应的第二运算结果f(x2)。
拟合运算电路,拟合运算电路用于接收位于特定拟合区间内的输入数据x,并调用拟合参数对其进行拟合运算得到拟合运算结果;拟合运算电路还用于接收拟合部x1,并调用拟合参数对拟合部x1进行拟合运算得到第一运算结果f(x1)。
乘法器,乘法器与拟合运算电路相连;乘法器用于接收拟合运算结果以及固定数值,所述固定数值等于1,并将拟合运算结果和固定数值相乘;乘法器还用于接收第一运算结果f(x1)和第二运算结果f(x2),并将第一运算结果f(x1)和第二运算结果f(x2)相乘。
本发明通过移位单元和拆分单元将输入数据x最终拆解为拟合部x1与非拟合部x2,并通过拟合运算电路和函数值映射电路分别对拟合部x1与非拟合部x2进行处理,得到第一运算结果f(x1)以及第二运算结果f(x2),并基于第一运算结果f(x1)和第二运算结果f(x2)还原特定函数的函数拟合值。因此,通过上述处理过程,本发明以仅配置了极小特定拟合区间的拟合运算电路配合函数值映射电路代替配置了极大拟合区间的拟合运算电路,从而减少拟合参数的数量,从而减少存储资源的开销。
优选的,上述数据处理装置还包括第一多路调制器,第一多路调制器包括输出端和至少两个输入端。第一多路调制器的一个输入端与上述判断单元相连,第一多路调制器的另一输入端与上述拆分单元相连,第一多路调制器的输出端与上述拟合运算电路相连。第一多路调制器用于获取位于特定拟合区间内的输入数据x和/或拟合部x1,并择一发送至拟合运算电路。通过设置第一多路调制器,可以在拟合运算电路进行流水化的拟合运算时,避免拟合运算电路同时接收到多个数据造成运算错误,提高装置的稳定性。
优选的,上述数据处理装置还包括第二多路调制器,第二多路调制器包括输出端和至少两个输入端。第二多路调制器的一个输入端与上述函数值映射电路相连,第二多路调制器的另一输入端接收上述固定数值,第二多路调制器的输出端与上述乘法器相连。第二多路调制器用于获取第二运算结果f(x2)和/或固定数值,并择一发送至乘法器。通过设置第二多路调制器,以便选择性地向乘法器发送第二运算结果f(x2)或固定数值,使乘法器接收到的两个输入相对应。
为实现上述目的,根据本发明的第三方面,本发明提供一种计算机可读存储介质,该可读存储介质上存储有程序代码,该程序代码被处理器执行时,实现上述第一方面中的数据处理方法的步骤。
为实现上述目的,根据本发明的第四方面,本发明提供一种处理器,该处理器包括上述第二方面中的数据处理装置。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理方法的流程示意图;
图2是本发明实施例提供的一种数据处理装置的结构示意图;
图3是本发明实施例提供的一种拟合参数表;
图4是本发明实施例提供的另一种拟合参数表;
图5是本发明实施例提供的一种映射表;
图6是本发明实施例提供的另一种拟合参数表;
图7是本发明实施例提供的另一种映射表;
图8是本发明实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。术语“至少一个”的含义是一个或一个以上,术语“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,当一个元件被称作与另一个或多个元件“耦合”、“连接”时,它可以是一个元件直接连接到另一个或多个元件,也可以是间接连接至该另一个或多个元件。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,是发明实施例提供的一种数据处理方法的流程示意图。具体的,包括如下步骤。
步骤S1:获取输入数据x。输入数据x为标准化的浮点数,包括有效数字、指数和符号。在本发明一种优选的实施方式中,输入数据x可以为IEEE-754浮点数。
步骤S2:根据输入数据x的有效数字、指数和符号判断输入数据x是否位于特定拟合区间。若输入数据x位于特定拟合区间内,执行步骤S3;若输入数据x位于特定拟合区间外,执行步骤S4。
步骤S3:使用拟合运算电路调用特定拟合区间对应的拟合参数对输入数据x进行拟合运算得到拟合运算结果。
步骤S4:对输入数据x进行移位处理得到移位数据x’。移位处理包括,获取移位数据x’的指数t,t为整数,然后计算输入数据x的指数与指数t的差值,之后基于该差值对输入数据x的有效数字进行移位,得到移位数据x’的有效数字。具体的,可以将输入数据x的指数减去移位数据x’的指数t,得到差值,若差值大于零,将输入数据x的有效数字进行左移,左移的位数等于差值;若差值小于零,将输入数据x的有效数字进行右移,右移的位数等于差值。还可以将移位数据x’的指数t减去输入数据x的指数得到差值,若差值小于零,将输入数据x的有效数字进行左移,左移的位数等于差值;若差值大于零,将输入数据x的有效数字进行右移,右移的位数等于差值。
步骤S5:对移位数据x’进行拆分处理得到拟合部x1和非拟合部x2,拟合部x1与非拟合部x2的和等于移位数据x’。其中,拟合部x1的有效数字等于移位数据x’的有效数字的小数部分加上整数r,拟合部x1位于特定拟合区间内;非拟合部x2的有效数字等于移位数据x’的有效数字的整数部分减去整数r。在本发明一种优选的实施方式中,r等于1。
步骤S6:对拟合部x1和非拟合部x2分别进行处理,得到第一运算结果f(x1)和第二运算结果f(x2)。具体的,使用拟合运算电路调用拟合参数对拟合部x1进行拟合运算,得到第一运算结果f(x1);使用函数值映射电路以非拟合部x2为索引查找映射表,最终得到与非拟合部x2对应的第二运算结果f(x2)。其中,映射表包括非拟合部x2以及和非拟合部x2对应的第二运算结果f(x2)。
步骤S7:使用乘法器获取第一运算结果f(x1)和第二运算结果f(x2)的乘积。
步骤S8:将上述步骤S3中的拟合运算结果或上述步骤S7中的乘积作为最终运算结果输出。
现有技术往往将一个较大的区间配置为拟合区间,例如,在IEEE-754单精度浮点数的***中对函数2x进行拟合,由于IEEE-754单精度浮点数所能表示的最大值为2127,因此往往将拟合区间配置为[-127,127],而为了保证拟合的精度要求,通常将拟合区间划分为多个子区间。若每隔0.1划分一个子区间,那拟合区间[-127,127]将可以划分为2540个子区间,因此,理论上需要2540组拟合参数来实现函数的拟合,对于存储资源占用的极大。而在本发明中,对函数2x进行拟合运算,仅需将拟合区间设定为[-2,2],以同样的方式对[-2,2]进行划分,可知一共为40个子区间,因此,只需要40组拟合参数即可完成2x 1在[-2,2]的拟合运算,之后通过函数值映射电路以非拟合部x2为索引查找映射表得到2x 2的真值,并将二者相乘得到2x 1 +x2,即还原出了输入数据x在[-127,127]的函数拟合值。
从存储资源的角度来看,节省了约2500组拟合参数的存储资源开销。在对拟合精度有较高要求的***中,通常将子区间划分间隔设定在0.1或更小;当以0.1作为共同的最小子区间标准时,本发明相比现有技术至少节约了两个数量级的区间,因此本发明对于存储资源的节省是十分可观的。若不使用存储资源存储拟合参数,而是将拟合参数固化于电路之中,则相对于现有技术需要固化2500余组拟合参数而言,本发明可以大幅度减少电路的面积与功耗。
此外,为了调用对应的拟合参数进行拟合运算,需要判断输入数据x位于哪一子区间,因此,现有技术理论上需要log22540个门电路(Gate)进行子区间的判断,而本发明仅需log240个门电路。因此,本发明的电路面积明显小于现有技术。同时,在流水化的拟合运算中,本发明由于使用较少的门电路进行判断,电路延迟(即拟合部x1匹配对应拟合参数的时间)显著低于现有技术。
由于映射表中预先存储的第二运算结果f(x2)十分接近真值,所以本发明通过第二运算结果f(x2)对输入数据x的函数拟合值进行还原具有拟合精度高的优势。
在本发明一些实施方式中,特定拟合区间可设置为[-2t+n,2t+m],m和n均为正整数。在本发明其它一些实施方式中,还可以设置多个特定拟合区间,例如可以将特定拟合区间设置为[-2t+n,-2t-p]U[2t-q,2t+m],p和q均为非负整数。在本发明一种优选的实施方式中,通常取m和n为1,取p和q为0。在本发明一些实施方式中,特定拟合区间还可以配置为开区间或半开半闭区间。
例如,当移位数据x’的指数t等于2时,特定拟合区间可以设置为[-8,8],(-8,8],[-8,8),(-8,8)等等。还可以将特定拟合区间设置为[-8,-4]U[4,8],(-8,-4)U(4,8),(-8,-4]U[4,8)等等,此处不再赘述。在本发明一种优选的实施方式中,特定拟合区间包括多个子区间,这些子区间均对应一组拟合参数。
在本发明一种优选的实施方式中,上述映射表中的非拟合部x2构成至少一个等差数列,公差为2t。应当注意的是,公差等于2t还是等于-2t,取决于如何定义等差数列的首项和末项。因此,公差等于-2t的等差数列应视为与本发明实质相同的技术方案。
例如,移位数据x’的指数t等于2时,映射表中的非拟合部x2构成等差数列为{…,-8,-4,0,4,8,…},等差数列的末项和首项可根据***可表示的最大值和最小值确定。例如,单精度浮点数可表示的最大值为2127,若映射表表示的是ex的映射关系,由于e88已经超过了2127,结合上述特定拟合区间[-8,8],为使能够拟合的最大值达到e88,等差数列的末项取应取80,同理,等差数列的首项可取-80。
请参见图2,是本发明实施例提供的一种数据处理装置200的结构示意图。数据处理装置200包括:判断单元210、移位单元220、拆分单元230、函数值映射电路240、拟合运算电路250、乘法器260、第一多路调制器270以及第二多路调制器280。
判断单元210与移位单元220相连;移位单元220与拆分单元230相连;拆分单元230与函数值映射电路240相连;第一多路调制器270的其中一个输入端与判断单元210相连,另一个输入端与拆分单元230相连,第一多路调制器270的输出端与拟合运算电路250相连;第二多路调制器280的其中一个输入端与函数值映射电路240相连,另一输入端接收固定数值1,其输出端与乘法器260相连;乘法器260还与拟合运算电路250相连。
其中,判断单元210用于接收输入数据x,并根据输入数据x的有效数字、指数和符号判断输入数据x是否位于特定拟合区间。若输入数据x位于特定拟合区间内,判断单元210将输入数据x发送至第一多路调制器270;若输入数据x位于特定拟合区间外,判断单元210将输入数据x发送至移位单元220。
移位单元220用于对输入数据x进行移位处理,得到移位数据x’,并将移位数据x’发送至拆分单元230。
拆分单元230用于将移位数据x’拆分为拟合部x1和非拟合部x2,拟合部x1与非拟合部x2的和等于移位数据x’。然后将拟合部x1发送至第一多路调制器270,并将非拟合部x2发送至函数值映射电路240。
函数值映射电路240用于以非拟合部x2为索引查找映射表,最终得到与非拟合部x2对应的第二运算结果f(x2),并将第二运算结果f(x2)发送至第二多路调制器280。
第一多路调制器270用于从接收到的位于特定拟合区间内的输入数据x和/或拟合部x1中择一发送至拟合运算电路250。
拟合运算电路250用于接收位于特定拟合区间内的输入数据x进行拟合运算得到拟合运算结果;拟合运算电路250还用于接收拟合部x1进行拟合运算得到第一运算结果f(x1)。在本发明一种优选的实施方式中,拟合运算电路包括乘法器和加法器,使用乘法器和加法器的配合,以进行多项式拟合运算。在其他一些实施方式中,也可以使用乘加器代替乘法器和加法器进行多项式运算。在一种优选的实施方式中,多项式拟合运算为二项式拟合运算,但本发明对于拟合运算的项次并不作具体限定。
第二多路调制器280用于从接收到的第二运算结果f(x2)和/或固定数值1中择一发送至乘法器260。显而易见的是,该固定数值可以为浮点型也可以为整型。
乘法器260用于接收固定数值和拟合运算结果,并将二者相乘;乘法器260还用于接收第一运算结果f(x1)和第二运算结果f(x2),并将二者相乘。
经过一定选择从而将多个数据通道的数据传送到唯一的公共通道上,以实现数据选择功能的逻辑电路均可视为对多路调制器(multiplexer)的简单置换。例如数据选择器、多路选择器均可用于代替上述多路调制器。
为了便于理解,下面以数据处理装置200结合具体的函数和输入数据,阐述数据处理的过程。
提供用于拟合的函数为ex,设定特定拟合区间为[-8,8],该特定拟合区间被划分为多个子区间,每个子区间对应一组拟合参数。请参见图3,为本实施例提供的部分拟合参数。
提供一个IEEE-754浮点数8作为输入数据,其有效数字为1,指数为3,符号为正,可表示为1*23(以二进制进行表示)。
判断单元210接收输入数据8,判断其位于特定拟合区间[-8,8],将其发送至第一多路调制器270,第一多路调制器270将其发送至拟合运算电路250。
拟合运算电路250接收输入数据8,判断其位于特定拟合区间的子区间[6,8],调用拟合参数a、拟合参数b以及拟合参数c对其进行二项式拟合运算,得到拟合运算结果。其中,拟合参数a为1400,拟合参数b为-19400,拟合参数c为68800,进行二项式拟合运算的公式为ax2+bx+c,因此,可得拟合运算结果为3200。应当理解的是,为保证拟合运算的精度,拟合参数需经过多次迭代或调试。本实施例示为了示例性说明拟合运算过程,给出了用于演示的试算拟合参数,不应将其理解为本发明实际使用时最优情形下的的拟合参数。
乘法器260获取该拟合运算结果,并从第二多路调制器280获取固定数值(等于1),将二者相乘得到二者的乘积,作为最终运算结果。在本发明其它的实施方式中,还可以将拟合运算结果直接输出。
在本发明另一种实施方式中,提供用于拟合的函数ex,设定特定拟合区间为[-8,8),该特定拟合区间被划分为多个子区间,每个子区间对应一组拟合参数。请参见图4,为本实施例提供的部分拟合参数。
提供一个IEEE-754浮点数8作为输入数据,其有效数字为1,指数为3,符号为正,可表示为1*23(以二进制进行表示)。
判断单元210接收输入数据8,判断其不位于特定拟合区间[-8,8),将其发送至移位单元220。
移位单元220将输入数据8进行移位处理得到移位数据。具体的,可以设置移位数据的指数为2。首先,将输入数据的指数减去移位数据的指数得到差值为1,然后将输入数据的有效数字左移1位,得到移位数据的有效数字。因此,移位数据可表示为10*22,(以二进制进行表示)。
拆分单元230获取该移位数据,并拆分为拟合部和非拟合部。具体的,将移位数据的有效数字的小数部分(等于0)加1,作为拟合部的有效数字。因此,拟合部可表示为1*22(以二进制进行表示,相对于十进制的4)。将移位数据的有效数字的整数部分减1,作为非拟合部的有效数字。因此,非拟合部可表示为1*22(以二进制进行表示,相对于十进制的4)。
拆分单元230通过第一多路调制器270将拟合部发送至拟合运算电路250,拟合运算电路判断其位于特定拟合区间的子区间[4,6),调用拟合参数对其进行拟合运算,得到第一运算结果。其中,拟合参数a等于32,拟合参数b等于-202,拟合参数c等于350。进行二项式拟合运算的公式为ax2+bx+c,因此,可得第一运算结果为54。应当理解的是,为保证拟合运算的精度,拟合参数需经过多次迭代或调试。本实施例示出的拟合参数仅为了示例性的说明拟合运算过程,给出了用于演示的试算拟合参数,不应将其理解为本发明实际使用时最优情形下的的拟合参数。
拆分单元230还将非拟合部发送至函数值映射电路240,函数值映射电路240以非拟合部为索引查找映射表,得到对应的第二运算结果为54.6。请参见图5,是本发明实施例提供的一种映射表。该映射表中的非拟合部构成一个等差数列,首项为0、末项为80且公差为4。在其它一些实施方式中,映射表可以省略若干组数据,也可以增加若干组数据。
第二多路调制器280获取该第二运算结果并将其发送至乘法器260,乘法器260还获取上述第一运算结果,并将二者相乘得到乘积为2948.4作为最终运算结果。
在本发明另一种实施例中,提供用于拟合的函数为2x,设定特定拟合区间为(-2,-1)U(1,2)。该特定拟合区间被划分为多个子区间,每个子区间对应一组拟合参数。请参见图6,为本实施例提供的部分拟合参数。
提供输入数据等于-4.5,其有效数字为1.001,指数为2、符号为负,可表示为-1.001*22(以二进制进行表示)。
判断单元210接收到该输入数据,判断其位于特定拟合区间(-2,-1)U(1,2)外,将其发送至移位单元220。移位单元220对其进行移位处理,得到移位数据。具体的,可将移位数据的指数设置为0。首先,将输入数据的指数减去移位数据的指数得到差值为2,然后将输入数据的有效数字左移2位作为移位数据的有效数字。因此,移位数据可表示为-100.1*20(以二进制进行表示)。
拆分单元230获取该移位数据,将其拆分成拟合部和非拟合部。具体的,将移位数据的有效数字的小数部分加1作为拟合部,因此,拟合部可表示为-1.1*20(以二进制进行表示,相当于十进制的-1.5)。将移位数据的有效数字的整数部分减1作为非拟合部,因此,非拟合部可表示为-11*20(以二进制进行表示,相当于十进制的-3)。
拟合运算电路250通过第一多路调制器270获取上述拟合部,并判断其位于特定拟合区间的子区间[-1.5,-1)内,调用拟合参数对其进行拟合运算,得到第一运算结果。其中,拟合参数a等于0.2,拟合参数b等于0.5,拟合参数c等于0.7,进行二项式拟合运算的公式为ax2+bx+c,因此,可得第一运算结果为0.4。应当理解的是,为保证拟合运算的精度,拟合参数需经过多次迭代或调试。本实施例示出的拟合参数仅为了示例性的说明拟合运算过程,给出了用于演示的试算拟合参数,不应将其理解为本发明实际使用时最优情形下的的拟合参数。
函数值映射电路240接收上述非拟合部,并以该非拟合部为索引查找映射表,最终得到与非拟合部对应第二运算结果等于0.125。映射表存储的非拟合部及其对应的第二运算结果的对应关系请参见图7。该映射表中的非拟合部构成一个等差数列,首项为-1、末项为-86且公差为-1。在其它一些实施方式中,映射表可以省略若干组数据,也可以增加若干组数据。
乘法器260从拟合运算电路250中获取第一运算结果,并通过第二多路调制器280从函数值映射电路240中获取第二运算结果。乘法器260将获取的第一运算结果和第二运算结果相乘,将二者的乘积作为最终运算结果,最终运算结果等于0.05。
显而易见的,移位数据的指数并不局限于上述示出的2或0,而是可以根据实际实施进行调整。类似的,特定拟合区间的选择并不局限于上述示出的情形,而是可以根据移位数据的指数进行确定,确定特定拟合区间的方式已在上文中详细描述,此处不再赘述。进行拟合的函数也不仅限于上述实施例所示出的ex或2x。在其它一些实施方式中,进行拟合的函数可以为任意指数函数。
上述拟合参数表中示出的拟合参数和子区间的划分仅为示例性的数据,而不能将其理解成本发明对拟合参数或各个拟合子区间的具体限定。拟合参数或子区间的范围,可根据对于拟合精度的需求进行调整。类似的,映射表中的非拟合部和第二运算结果也为示例性的数据。
请参见图8,是本发明实施例提供的一种数据处理设备800的结构示意图。如图8所示的数据处理设备800包括一个或多个处理器810、通信接口820和存储器830。处理器810、通信接口820和存储器830可通过总线方式连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线840连接为例。其中,该存储器830用于程序代码,该处理器810具有前述实施例中揭示的数据处理装置,用于执行该存储器830存储的程序代码,该程序代码被处理器810执行时,实现上述实施例所揭示的数据处理方法的步骤。
应当理解,在本发明实施例中,所称处理器810可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口820可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块或装置设备进行通信。例如,本申请实施例中通信接口820具体可用于接收用户输入的输入数据;或者接收外部设备的数据等。
存储器830可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器还可以包括上述种类的存储器的组合。
需要说明的,图8仅仅是本发明实施例的一种可能的实现方式,实际应用中,数据处理设备还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述方法实施例中的相关阐述,这里不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及实施步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个数据处理设备中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据处理方法,应用于神经网络,提供乘法器、拟合运算电路和函数值映射电路,所述拟合运算电路用于调用拟合参数对数据进行拟合运算,所述函数值映射电路用于根据索引匹配对应的数值;提供特定函数定义域内的至少一个特定拟合区间,所述特定拟合区间对应至少一组拟合参数;提供输入数据x,所述输入数据x为标准化的浮点数,所述输入数据x包括有效数字、指数和符号,其特征在于,所述拟合运算电路仅处理所述特定拟合区间内的数据;
所述数据处理方法包括以下步骤:
步骤S10:获取所述输入数据x,并根据所述输入数据x的有效数字、指数和符号判断所述输入数据x是否位于所述特定拟合区间;
若所述输入数据x位于所述特定拟合区间内,使用所述拟合运算电路对所述输入数据x进行拟合运算得到拟合运算结果,并基于所述拟合运算结果得到最终运算结果;
若所述输入数据x位于所述特定拟合区间外,则跳过直接调用所述拟合运算电路处理所述输入数据x的步骤,直接执行步骤S20;
步骤S20:对所述输入数据x进行移位处理,得到移位数据x’;所述移位处理包括,获取所述移位数据x’的指数t,t为整数,然后计算所述输入数据x的指数与所述指数t的差值;之后基于所述差值对所述输入数据x的有效数字进行移位,得到所述移位数据x’的有效数字;
步骤S30:基于所述移位数据x’获取拟合部x1和非拟合部x2,所述拟合部x1与所述非拟合部x2的和等于所述移位数据x’;其中,所述拟合部x1的有效数字等于所述移位数据x’的有效数字的小数部分加上整数r,所述拟合部x1位于所述特定拟合区间内;所述非拟合部x2的有效数字等于所述移位数据x’的有效数字的整数部分减去整数r;
步骤S40:使用所述拟合运算电路对所述拟合部x1进行拟合运算,得到第一运算结果f(x1);
使用所述函数值映射电路以所述非拟合部x2为索引查找映射表,获取第二运算结果f(x2);所述映射表包括所述非拟合部x2以及和所述非拟合部x2对应的所述第二运算结果f(x2);
步骤S50:使用所述乘法器接收所述第一运算结果f(x1)和所述第二运算结果f(x2)进行乘法运算得到最终运算结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述特定拟合区间包括[-2t+n,2t +m],n和m均为正整数。
3.根据权利要求2所述的数据处理方法,其特征在于,所述特定拟合区间包括第一拟合区间和第二拟合区间,所述第一拟合区间包括[-2t+n,-2t-p],所述第二拟合区间包括[2t-q,2t+m],p和q均为非负整数。
4.根据权利要求3所述的数据处理方法,其特征在于,m和n均等于1,p和q均等于0。
5.根据权利要求1所述的数据处理方法,其特征在于,所述映射表中的所述非拟合部x2包括至少一个等差数列,所述等差数列的公差等于2t
6.一种数据处理装置,提供特定函数定义域内的至少一个特定拟合区间,所述特定拟合区间对应至少一组拟合参数;提供输入数据x,所述输入数据x为标准化的浮点数,所述输入数据x包括有效数字、指数和符号,其特征在于,所述数据处理装置包括:
判断单元,所述判断单元用于根据所述输入数据x的有效数字、指数和符号判断所述输入数据x是否位于所述特定拟合区间;
移位单元,所述移位单元与所述判断单元相连,所述移位单元用于获取位于所述特定拟合区间外的所述输入数据x,并对其进行移位处理,得到移位数据x’;
拆分单元,所述拆分单元与所述移位单元相连,所述拆分单元用于获取所述移位数据x’,并将所述移位数据x’拆分为拟合部x1和非拟合部x2,所述拟合部x1与所述非拟合部x2的和等于所述移位数据x’;
函数值映射电路,所述函数值映射电路与所述拆分单元相连,用于获取所述非拟合部x2,并以所述非拟合部x2为索引查找映射表,最终得到与所述非拟合部x2对应的第二运算结果f(x2);所述映射表包括所述非拟合部x2以及和所述非拟合部x2对应的所述第二运算结果f(x2);
拟合运算电路,所述拟合运算电路用于接收位于所述特定拟合区间内的输入数据x,并调用所述拟合参数对其进行拟合运算得到拟合运算结果;所述拟合运算电路还用于接收所述拟合部x1,并调用所述拟合参数对所述拟合部x1进行拟合运算得到第一运算结果f(x1);
乘法器,所述乘法器与所述拟合运算电路相连;所述乘法器用于接收所述拟合运算结果以及固定数值,所述固定数值等于1,并将所述拟合运算结果和所述固定数值相乘;所述乘法器还用于接收所述第一运算结果f(x1)和所述第二运算结果f(x2),并将所述第一运算结果f(x1)和所述第二运算结果f(x2)相乘。
7.根据权利要求6所述的数据处理装置,其特征在于,所述数据处理装置还包括第一多路调制器,所述第一多路调制器包括输出端和至少两个输入端,所述第一多路调制器的其中一个输入端与所述判断单元相连,所述第一多路调制器的另一输入端与所述拆分单元相连,所述第一多路调制器的输出端与所述拟合运算电路相连;所述第一多路调制器用于通过其输入端获取所述拟合部x1和/或位于所述特定拟合区间内的所述输入数据x,并择一发送至所述拟合运算电路。
8.根据权利要求6所述的数据处理装置,其特征在于,所述数据处理装置还包括第二多路调制器,所述第二多路调制器包括输出端和至少两个输入端,所述第二多路调制器的输入端与所述函数值映射电路相连,所述第二多路调制器的另一输入端接收所述固定数值,所述第二多路调制器的输出端与所述乘法器相连,所述第二多路调制器用于通过其输入端获取所述第二运算结果f(x2)和/或所述固定数值,并择一发送至所述乘法器。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码被处理器执行时,实现如权利要求1至5任一项所述的数据处理方法的步骤。
10.一种处理器,其特征在于,所述处理器包括如权利要求6至8任一项所述的数据处理装置。
CN202010000224.8A 2020-01-02 2020-01-02 一种数据处理方法、装置、处理器及计算机可读存储介质 Active CN111191779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010000224.8A CN111191779B (zh) 2020-01-02 2020-01-02 一种数据处理方法、装置、处理器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010000224.8A CN111191779B (zh) 2020-01-02 2020-01-02 一种数据处理方法、装置、处理器及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111191779A CN111191779A (zh) 2020-05-22
CN111191779B true CN111191779B (zh) 2023-05-30

Family

ID=70708140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010000224.8A Active CN111191779B (zh) 2020-01-02 2020-01-02 一种数据处理方法、装置、处理器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111191779B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115469829B (zh) * 2022-10-28 2023-07-04 摩尔线程智能科技(北京)有限责任公司 运算装置和基于运算电路的指数运算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247992A (zh) * 2014-12-30 2017-10-13 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
CN108154224A (zh) * 2018-01-17 2018-06-12 北京中星微电子有限公司 用于数据处理的方法、装置和非暂时性计算机可读介质
CN108898216A (zh) * 2018-05-04 2018-11-27 中国科学院计算技术研究所 应用于神经网络的激活处理装置
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687762B2 (en) * 2018-02-27 2023-06-27 Stmicroelectronics S.R.L. Acceleration unit for a deep learning engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247992A (zh) * 2014-12-30 2017-10-13 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
CN108154224A (zh) * 2018-01-17 2018-06-12 北京中星微电子有限公司 用于数据处理的方法、装置和非暂时性计算机可读介质
CN108898216A (zh) * 2018-05-04 2018-11-27 中国科学院计算技术研究所 应用于神经网络的激活处理装置
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品

Also Published As

Publication number Publication date
CN111191779A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
US20210349692A1 (en) Multiplier and multiplication method
US6601077B1 (en) DSP unit for multi-level global accumulation
CN106708468B (zh) 一种除法运算装置
US10684825B2 (en) Compressing like magnitude partial products in multiply accumulation
CN110796247B (zh) 一种数据处理方法、装置、处理器及计算机可读存储介质
Rao et al. FPGA implementation of complex multiplier using minimum delay Vedic real multiplier architecture
Hormigo et al. Measuring improvement when using HUB formats to implement floating-point systems under round-to-nearest
CN111191779B (zh) 一种数据处理方法、装置、处理器及计算机可读存储介质
Kumar et al. New algorithm for signed integer comparison in $\{2^{n+ k}, 2^{n}-1, 2^{n}+ 1, 2^{n\pm 1}-1\} $ and its efficient hardware implementation
CN111399803A (zh) 除法运算方法、装置、存储介质及电子设备
CN111191766B (zh) 一种数据处理方法、装置、处理器及计算机可读存储介质
JPH09325955A (ja) 二乗和の平方根演算回路
Matutino et al. An efficient scalable RNS architecture for large dynamic ranges
CN113672196B (zh) 一种基于单数字信号处理单元的双乘法计算装置和方法
Teja Design of radix-8 booth multiplier using koggestone adder for high speed Arithmetic applications
Kumar et al. Complex multiplier: implementation using efficient algorithms for signal processing application
CN113805846A (zh) 取模运算方法、电路、电子设备和计算机可读存储介质
CN109710308B (zh) 任务的处理方法、装置和***
CN111142840A (zh) 基于fpga的数据计算方法和装置
Kumar et al. Fast Approximate Matrix Multiplier based on Dadda Reduction and Carry Save Ahead Adder
RU2591009C1 (ru) Способ и устройство размещения групп чисел в однородных блоках цифрового регистра
US20240118866A1 (en) Shift array circuit and arithmetic circuit including the shift array circuit
RU2751802C1 (ru) Умножитель по модулю
CN116263875A (zh) 一种卷积处理方法、***以及终端设备
Patankar et al. Divider Implementation Based on USP-Awadhoot Division Algorithm For Area Optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210209

Address after: 311201 No. 602-11, complex building, 1099 Qingxi 2nd Road, Hezhuang street, Qiantang New District, Hangzhou City, Zhejiang Province

Applicant after: Zhonghao Xinying (Hangzhou) Technology Co.,Ltd.

Address before: 518057 5-15, block B, building 10, science and technology ecological park, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Xinying Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant