CN112132273B - 计算装置、处理器、电子设备和计算方法 - Google Patents
计算装置、处理器、电子设备和计算方法 Download PDFInfo
- Publication number
- CN112132273B CN112132273B CN202010999529.4A CN202010999529A CN112132273B CN 112132273 B CN112132273 B CN 112132273B CN 202010999529 A CN202010999529 A CN 202010999529A CN 112132273 B CN112132273 B CN 112132273B
- Authority
- CN
- China
- Prior art keywords
- unit
- computing
- calculation
- binary
- value
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供了一种计算装置、处理器、电子设备和计算方法,其中,计算装置包括:逻辑运算单元、匹配单元和存储单元;所述匹配单元将接收的三值形式的计算元素匹配为二值形式的计算元素输出给所述逻辑运算单元;所述逻辑运算单元包括与或非门运算单元,所述与或非门运算单元对接收的二值形式的计算元素执行与或非逻辑运算,获得二值形式的计算结果,其中,所述计算元素包括特征值和对应的权重值;所述存储单元将完成运算的所述二值形式的计算结果转换为三值形式的计算结果并存储。本发明可以实现同时处理二值神经网络和三值神经网路。
Description
技术领域
本发明涉及神经网络技术,尤其是一种计算装置、处理器、电子设备和计算方法。
背景技术
深度学习技术在近几年得到了飞速发展。深度神经网络,尤其是卷积神经网络,在图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛的应用。
深度神经网络是一种应用于深度学习的运算模型,在深度神经网络中包含大量的数据节点,每个数据节点与其他数据节点相连,各个数据节点之间的连接关系用权重表示。伴随神经网络复杂度的不断提高,神经网络技术在实际应用过程中存在占用资源多、运算速度慢、能量消耗大等问题也逐渐凸显,因此神经网络技术在嵌入式设备或低开销数据中心等领域应用时存在严重的能效问题和运算速度瓶颈。针对这些问题,人们提出一种二值神经网络和三值经网络,通过减少数据位宽的来降低参数的容量,提高网络的运算速度。
然而,现有的二值神经网络处理器和三值神经网络处理器只能运算单独的一种神经网络,可扩展性较差。
发明内容
本发明实施例所要解决的一个技术问题是:提供计算装置、处理器、电子设备和计算方法,以通过复用大多部分计算单元,实现同时处理二值神经网络和三值神经网路。
根据本发明的第一方面,提供了一种计算装置,包括逻辑运算单元、匹配单元和存储单元;所述匹配单元将接收的三值形式的计算元素匹配为二值形式的计算元素输出给所述逻辑运算单元;所述逻辑运算单元包括与或非门运算单元,所述与或非门运算单元对接收的二值形式的计算元素执行与或非逻辑运算,获得二值形式的计算结果,其中,所述计算元素包括特征值和对应的权重值;所述存储单元将完成运算的所述二值形式的计算结果转换为三值形式的计算结果并存储。
在一个实施例中,所述匹配单元包括:
第一匹配单元,用于将接收的三值形式的计算元素中的特征值匹配为二值形式的计算元素中的特征值输出给所述逻辑运算单元;
第二匹配单元,用于将接收的三值形式的计算元素中的权重值匹配为二值形式的计算元素中的权重值输出给所述逻辑运算单元。
在一个实施例中,所述第一匹配单元和/或所述第二匹配单元,
在一个实施例中,所述第一匹配单元和/或所述第二匹配单元,包括:
比较器,用于对接收的三值形式的计算元素中的数据位进行判断,保留数据位非零的三值形式的计算元素中的符号位;
反相器,用于对所述保留的三值形式的计算元素中的符号位执行取反操作,得到与其匹配的二值形式的计算元素输出给所述逻辑运算单元。
在一个实施例中,所述与或非门运算单元为多个,多个所述与或非门运算单元并联连接;
所述计算装置还包括缓存单元,所述缓存单元保存接收的所述二值形式的计算元素,并在保存的所述二值形式的计算元素的数量与所述逻辑运算单元中并联的与或非门运算单元的数量相同时,将保存的所述二值形式的计算元素输出给所述逻辑运算单元执行相关运算。
在一个实施例中,还包括加法器,用于对接收的所述逻辑运算单元的运算结果执行加法运算。
在一个实施例中,还包括累加器,用于对接收的所述加法器的运算结果执行累加操作。
根据本发明的第二方面,提供了一种处理器,其特征在于,包括:
存储单元,用于存储特征值、权重值和指令;
控制单元,用于获取保存在所述存储单元的指令并发出控制信号;
计算单元,包括上述任一实施例所述的计算装置。
根据本发明的第三方面,提供了一种电子设备,包括上述实施例所述的处理器。
根据本发明的第四方面,提供了一种计算方法,包括:
读取并解析下一步需要执行的指令;
根据解析指令得到的存储地址从存储单元中获取计算元素,判断所述计算元素是二值形式的计算元素还是三值形式的计算元素;
响应于所述计算元素为二值形式的计算元素,将所述二值形式的计算元素载入至计算单元中进行逻辑运算,获得二值形式的计算结果;
响应于所述计算元素为三值形式的计算元素,将所述三值形式的计算元素载入至计算单元中进行匹配处理,并基于匹配结果执行逻辑运算,获得二值形式的计算结果,将所述二值形式的计算结果转化为三值形式的计算结果;
将所述二值形式的计算结果和/或所述三值形式的计算结果输出至存储单元中进行存储。
与现有技术相比,本发明的优点在于:通过特有电路设计,可以通过复用大部分计算单元,实现同时处理二值神经网络和三值神经网络,可以提高神经网络计算装置及使用该计算装置的神经网络处理器的通用性和可扩展性,同时保证了神经网络计算装置及使用该计算装置的神经网络处理器的运算速度及效能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明一个实施例的计算装置的结构示意图;
图2为本发明另一个实施例的计算装置的结构示意图;
图3为本发明一个实施例的处理器的结构示意图;
图4为本发明一个实施例的匹配单元运算原理的示意图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在二值神经网络中,是采用1和-1二个值来表示神经网络中的权重值、神经网络的输入、输出数据和中间层的输入、输出数据。在传统的卷积神经网络的计算过程中,输入的特征图是通过与卷积核进行乘、加运算来完成卷积操作。在二值神经网络中,由于神经网络的输入数据和中间层的输入数据(可统称为特征值)与权重值只有1和-1二个值,输入的特征图与卷积核之间的卷积操作可以通过异或非(XNOR)逻辑来完成。
其中,当前输入的A和B均为-1时,输出的F为1;当前输入的A为-1,B为1时,输出的F为-1;当输入的A为1,B为-1时,输出的F为-1,当输入的A和B均为1时,输出的F为1。
在三值神经网络中,是采用1、0和-1三个值来表示神经网络中的权重值、神经网络的输入、输出数据和中间层的输入、输出数据。如果在二值神经网络运算时,采用单比特二进制数描述二值神经网络中被二值化的数据,即采用0表示-1,1表示1。在三值神经网络运算时,可以采用二比特二进制数来描述三值神经网络中被三值化的数据,即-1的二进制补码为11,1的二进制原码为01,0的二进制原码为00,其中,高位为符号位,低位为数据位。
从以上描述可知,三值神经网络和二值神经网络相比,只增加了数值0,由于数值0与任何数相乘的结果均为数值0,引入的数值0在参与卷积运算(乘、加运算)的过程中,对结果没有任何影响。根据这一特性,本发明实施例提出一种可以兼容二值神经网络计算和三值神经网络计算的计算装置。
本发明实施例提供的计算装置在进行二值运算时,权重值和激活值均采用单比特存储和参与运算,因此需要进行卷积操作的权重值和激活值直接接入至逻辑运算单元中进行乘法和后续加法操作;该计算单元在进行三值运算时,权重值和激活值采用两比特表示,一比特符号位,一比特数值,该计算装置首先将三值形式的权重值和激活值转化为二值形式,之后完成二值运算,获得二值结果后,再将二值结果转化为三值结果进行保存。
图1为本发明一个实施例的计算装置的结构示意图。如图1所示,本发明实施例的计算装置包括:逻辑运算单元110、匹配单元120和存储单元160,
匹配单元120将接收的三值形式的计算元素匹配为二值形式的计算元素输出给逻辑运算单元110;
逻辑运算单120包括与或非门运算单元121,与或非门运算单元121对接收的二值形式的计算元素执行与或非逻辑运算,获得二值形式的计算结果,其中,计算元素包括特征值和对应的权重值;
存储单元160将完成运算的二值形式的计算结果转换为三值形式的计算结果并存储。
本发明实施例提供的计算装置,在进行二值运算时,权重值和特征值均采用单比特存储和参与运算,因此可以将需要进行卷积操作的权重值和特征值直接输入逻辑运算单120的与或非门运算单元121进行乘法运算。在进行三值运算时,权重值和激活值均采用两比特存储和参与运算,其中一比特为符号位,一比特为数据位,可以首先将需要进行卷积操作的权重值和特征值输入匹配单元110中,将两比特的权重值和特征值匹配为单比特的权重值和特征值,然后将匹配后的权重值和特征值输入逻辑运算单120的与或非门运算单元121进行乘法运算,实现卷积操作的乘法运算。
由于二值神经网络具有单比特存储的特点,因此运行速度快、运行功耗低,但是模型计算精度较低,应用范围较窄,而三值神经网络通过在参数中增加零值,可以有效提高模型计算精度。而本发明实施例提供的面向二值和三值神经网络的计算装置,通过特有电路设计,可以通过复用大部分计算单元,实现同时处理二值神经网络和三值神经网络,可以提高神经网络计算装置的通用性和可扩展性,同时保证了神经网络计算装置的运算速度及效能。
图2为本发明发另一个实施例的计算装置的结构示意图。如图2所示,本发明实施例的匹配单元110包括:第一匹配单元111和第二匹配单元112,其中,第一匹配单元111用于将接收的三值形式的计算元素中的特征值匹配为二值形式的计算元素中的特征值输出给逻辑运算单元120,第二匹配单元112用于将接收的三值形式的计算元素中的权重值匹配为二值形式的计算元素中的权重值输出给逻辑运算单元120。在本发明实施例中,第一匹配单元111和第二匹配单元112可以采用相同的电路结构来实现,也可以采用不同的电路结构来实现,本发明实施例对此不作限定。本发明实施例的计算装置通过设置二个匹配单元分别对权重值和特征值进行匹配,可以简化匹配单元的电路结构,同时实现对三值化的权重值和特征值的二值化匹配,并且便于对匹配单元进行控制和管理。
在本发明的一个实施例中,第一匹配单元和/或第二匹配单元,用于基于三值形式的计算元素中的数据位的取值情况,从三值形式的计算元素中的符号位确定与其匹配的二值形式的计算元素并输出给逻辑运算单元。
在三值形式下的计算元素包括三个逻辑值:1、0、-1,其中,1表示为01,0表示为00,-1表示为11,高位为符号位,低位为数据位;三值与二值的区别在于增加了0值,而通过上述每个值的表示形式可知,三值中可在数据位仅0值对应“0”,因此,可通过数据位将0值从计算元素中区分出来,但通过数据位无法区分1和-1,因此,本实施例通过符号位对1和-1进行表达,实现了三值形式的计算元素到二值形式的计算元素的转换。
可选地,第一匹配单元111和第二匹配单元112采用相同的电路结构来实现,如图2所示,第一匹配单元111和第二匹配单元112均包括:比较器113和反相器114,其中,比较器113用于对接收的三值形式的计算元素中的数据位进行判断,并保留数据位非零的三值形式的计算元素中的符号位,反相器114用于对保留的三值形式的计算元素中的符号位执行取反操作,得到与其匹配的二值形式的计算元素输出给逻辑运算单元120。
本发明实施例的匹配单元,通过将特征值和权重值的数据位先输入匹配单元中的比较器113进行判断,若该位为零,则忽略该权重值(或特征值),同时忽略与该权重值(或特征值)对应的特征值(或权重值),通过这样的操作可以忽略卷积操作中数值0的计算,对数据规模进行压缩;然后将保留的权重值(或特征值),即此时保留下的权重值和特征值均为+1和-1,的符号位输入至反相器114进行取反,将取反后的符号位输入至逻辑运算单元120进行后续的运算。由前文的描述可知,在三值神经网络运算过程中,+1表示为01,-1表示为11,两者的差异仅为符号位不同,通过对符号位取反,可以使取反后的符号位与二值神经网络的表示方式相匹配,即+1表示为1,-1表示为0。
图4为本发明一个实施例的匹配单元运算原理的示意图。如图4所示,其中显示了第一匹配单元111和第二匹配单元112处理的8组计算元素,即8组特征值和对应的权重值,其中对于第1至第4组计算元素、第6和第8组计算元素,由于特征值和权重值至少其中一个的数据位包含零,故忽略该组计算元素,由于第5组和第7组计算元素的特征值和权重值的数据位均不包含零,故保留第5组和第7组计算元素。
如图2所示,在本发明的一个实施例中,逻辑运算单元120包括多个与或非门运算单元121,多个与或非门运算单元121并联连接。计算装置还包括缓存单元130,缓存单元130保存接收的二值形式的计算元素,并在保存的二值形式的计算元素的数量与逻辑运算单元120中并联的与或非门运算单元121的数量相同时,将保存的二值形式的计算元素输出给逻辑运算单元120执行相关运算。
本发明实施例通过在逻辑运算单元120中设置多个并联的与或非门运算单元121,在匹配单元110和逻辑运算单元120之间设置缓存单元130,可以通过缓存单元130保存逻辑运算单元120中所有的与或非门运算单元121在一个周期内可以处理的数据,在当缓存单元130中保存的数据满足要求时,将缓存单元130中的数据输入至逻辑运算单元120中进行运算,可以提高逻辑运算单元120单次运算时与或非门运算单元121的利用率。
在本发明的一个实施例中,如图2所示,缓存单元130可以包括第一缓存单元131和第二缓存单元132,其中,第一缓存单元131用于保存接收的二值形式的计算元素中的特征值,第二缓存单元132用于保存接收的二值形式的计算元素中的权重值。本发明实施例的计算装置通过设置二个缓存单元分别对权重值和特征值进行缓存,可以简化缓存单元的电路结构,同时实现对二值化的权重值和特征值的缓存,并且便于对缓存单元进行控制和管理。
如图2所示,在本发明的一个实施例中,计算装置还包括加法器140,通过加法器140用于对接收的逻辑运算单元120的运算结果执行加法运算,可以对逻辑运算单元120单次运算的结果进行相加,实现卷积操作的加法运算。
如图2所示,在本发明的一个实施例中,计算装置还包括累加器150,通过累加器150用于对接收的加法器140的运算结果执行累加,可以对逻辑运算单元120多次运算的结果进行相加,实现卷积操作的加法运算。
本发明实施例还提供了一种处理器,该处理器是基于存储-控制-计算的结构设计。该存储结构用于存储参与计算的数据、神经网络权重及处理器操作指令;该控制结构用于解析操作指令,生成控制信号,该信号用于控制处理器内数据的调度和存储以及神经网络的计算过程;该计算结构用于参与该处理器中的神经网络的计算操作,保证被压缩的数据在计算单元中能够正确地与相应权重进行计算。该计算结构、该控制结构和该存储结构之间可以相互通信。
其中,存储结构用于存储神经网络处理器外部传来的数据(例如:原始特征图数据)或用于存储处理过程中产生的数据,包括处理过程中产生的处理结果或中间结果,这些结果可以来自于神经网络处理器内部的运算部件或其它外部运算部件。此外,存储结构还可以用于存储参与计算的指令信息(例如:载入特征图至计算单元、计算开始、计算结束、或将计算结果存储至存储单元等)。
图3为本发明一个实施例的处理器的结构示意图。如图3所示,本发明实施例的处理器包括:输入数据存储单元301、权重存储单元302、指令存储单元303、输出数据存储单元304、控制单元305和计算单元306。其中,
输入数据存储单元301用于存储参与计算的数据,该数据包括原始特征图数据和参与中间层计算的特征图数据;权重存储单元302用于存储已经训练好的神经网络权重;指令存储单元303存储参与计算的指令信息,指令可被控制单元305解析为控制流来调度神经网络的计算;输出数据存储单元304存储计算得到的神经元响应值。通过对存储结构进行细分,可以将数据类型基本一致的数据集中存储,以便于选择合适的存储介质并可以简化数据的寻址等操作。
控制单元305用于获取保存在指令存储单元302中的指令并进行解析,根据解析得到的控制信号控制计算单元306进行神经网络的相关运算。控制单元305完成指令译码、数据调度、过程控制等工作。
计算单元306包括上述任一实施例的计算装置,用于根据控制单元305获得的控制信号来执行相应的神经网络计算,计算单元306与各存储单元相连,以获得数据进行计算并将计算结果写入到存储单元。在该实施例中,计算单元306是该处理器的核心运算部件,可完成神经网络算法中的大部分运算,如:卷积操作、池化操作等。例如,卷积操作的具体过程是:将一个K*K大小的二维权重卷积核对特征图进行扫描,在扫描过程中权重值与特征图内对应的特征值求内积,并将所有内积值求和,得到一个输出层特征。当每个卷积层具有N个特征图层时,会有N个K*K大小的卷积核与该卷积层内特征图进行卷积操作,N个内积值求和得到一个输出层特征。
本发明实施例还提供了一种电子设备,设有上述实施例的处理器。
结合图3本发明还提供了一种基于上述实施例的处理器的计算方法,其包括:
步骤S1,读取并解析下一步需要执行的指令;
可选地,可通过控制单元对指令存储单元进行寻址,读取并解析下一步需要执行的指令。
步骤S2,根据解析指令得到的存储地址从输入数据存储单元中获取计算元素,判断计算元素是二值形式的计算元素还是三值形式的计算元素,若计算元素是二值形式的计算元素,进入步骤S3,若计算元素是三值形式的计算元素,进入步骤S4;
步骤S3,将二值形式的计算元素载入至计算单元中进行逻辑运算,获得二值形式的计算结果,并进入步骤S5;
步骤S4,三值形式的计算元素载入至计算单元中进行匹配处理,并基于匹配结果执行逻辑运算,获得二值形式的计算结果,将所述二值形式的计算结果转化为三值形式的计算结果;
步骤S5,将二值形式的计算结果和/或三值形式的计算结果输出至输出数据存储单元中进行存储。
在本发明的实施例中,比较器、乘法器和累加器等均可采用通用或专用器件实现。存储器和缓存模块可以是静态随机存储器(SRAM)、动态随机存储器(DRAM)、寄存器堆等常见存储介质,也可以是3D存储器件等新型的存储类型。
本发明提供的神经网络处理器可以是针对神经网络计算而设计的一个微处理器,也可以仅是微处理器的一部分,该神经网络处理器可应用于文字处理、语音识别与处理、多国语言翻译、图像识别、生物特征识到、智能控制等领域,可用作智能计算处理器、机器人、移动设备、也可用于构建大规模神经网络计算超级计算机。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种计算装置,其特征在于,包括逻辑运算单元、匹配单元和存储单元;
所述匹配单元将接收的三值形式的计算元素匹配为二值形式的计算元素输出给所述逻辑运算单元;
所述逻辑运算单元包括与或非门运算单元,所述与或非门运算单元对接收的二值形式的计算元素执行与或非逻辑运算,获得二值形式的计算结果,其中,所述计算元素包括特征值和对应的权重值;
所述存储单元将完成运算的所述二值形式的计算结果转换为三值形式的计算结果并存储。
2.根据权利要求1所述的计算装置,其特征在于,所述匹配单元包括:
第一匹配单元,用于将接收的三值形式的计算元素中的特征值匹配为二值形式的计算元素中的特征值输出给所述逻辑运算单元;
第二匹配单元,用于将接收的三值形式的计算元素中的权重值匹配为二值形式的计算元素中的权重值输出给所述逻辑运算单元。
3.根据权利要求2所述的计算装置,其特征在于,所述第一匹配单元和/或所述第二匹配单元,用于基于所述三值形式的计算元素中的数据位的取值情况,从所述三值形式的计算元素中的符号位确定与其匹配的二值形式的计算元素并输出给所述逻辑运算单元。
4.根据权利要求2或3所述的计算装置,其特征在于,所述第一匹配单元和/或所述第二匹配单元,包括:
比较器,用于对接收的三值形式的计算元素中的数据位进行判断,保留数据位非零的三值形式的计算元素中的符号位;
反相器,用于对所述保留的三值形式的计算元素中的符号位执行取反操作,得到与其匹配的二值形式的计算元素输出给所述逻辑运算单元。
5.根据权利要求1或2所述的计算装置,其特征在于,所述与或非门运算单元为多个,多个所述与或非门运算单元并联连接;
所述计算装置还包括缓存单元,所述缓存单元保存接收的所述二值形式的计算元素,并在保存的所述二值形式的计算元素的数量与所述逻辑运算单元中并联的与或非门运算单元的数量相同时,将保存的所述二值形式的计算元素输出给所述逻辑运算单元执行相关运算。
6.根据权利要求5所述的计算装置,其特征在于,还包括加法器,用于对接收的所述逻辑运算单元的运算结果执行加法运算。
7.根据权利要求6所述的计算装置,其特征在于,还包括累加器,用于对接收的所述加法器的运算结果执行累加操作。
8.一种处理器,其特征在于,包括:
存储单元,用于存储特征值、权重值和指令;
控制单元,用于获取保存在所述存储单元的指令并发出控制信号;
计算单元,包括权利要求1至7任意一项所述的计算装置。
9.一种电子设备,其特征在于,包括权利要求8所述的处理器。
10.一种计算方法,其特征在于,包括:
读取并解析下一步需要执行的指令;
根据解析指令得到的存储地址从存储单元中获取计算元素,判断所述计算元素是二值形式的计算元素还是三值形式的计算元素;
响应于所述计算元素为二值形式的计算元素,将所述二值形式的计算元素载入至计算单元中进行逻辑运算,获得二值形式的计算结果;
响应于所述计算元素为三值形式的计算元素,将所述三值形式的计算元素载入至计算单元中进行匹配处理,并基于匹配结果执行逻辑运算,获得二值形式的计算结果,将所述二值形式的计算结果转化为三值形式的计算结果;
将所述二值形式的计算结果和/或所述三值形式的计算结果输出至存储单元中进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010999529.4A CN112132273B (zh) | 2020-09-22 | 2020-09-22 | 计算装置、处理器、电子设备和计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010999529.4A CN112132273B (zh) | 2020-09-22 | 2020-09-22 | 计算装置、处理器、电子设备和计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132273A CN112132273A (zh) | 2020-12-25 |
CN112132273B true CN112132273B (zh) | 2022-11-29 |
Family
ID=73842021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010999529.4A Active CN112132273B (zh) | 2020-09-22 | 2020-09-22 | 计算装置、处理器、电子设备和计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132273B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116136835B (zh) * | 2023-04-19 | 2023-07-18 | 中国人民解放军国防科技大学 | 一种三进二出数值获取方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256644A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
CN110751276A (zh) * | 2018-07-24 | 2020-02-04 | 闪迪技术有限公司 | 在nand存储器阵列中实现具有三值输入和二值权重的神经网络 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200057475A (ko) * | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 연산 회로를 포함하는 메모리 장치 및 그것을 포함하는 뉴럴 네트워크 시스템 |
-
2020
- 2020-09-22 CN CN202010999529.4A patent/CN112132273B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256644A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
CN110751276A (zh) * | 2018-07-24 | 2020-02-04 | 闪迪技术有限公司 | 在nand存储器阵列中实现具有三值输入和二值权重的神经网络 |
Non-Patent Citations (2)
Title |
---|
"基于ARM + FPGA平台的二值神经网络加速方法研究";孙孝辉;《计算机应用研究》;20181221(第3期);全文 * |
带反脉冲的脉冲神经膜系统实现对称三值逻辑与算术运算;彭献武等;《小型微型计算机系统》;20130415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112132273A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11551068B2 (en) | Processing system and method for binary weight convolutional neural network | |
CN110390385B (zh) | 一种基于bnrp的可配置并行通用卷积神经网络加速器 | |
CN107944545B (zh) | 应用于神经网络的计算方法及计算装置 | |
CN108427990B (zh) | 神经网络计算系统和方法 | |
CN109325591B (zh) | 面向Winograd卷积的神经网络处理器 | |
CN107256424B (zh) | 三值权重卷积网络处理系统及方法 | |
CN107729989B (zh) | 一种用于执行人工神经网络正向运算的装置及方法 | |
CN107341544B (zh) | 一种基于可分割阵列的可重构加速器及其实现方法 | |
CN107480789B (zh) | 一种深度学习模型的高效转换方法及装置 | |
CN107423816B (zh) | 一种多计算精度神经网络处理方法和系统 | |
CN111915001B (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
CN111767986A (zh) | 一种基于神经网络的运算方法及装置 | |
CN110728350A (zh) | 用于机器学习模型的量化 | |
CN113792621B (zh) | 一种基于fpga的目标检测加速器设计方法 | |
CN110991630A (zh) | 一种面向边缘计算的卷积神经网络处理器 | |
Shahshahani et al. | Memory optimization techniques for fpga based cnn implementations | |
CN112132273B (zh) | 计算装置、处理器、电子设备和计算方法 | |
CN117574970A (zh) | 用于大规模语言模型的推理加速方法、系统、终端及介质 | |
CN109697509B (zh) | 处理方法及装置、运算方法及装置 | |
WO2022047802A1 (en) | Processing-in-memory device and data processing method thereof | |
CN110298441B (zh) | 一种数据处理方法、电子装置及计算机可读存储介质 | |
CN112132272B (zh) | 神经网络的计算装置、处理器和电子设备 | |
CN109582911B (zh) | 用于实行卷积的计算装置及实行卷积的计算方法 | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
JP7033507B2 (ja) | ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム |
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 |