CN116151343B - 数据处理电路和电子设备 - Google Patents

数据处理电路和电子设备 Download PDF

Info

Publication number
CN116151343B
CN116151343B CN202310353252.1A CN202310353252A CN116151343B CN 116151343 B CN116151343 B CN 116151343B CN 202310353252 A CN202310353252 A CN 202310353252A CN 116151343 B CN116151343 B CN 116151343B
Authority
CN
China
Prior art keywords
memory
switch
sensor
neural network
data
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
CN202310353252.1A
Other languages
English (en)
Other versions
CN116151343A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310353252.1A priority Critical patent/CN116151343B/zh
Publication of CN116151343A publication Critical patent/CN116151343A/zh
Application granted granted Critical
Publication of CN116151343B publication Critical patent/CN116151343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Neurology (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种数据处理电路和电子设备,用于提高传感数据进行AI运算的处理速度并降低功耗。数据处理电路包括:存算一体处理器和算术运算单元;存算一体处理器包括多组存算阵列,存算阵列中的存算单元用于存储神经网络模型各层的网络参数;算术运算单元,用于实现神经网络模型的非线性运算;多组存算阵列,用于将来自传感器的传感数据与神经网络模型中各层的权重进行乘累加运算。

Description

数据处理电路和电子设备
技术领域
本申请涉及电子技术领域,尤其涉及一种数据处理电路和电子设备。
背景技术
电子鼻是模仿人体嗅觉感知器官而发明的一种气体或气味检测装置,在食品安全、环境监控、医疗健康等多个领域有重要的应用场景,正朝着小型化、可穿戴化的方向发展。随着基于深度神经网络的人工智能(artificial intelligence,AI)算法在电子鼻领域的应用,使得电子鼻的检测性能越来越好,但随着AI算法的复杂度越来越高,小型电子鼻的功耗和算力无法满足要求。
发明内容
本申请实施例提供一种数据处理电路和电子设备,用于提高传感数据进行AI运算的处理速度并降低功耗。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种数据处理电路,包括:存算一体处理器和算术运算单元;存算一体处理器包括多组存算阵列,存算阵列中的存算单元用于存储神经网络模型各层的网络参数;算术运算单元,用于实现神经网络模型的非线性运算;多组存算阵列,用于将来自传感器的传感数据与神经网络模型中各层的网络参数进行乘累加运算。
本申请实施例提供的数据处理电路,通过存算一体处理器来实现将来自传感器的传感数据与神经网络模型中各层的网络参数进行乘累加运算,通过算术运算单元实现神经网络模型的非线性运算。由于存算一体处理器的结构与神经网络模型高度适配,适用于神经网络模型的运算,可以减少数据在存储器与处理器之间来回搬运的时延并降低功耗,通过一次读取操作即可以完成海量的乘累加计算,所以可以提高传感数据进行AI运算的处理速度并降低功耗。
在一种可能的实施方式中,数据处理电路还包括多组模数转换器(analog todigital converter,ADC)和多组移位加法电路;每组存算阵列的多条位线分别耦合至一组模数转换器,一组模数转换器的输出端分别耦合一组移位加法电路。移位加法电路用于对存算阵列的运算结果进行移位后求和。
在一种可能的实施方式中,一组移位加法电路包括级联的多级移位加法器,每个移位加法器用于对第一输入端输入的数据进行移位后与第二输入端输入的数据相加并输出。
在一种可能的实施方式中,还包括处理器,处理器用于管理多级移位加法器中任一级移位加法器的输出结果发送给下一层的存算阵列。当存算阵列输入的数据的位数较少时,可以提高运算速度并降低功耗,但是会降低运算精度;当存算阵列输入的数据的位数较多时,会提高运算精度,但是会降低运算速度并升高功耗。因此,当上一层输出的运算结果的位数与下一层输入的数据的位数不一致时,需要适应地改变上一层输出的运算结果的位数,以满足不同的性能要求,从而灵活定制神经网络模型的各层。
在一种可能的实施方式中,处理器还用于控制数据在不同存算阵列之间的传输,从而实现灵活定制神经网络模型的结构。
在一种可能的实施方式中,存算单元为基于电荷的存储器或者阻变存储器,基于电荷的存储器包括静态随机存取存储器、动态随机存取存储器或闪存,阻变存储器包括电阻随机存取存储器、磁随机存储器、相变存储器或铁电随机存取存储器。本申请不限定存算单元的具体类型。
在一种可能的实施方式中,存算单元为电阻随机存取存储器,存算单元包括第一阻变元件、第二阻变元件、反相器、第一开关、第二开关、第三开关和电容;存算单元的字线耦合至串联的第一阻变元件、第二阻变元件的一端,字线还耦合至反相器;串联的第一阻变元件、第二阻变元件的另一端接地;第一开关的第一端用于输入预设电压,第一开关的第二端、第一阻变元件、第二阻变元件的耦合点耦合至反相器的输入端,反相器的输出端通过第二开关和第三开关耦合至位线;第二开关和第三开关的耦合点通过电容接地。该存算单元是电阻随机存取存储器(resistance random access memory,RRAM)存算单元,通过两个不同阻态的阻变元件,将之前单个阻变元件决定的模拟量转换为两个阻变元件决定的数字量,避免了模拟量的误差。
在一种可能的实施方式中,传感器为气体传感器,数据处理电路位于电子鼻中。本申请提供的数据处理电路可以应用于电子鼻中,有效解决了小型电子鼻在算力和功耗上的限制,进一步实现电子鼻小型化。
在一种可能的实施方式中,气体传感器为以下传感器的至少一项:微机电系统温湿度传感器、挥发性有机化合物传感器、甲醛传感器、烟雾传感器。
第二方面,提供了一种电子设备,包括传感器和如第一方面及其任一实施方式所述的数据处理电路,数据处理电路用于对传感器的传感数据进行检测。特别地,该电子设备为电子鼻,该电子鼻用于对气体类型的传感数据进行处理。
第二方面的技术效果参照第一方面及其任一实施方式的技术效果,在此不再重复。
附图说明
图1为本申请实施例提供的一种在线传感数据处理的架构示意图;
图2为本申请实施例提供的一种冯诺依曼架构的电子鼻的结构示意图;
图3为本申请实施例提供的一种神经网络模型的示意图;
图4为本申请实施例提供的一种存算一体处理器的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种数据处理电路的结构示意图;
图7为本申请实施例提供的一种将神经网络模型的网络参数映射到存算阵列的示意图;
图8为本申请实施例提供的一种移位加法电路的结构示意图;
图9为本申请实施例提供的一种闪存存算单元的结构示意图;
图10为本申请实施例提供的一种静态随机存取存储器(static random accessmemory,SRAM)存算单元的结构示意图;
图11为本申请实施例提供的一种RRAM存算单元的结构示意图;
图12为本申请实施例提供的另一种RRAM存算单元的结构示意图;
图13为本申请实施例提供的一种RRAM存算单元工作时序的示意图。
具体实施方式
首先对本申请涉及的一些概念进行描述。
本申请实施例涉及的术语“第一”、“第二”等仅用于区分同一类型特征的目的,不能理解为用于指示相对重要性、数量、顺序等。
本申请实施例涉及的术语“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例涉及的术语“耦合”、“连接”应做广义理解,例如,可以指物理上的直接连接,也可以指通过电子器件实现的间接连接,例如通过电阻、电感、电容或其他电子器件实现的连接。
电子鼻是模仿人体嗅觉感知器官而发明的一种气体或气味检测装置,在食品安全、环境监控、医疗健康等多个领域有重要的应用场景,正朝着小型化、可穿戴化的方向发展。随着基于深度神经网络的AI算法在电子鼻领域的应用,使得电子鼻的检测性能越来越好,但随着AI算法的复杂度越来越高,小型电子鼻的功耗和算力无法满足要求。
目前有两种电子鼻的传感数据处理方案:
一种方案是在线实现传感数据处理。如图1所示,即电子鼻11将传感数据通过网络传输给服务器12,服务器12处理完后再将运算结果传输给电子鼻11,该方式对数据传输速度要求高,降低了实时性。另外,业内主要是通过特殊设计的神经网络架构来减小算法复杂度,并通过专用芯片进行加速运算,这些专用芯片的成本很高,且只支持复杂度较小的算法(例如只有单层神经网络的感知机),只能提升计算速度而无法解决数据搬运的功耗和延时问题,因此无法应用于智能手表等可穿戴产品中。
另一种方案是在采用冯诺依曼架构的电子鼻本地实现传感数据处理。如图2所示,电子鼻20包括传感器21和数据处理电路22,数据处理电路22包括存储器221和乘加(multiply and accumulate,MAC)单元222,存储器221中存储神经网络的网络参数(例如权重、偏置),乘加单元222对来自传感器21的传感数据X以及来自存储器221的网络参数W进行乘加运算(例如X0*W0+X1*W1+……)得到运算结果Y。但是冯诺依曼架构受到功耗和算力限制,只能适用小型算法模型以实现简单的数据处理,无法适用气味检测模型等较大神经网络模型,降低了电子鼻性能。
本申请实施例提供的数据处理电路和电子设备,将存算一体处理器作为传感数据的深度学习神经网络模型的处理器,提高传感数据进行AI运算的处理速度并降低功耗,实现电子设备的小型化,可穿戴化。其中,该电子设备不仅可以为电子鼻,从而实现对气体类型的传感数据进行处理,该电子设备还可以为手持终端、手机、智能手表等,从而对其他类型的传感数据进行处理。
神经网络模型:如图3所示,神经网络模型按照数据的流动方向可以包括输入层、输出层和至少一个隐藏层,输出层一般为全连接层(fully connected layer,FC),隐藏层可以为卷积神经网络(convolutional neural network,CNN)的卷积层、长短期记忆(longshort term memory,LSTM)层或者这些层的组合等,从而实现不同的功能。神经网络模型可以将数据与网络参数进行线性运算,以及,通过激活函数来实现非线性运算。另外,为了简化神经网络模型,还会对线性运算输出的运算结果进行取最大值、最小值、平均值以及池化等操作。
神经网络模型中的线性运算可以用y=wx+b来表示,y表示输出,x表示输入,w表示权重,b表示偏置,其中,wx可以称为通用矩阵乘(general matrix multiplication,GEMM),神经网络的网络参数即包括权重w和偏置b。
一种常用的激活函数为修正线性单元(rectified linear units,ReLU)。激活函数作用就是向神经网络加入非线性因素,使得神经网络可以更好地解决较为复杂的问题。如果不采用激活函数而只进行线性变换,那么即使有再多层,也只相当于多个线性方程的组合,整个神经网络模型只相当于线性回归模型,解决复杂问题的能力有限。而通过激活函数能实现非线性变换,使得神经网络模型能够学习和执行更复杂的任务。
池化即空间池化,是CNN中用于提取特征的一种方法,通过对不同特征进行聚合统计处理以获得相对更低的维度,同时避免出现过拟合现象。池化可以在降低各个特征维度的同时保留大部分重要信息。
存算一体处理器和存算一体运算原理:存算一体处理器中的存算单元可以分为基于电荷的存储器以及阻变存储器。基于电荷的存储器包括传统的静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random accessmemory,DRAM)和闪存(Flash)(例如浮栅晶体管和电荷捕获器件),还包括新兴的铁电场效应晶体管(metal ferroelectric semiconductor FET,MFSFET)。阻变存储器包括电阻随机存取存储器(resistance random access memory,RRAM)、磁随机存储器(magnetic randommemory, MRAM)、相变存储器(phase change memory,PCM)、铁电随机存取存储器(ferroelectric random access memory,FeRAM)。
因此,神经网络模型的网络参数,可以通过存算一体处理器中存算单元的阻值或电荷数来表示。示例性的,如图4所示,存算一体处理器中存储神经网络模型的网络参数,存算一体处理器对来自传感器的传感数据X以及网络参数W进行乘累加运算得到运算结果Y,即相当于进行GEMM后求和。假设存算一体处理器中n行m列的存算单元中分别存储神经网络模型的网络参数(W11、W12……Wnm),存算阵列的字线(wordline,WL)用于输入向量[X1,X2…,Xn],根据欧姆定律和基尔霍夫定律,存算阵列的位线(bitline,BL)输出向量[X1,X2…,Xn]与网络参数经过乘累加后的结果[Y1,Y2…,Ym]。例如,Y1=X1*W11+X2*W21+……+Xn*Wn1,Y2=X1*W12+X2*W22+……+Xn*Wn2……Ym=X1*W1m+X2*W2m+……+Xn*Wnm。
存算一体处理器通过对位线的一次读取操作,即可实现海量的乘累加运算,从而实现基于神经网络模型的运算,极大地降低了数据在存储器与处理器之间来回传输的时延与功耗,并且与深度学习神经网络模型高度适配,能进行复杂的AI运算。
如图5所示,本申请实施例提供的电子设备50包括传感器51和数据处理电路52,可选的,还可以包括显示屏53、通信模块54等。
传感器51通过互连集成电路(inter-integrated circuit,I2C)总线、互连集成电路音频(inter-IC sound,I2S)总线、通用异步收发传输器(universal asynchronousreceiver transmitter,UART)总线等,将采集的传感数据传输给数据处理电路52(主要指后文涉及的数据处理电路52中的存算一体处理器)。传感器51可以为采集气味或气体的气体传感器,传感器51可以为包括多个传感器的阵列或者单个传感器,例如可以包括以下传感器中的至少一个:挥发性有机化合物(volatile organic compounds,VOC)传感器、微机电系统(microelectro mechanical system,MEMS)传感器、甲醛传感器、烟雾传感器等。
数据处理电路52(主要指后文涉及的数据处理电路52中的存算一体处理器)对传感数据进行基于神经网络模型的运算从而得到运算结果,数据处理电路52可以控制显示屏53显示运算结果,也可以将运算结果通过通信模块54传输给其他设备,也可以通过扬声器和指示灯进行声光报警等。对于传感器51为采集气味或气体的气体传感器来说,对传感数据进行基于神经网络模型的运算可以指对气味或气体进行基于神经网络模型的检测,运算结果指检测结果。
如图6所示,数据处理电路52包括存算一体处理器521、处理器522、算术运算单元523,可选的还可以包括内存524。存算一体处理器521包括多组存算阵列5211、多组控制单元5212、多组模数转换器5213和多组移位加法电路5214。存算一体处理器521也可以称为存算一体芯片。
多组存算阵列5211中的存算单元存储神经网络模型各层的网络参数,神经网络模型一层的网络参数可以位于一组或多组存算阵列5211中。多组存算阵列5211可以实现传感数据与神经网络模型中各层的网络参数的乘累加运算。存算阵列5211的作用相当于GEMM。如图7所示,由于存算阵列是二维结构,而存算阵列输入的数据和输出的数据均为一维结构,所以在将神经网络模型的网络参数映射到各组存算阵列时,对于三维结构的网络参数(例如CNN中卷积层的权重),要降维为二维结构的网络参数以映射到各组存算阵列,对于存算单元输入或输出的二维结构的数据要降维为一维结构的数据。
每组存算阵列5211的多条位线BL分别耦合至一组模数转换器5213,一组模数转换器5213的输出端分别耦合一组移位加法电路5214。模数转换器5213用于对存算阵列5211的运算结果进行模数转换,移位加法电路5214用于对存算阵列5211的运算结果进行移位后求和。控制单元5212用于控制存算阵列5211、模数转换器5213和移位加法电路5214的工作和停止。
处理器522可以控制传感器51采集传感数据,控制内存524用于存储网络配置以及从传感器51获取的传感数据,以便进行AI运算,并通过字线WL将传感数据输出给存算一体处理器521。处理器522还用于控制数据在不同存算阵列5211之间的传输,从而实现灵活定制神经网络模型的结构。例如,处理器522可以控制某些存算阵列参与运算而某些存算阵列不参与运算,处理器522还可以控制数据从存算阵列A流向存算阵列B。在对神经网络进行更换或升级场景下,处理器522还可以控制存算阵列修改存储的网络参数。
算术运算单元523可以实现神经网络模型的非线性运算,例如可以实现神经网络模型的激活函数,关于激活函数见前文描述。当某一层的存算阵列5211完成线性运算后,输出给算术运算单元523中的激活函数,激活函数进行非线性运算后,将运算结果输出给下一层的存算阵列5211。
如图3所示,神经网络模型各个层需要输入的数据的位数是独立的,例如2比特位、4比特位、8比特位等。当存算阵列输入的数据的位数较少时,可以提高运算速度并降低功耗,但是会降低运算精度;当存算阵列输入的数据的位数较多时,会提高运算精度,但是会降低运算速度并升高功耗。因此,当上一层输出的运算结果的位数与下一层输入的数据的位数不一致时,需要适应地改变上一层输出的运算结果的位数,以满足不同的性能要求,从而灵活定制神经网络模型的各层。
如图8所示,每一组移位加法电路5214包括级联的多级移位加法器SA,每个移位加法器SA用于对第一输入端输入的数据进行移位后与第二输入端输入的数据相加并输出,即对第一输入端输入的数据向右移S比特位,对第二输入端输入的数据向右移0比特位。同一级的移位加法器SA移位的位数S相同,并且越向后级移位的位数S越高。例如第一级移位加法器向左移位1比特位,第二级移位加法器向左移位2比特位,第三级移位加法器向左移位4比特位。示例性的,当下一层需要输入2比特位的数据时,处理器522可以通过控制单元5212控制移位加法电路5214中的第一级移位加法器SA输出2比特位的运算结果;当下一层需要输入4比特位的数据时,处理器522可以通过控制单元5212控制移位加法电路5214中的第二级移位加法器SA输出4比特位的运算结果;当下一层需要输入8比特位的数据时,处理器522可以通过控制单元5212控制移位加法电路5214中的第三级移位加法器SA输出8比特位的运算结果。上述移位加法电路适用于存算单元进行数字运算的场景,例如图12所示的RRAM存算单元。
存算一体处理器521中的存算单元可以采用工艺成熟的闪存来实现。闪存具有非易失性,目前已经实现了基于闪存的存算一体处理器的流片和量产。示例性的,如图9所示,存算一体处理器中一个闪存存算单元包括浮栅晶体管T,浮栅晶体管T的栅极耦合至字线WL,浮栅晶体管T的一个受控端(例如源极)接地,浮栅晶体管T的另一受控端(例如漏极)耦合至位线。浮栅晶体管T的浮栅(floating gate,FG)中存储的电荷表示神经网络模型的网络参数,字线WL用于输入传感数据,位线BL输出的电流用于表示传感数据与神经网络模型的网络参数相乘的结果。
存算一体处理器521中的存算单元可以采用工艺成熟的SRAM来实现。SRAM实现的存算一体处理器具有高算力、低功耗、读取稳定、抗PVT扰动强的优点,主要用于数字计算。示例性的,如图10所示,存算一体处理器中一个SRAM存算单元包括晶体管T1、晶体管T2、反相器N1、反相器N2。反相器N1的输入端与反相器N2的输出端相耦合,反相器N2的输入端与反相器N1的输出端相耦合,从而构成锁存器,锁存器存储的电荷用于表示1比特的神经网络模型的网络参数。晶体管T1的栅极耦合至反字线,晶体管T1的一个受控端(例如源极)耦合至位线BL,晶体管T1的另一个受控端(例如漏极)耦合至反相器N1的输入端。晶体管T2的栅极耦合至字线WL,晶体管T1的一个受控端(例如源极)耦合至反位线/>,晶体管T2的另一个受控端(例如漏极)耦合至反相器N2的输入端。字线WL和反字线/>用于输入1比特的传感数据(“1”或“0”),位线BL和反位线/>输出的电流用于表示1比特的传感数据与1比特的神经网络模型的网络参数相乘的结果。
存算一体处理器521中的存算单元可以采用RRAM来实现,RRAM的阻变特性与神经网络模型运算兼容,并且RRAM具有非易失性、低功耗等优点,在存算一体运算中具有极大的应用前景。示例性的,如图11所示,采用1R1T结构的RRAM存算单元包括晶体管T和阻变元件R,晶体管T的栅极耦合至字线WL,晶体管T的一个受控端(例如源极)接地,晶体管T的另一受控端(例如漏极)耦合至阻变元件R的一端,阻变元件R的另一端耦合至位线。阻变元件R的阻值表示神经网络模型的网络参数,字线WL用于输入传感数据,位线BL输出的电流用于表示传感数据与神经网络模型的网络参数相乘的结果。
由于目前RRAM的误差较大,对神经网络模型的准确性有较大的影响。为此,本申请实施例提供了另一种RRAM存算单元,通过两个不同阻态的阻变元件,将之前单个阻变元件决定的模拟量转换为两个阻变元件决定的数字量,避免了模拟量的误差。
如图12所示,该RRAM存算单元包括第一阻变元件R1、第二阻变元件R2、反相器N、第一开关K1、第二开关K2、第三开关K3、电容C。可选的,还包括放大器A,放大器A用于对输入的信号进行放大。存算单元的字线WL(可选的通过放大器A)耦合至串联的第一阻变元件R1、第二阻变元件R2的一端,字线WL(可选的通过放大器A)还耦合至反相器N。串联的第一阻变元件R1、第二阻变元件R2的另一端接地。第一开关K1的第一端用于输入预设电压Vref,第一开关K1的第二端、第一阻变元件R1、第二阻变元件R2的耦合点耦合至反相器N的输入端,反相器N的输出端通过第二开关K2和第三开关K3耦合至位线BL,第二开关K2和第三开关K3的耦合点通过电容C接地。位线BL耦合至复位开关Krst,如图13所示,当复位开关Krst导通时,对位线BL进行复位(位线BL输出低电平),当复位开关Krst断开时,存算单元正常工作。
当第一开关K1导通时,预设电压Vref用于对第一阻变元件R1和第二阻变元件R2的阻值进行编程(即改变阻变元件的阻态),而在正常工作时,第一开关K1保持断开。例如将第一阻变元件R1置为高阻态(high resistance state,HRS),将第二阻变元件R2置为低阻态(low resistances state,LRS),或者,将第一阻变元件R1置为LRS,将第二阻变元件R2置为HRS。第一阻变元件R1的第二阻变元件R2的阻态用于表示神经网络模型的一个网络参数。示例性的,当第一阻变元件R1为HRS并且第二阻变元件R2为LRS时,表示网络参数为1,当第一阻变元件R1为LRS并且第二阻变元件R2为HRS时,表示网络参数为0。
第二开关K2和第三开关K3用于控制电容C的充放电。当第二开关K2导通并且第三开关K3断开时,可以对电容C进行充电。当第二开关K2断开并且第三开关K3导通时,电容C通过位线BL放电。
字线WL用于输入1比特的传感数据,以控制反相器N的打开和关闭。当字线WL输入的传感数据为0时,反相器N关闭,无论网络参数为0或1,反相器N输出均为低电平(即值为0)。
如表1和图13中A所示,当字线WL输入的传感数据为1时,反相器打开,如果第一阻变元件R1为HRS并且第二阻变元件R2为LRS(即网络参数为1),则第一阻变元件R1和第二阻变元件R2的耦合点为低电平(即反相器N的输入端的值为0),反相器N输出为高电平(即值为1),如果此时第二开关K2导通并且第三开关断开,则对电容C进行充电(即电容C的电压Vc升高),得到1位传感数据与1位网络参数的乘积值即为1。如图13中B所示,如果第二开关K2断开并且第三开关导通,则电容C通过位线BL进行放电(即电容C的电压Vc降低),位线BL输出1。
当字线WL输入的传感数据为1时,反相器打开,如果第一阻变元件R1为LRS并且第二阻变元件R2为HRS(即网络参数为0),则第一阻变元件R1和第二阻变元件R2的耦合点为高电平(即反相器N的输入端的值为1),反相器N输出为低电平(即值为0),如果此时第二开关K2导通,则电容C不进行充电,得到1位传感数据与1位网络参数的乘积值即为0。
表1
本申请实施例提供的数据处理电路和电子设备,通过存算一体处理器来实现将来自传感器的传感数据与神经网络模型中各层的权重进行乘累加运算,通过算术运算单元实现神经网络模型的非线性运算。由于存算一体处理器的结构与神经网络模型高度适配,适用于神经网络模型的运算,可以减少数据在存储器与处理器之间来回搬运的时延并降低功耗,通过一次读取操作即可以完成海量的乘累加计算,并且所以可以提高传感数据进行AI运算的处理速度并降低功耗,具有低功耗、高速度、高能效、高算力的优点。
将本申请实施例提供的数据处理电路与传感器阵列结合可以得到存算一体的电子鼻,有效解决了小型电子鼻在算力和功耗上的限制,进一步实现电子鼻小型化,并能够移植到其他可穿戴产品中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个设备,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个设备中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种数据处理电路,其特征在于,包括:存算一体处理器和算术运算单元;所述存算一体处理器包括多组存算阵列,所述存算阵列中的存算单元用于存储神经网络模型各层的网络参数;所述存算单元为电阻随机存取存储器,所述存算单元包括第一阻变元件、第二阻变元件、反相器、第一开关、第二开关、第三开关和电容;所述存算单元的字线耦合至串联的所述第一阻变元件、第二阻变元件的一端,所述字线还耦合至反相器;所述串联的第一阻变元件、第二阻变元件的另一端接地;第一开关的第一端用于输入预设电压,所述第一开关的第二端、所述第一阻变元件、所述第二阻变元件的耦合点耦合至所述反相器的输入端,所述反相器的输出端通过所述第二开关和所述第三开关耦合至位线;所述第二开关和所述第三开关的耦合点通过所述电容接地;
所述算术运算单元,用于实现所述神经网络模型的非线性运算;
所述多组存算阵列,用于将来自传感器的传感数据与所述神经网络模型中各层的网络参数进行乘累加运算。
2.根据权利要求1所述的电路,其特征在于,所述数据处理电路还包括多组模数转换器和多组移位加法电路;每组存算阵列的多条位线分别耦合至一组模数转换器,所述一组模数转换器的输出端分别耦合一组移位加法电路。
3.根据权利要求2所述的电路,其特征在于,一组移位加法电路包括级联的多级移位加法器,每个移位加法器用于对第一输入端输入的数据进行移位后与第二输入端输入的数据相加并输出。
4.根据权利要求3所述的电路,其特征在于,还包括处理器,所述处理器用于管理所述多级移位加法器中任一级移位加法器的输出结果发送给下一层的存算阵列。
5.根据权利要求4所述的电路,其特征在于,所述处理器还用于控制数据在不同存算阵列之间的传输。
6.根据权利要求1-5任一项所述的电路,其特征在于,所述传感器为气体传感器,所述数据处理电路位于电子鼻中。
7.根据权利要求6所述的电路,其特征在于,所述气体传感器为以下传感器的至少一项:微机电系统温湿度传感器、挥发性有机化合物传感器、甲醛传感器、烟雾传感器。
8.一种电子设备,其特征在于,包括传感器和如权利要求1-7任一项所述的数据处理电路,所述数据处理电路用于对所述传感器的传感数据进行检测。
9.根据权利要求8所述的电子设备,其特征在于,所述电子设备为电子鼻,所述电子鼻用于对气体类型的传感数据进行处理。
CN202310353252.1A 2023-04-04 2023-04-04 数据处理电路和电子设备 Active CN116151343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310353252.1A CN116151343B (zh) 2023-04-04 2023-04-04 数据处理电路和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310353252.1A CN116151343B (zh) 2023-04-04 2023-04-04 数据处理电路和电子设备

Publications (2)

Publication Number Publication Date
CN116151343A CN116151343A (zh) 2023-05-23
CN116151343B true CN116151343B (zh) 2023-09-05

Family

ID=86340971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310353252.1A Active CN116151343B (zh) 2023-04-04 2023-04-04 数据处理电路和电子设备

Country Status (1)

Country Link
CN (1) CN116151343B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029757A (ja) * 2012-06-28 2014-02-13 Toppan Printing Co Ltd 不揮発性メモリセル、およびこの不揮発性メモリセルを備えた不揮発性メモリ
WO2020158531A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 記憶装置およびプログラミング方法
CN112825153A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 神经网络系统中数据处理的方法、神经网络系统
CN112863589A (zh) * 2020-09-04 2021-05-28 清华大学 测试设备和测试方法
CN113792010A (zh) * 2021-09-22 2021-12-14 清华大学 存算一体芯片及数据处理方法
CN113838504A (zh) * 2021-11-26 2021-12-24 中科南京智能技术研究院 一种基于ReRAM的单比特存内计算电路
CN114004344A (zh) * 2020-07-27 2022-02-01 华为技术有限公司 神经网络电路
CN114186676A (zh) * 2020-09-15 2022-03-15 深圳市九天睿芯科技有限公司 一种基于电流积分的存内脉冲神经网络
WO2022105805A1 (zh) * 2020-11-18 2022-05-27 北京灵汐科技有限公司 数据的处理方法及存算一体芯片
CN114596907A (zh) * 2022-02-28 2022-06-07 复旦大学 一种可用于训练的忆阻器阵列系统
CN114707647A (zh) * 2022-03-08 2022-07-05 南方科技大学 适用于多精度神经网络的精度无损存算一体装置及方法
CN115876840A (zh) * 2022-11-23 2023-03-31 杭州未名信科科技有限公司 感存算一体的气体检测系统、检测方法和检测设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029757A (ja) * 2012-06-28 2014-02-13 Toppan Printing Co Ltd 不揮発性メモリセル、およびこの不揮発性メモリセルを備えた不揮発性メモリ
WO2020158531A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 記憶装置およびプログラミング方法
CN112825153A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 神经网络系统中数据处理的方法、神经网络系统
CN114004344A (zh) * 2020-07-27 2022-02-01 华为技术有限公司 神经网络电路
CN112863589A (zh) * 2020-09-04 2021-05-28 清华大学 测试设备和测试方法
CN114186676A (zh) * 2020-09-15 2022-03-15 深圳市九天睿芯科技有限公司 一种基于电流积分的存内脉冲神经网络
WO2022105805A1 (zh) * 2020-11-18 2022-05-27 北京灵汐科技有限公司 数据的处理方法及存算一体芯片
CN113792010A (zh) * 2021-09-22 2021-12-14 清华大学 存算一体芯片及数据处理方法
CN113838504A (zh) * 2021-11-26 2021-12-24 中科南京智能技术研究院 一种基于ReRAM的单比特存内计算电路
CN114596907A (zh) * 2022-02-28 2022-06-07 复旦大学 一种可用于训练的忆阻器阵列系统
CN114707647A (zh) * 2022-03-08 2022-07-05 南方科技大学 适用于多精度神经网络的精度无损存算一体装置及方法
CN115876840A (zh) * 2022-11-23 2023-03-31 杭州未名信科科技有限公司 感存算一体的气体检测系统、检测方法和检测设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
氧化镓薄膜的阻变特性及日盲探测研究;张宏宇;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》(第04期);B015-200 *

Also Published As

Publication number Publication date
CN116151343A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US11604974B2 (en) Neural network computation circuit including non-volatile semiconductor memory element
CN105260776B (zh) 神经网络处理器和卷积神经网络处理器
US11615299B2 (en) Neural network computation circuit including non-volatile semiconductor memory element
CN102971754A (zh) 用于神经处理器中的可替代突触权重存储的方法和系统
CN112183739A (zh) 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
CN109284823A (zh) 一种运算装置及相关产品
KR102672586B1 (ko) 인공신경망의 훈련 방법 및 장치
JP2022540550A (ja) ニューラルネットワークアクセラレータにおいてスパースデータを読み取るおよび書き込むためのシステムおよび方法
KR20180123142A (ko) 인메모리 행렬 곱셈 및 뉴럴 네트워크에서 그것의 사용
CN115552523A (zh) 使用存储器内处理的基于计数器的乘法
KR102618546B1 (ko) 2차원 어레이 기반 뉴로모픽 프로세서 및 그 동작 방법
CN109670581B (zh) 一种计算装置及板卡
WO2021038182A2 (en) Refactoring mac computations for reduced programming steps
CN116151343B (zh) 数据处理电路和电子设备
CN114118390B (zh) 硬件加速器和混合电阻器忆阻器交叉开关阵列电路
JPH06502265A (ja) 信号処理におけるマトリクス演算の計算回路装置
CN115312090A (zh) 一种存内计算电路及方法
US11694065B2 (en) Spiking neural unit
Ramacher et al. Fine-grain system architectures for systolic emulation of neural algorithms
WO2021257580A1 (en) Intelligent digital camera having deep learning accelerator and random access memory
CN114004344A (zh) 神经网络电路
Kim et al. Markov chain Hebbian learning algorithm with ternary synaptic units
CN115658013B (zh) 向量乘加器的rom存内计算装置和电子设备
US20240220205A1 (en) Counter-based multiplication using processing in memory
Mondal et al. Current comparator-based reconfigurable adder and multiplier on hybrid memristive crossbar

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