CN111126579B - 一种适用于二值卷积神经网络计算的存内计算装置 - Google Patents

一种适用于二值卷积神经网络计算的存内计算装置 Download PDF

Info

Publication number
CN111126579B
CN111126579B CN201911067669.1A CN201911067669A CN111126579B CN 111126579 B CN111126579 B CN 111126579B CN 201911067669 A CN201911067669 A CN 201911067669A CN 111126579 B CN111126579 B CN 111126579B
Authority
CN
China
Prior art keywords
exclusive
memory
computing
neural network
input
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
CN201911067669.1A
Other languages
English (en)
Other versions
CN111126579A (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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN201911067669.1A priority Critical patent/CN111126579B/zh
Publication of CN111126579A publication Critical patent/CN111126579A/zh
Application granted granted Critical
Publication of CN111126579B publication Critical patent/CN111126579B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)

Abstract

本发明属于集成电路技术领域,具体为一种适用于二值卷积神经网络计算的存内计算装置。本装置包括:基于静态随机存储器的存内计算阵列,用于实现向量间异或运算;一个多输入加法树,用于对不同输入通道内的异或结果进行累加;一个暂存中间结果的存储单元;一个更新中间结果的累加器组;一个后处理量化单元,用于将高精度的累加结果量化为1位输出特征值;一个控制单元,用于控制计算流程和数据流向。本发明发明能在存储输入数据同时完成二值神经网络中的异或运算,避免了存储单元与计算单元之间频繁的数据交换,从而提高了计算速度,减少了芯片功耗。

Description

一种适用于二值卷积神经网络计算的存内计算装置
技术领域
本发明属于集成电路技术领域,具体涉及一种适用于二值卷积神经网络计算的存内计算装置。
背景技术
当今,得益于深度卷积神经网络的不断发展,其被广泛应用于图像分类、自动驾驶、目标识别与跟踪、语音识别等各个领域中。为了追求更高的精度,深度卷积网络层数、宽度不断增加,与之增大的计算量与数据存储量使其不适合与计算资源、电源容量有限的终端计算设备上。
为上述深度卷积神经网络算法与硬件实现的冲突,各种量化方法应运而生。低精度、甚至二值卷积神经网络在各个领域应用中可以达到接近于高精度卷积神经网络的性能。
在二值卷积神经网络中,权重以及输入、输出特征值均被量化为1位,用-1或1表示两种不同的状态。如此,复杂的乘法运算便被简单的异或运算替代。
传统的硬件计算平台,如CPU/GPU仍采用计算单元与存储单元分立的冯诺依曼结构。存储单元与计算单元之间需要频繁的、大量的数据交互。如此,不仅降低了计算速度,更使功耗浪费在了数据搬运的过程中。
为了解决存算分立带来的问题,本发明将异或计算电路整合到静态随机存储器中,实现了存储与计算一体的适用于二值卷积神经网络的存内计算装置。与CPU/GPU相比,该装置可以得到更高的能效。
发明内容
为克服上述现有技术的缺点,本发明提供了一种适合二值卷积神经网络计算的存内计算装置。
本发明提供的适用于二值卷积神经网络计算的存内计算装置,包括:
一个存内计算阵列,用于计算二值卷积神经网络中权重与输入特征值之间的异或运算;
一个多输入加法树,用于求和不同输入通道内的异或结果;
一个累加器组与中间结果存储单元,用于累加并更新同一卷积核内的中间结果;
一个后处理量化单元,用于将高位宽的累加结果量化为一位输出特征值;
一个控制单元,用于控制计算流程和数据流向。
所述存内计算阵列,是有多个输入特征值存储计算向量与多个权重存储计算向量组成的二维阵列;所述控制单元用于控制存内计算阵列任意两行实现异或运算,计算的结果经过累加、量化后得到一个输出通道的输出特征值。
本发明中,所述存内计算阵列中,由一个权重存储单元、一个特征值存储单元和一个异或计算电路构成一个异或存储计算单元;多个异或存储计算单元连接至同一权重字线、特征字线、异或字线以及异或位线上构成存内计算阵列中的一个存储计算行。
权重根据输入通道、输出通道索引存储于不同存储计算行。
特征值根据输入通道索引存储于不同的存储计算行。
控制单元可以根据输入的权重地址、输入特征值地址,按照静态随机存储器的读写时序完成存内计算阵列中任意两行的异或运算。
本发明中,所述权重存储单元为由两个反相器I1、I2以及两个NMOS晶体管M1、M2构成的静态随机存储器单元,用于存储权重;所述特征值存储单元是由两个反相器I3、I4以及两个NMOS晶体管M7、M8构成的静态随机储存器单元,用于存储输入特征值;所述异或计算电路由NMOS晶体管M3至M6构成;其中:
权重存储单元中反相器输出端驱动异或计算电路晶体管M3、M4的栅极;特征值存储单元中输出晶体管M7、M8源极驱动异或计算电路M3、M4的源极。通过存储的权重以及输入特征值电压,决定异或计算电路M3至M6的导通与关断,实现异或计算。
本发明中,晶体管M3至M6采用低阈值电压晶体管,保证异或计算电路导通通路能够完全开启。
本发明能在存储输入数据同时完成二值神经网络中的异或运算,避免了存储单元与计算单元之间频繁的数据交换,从而提高了计算速度,减少了芯片功耗。
附图说明
图1是本发明的顶层电路模块框图。
图2是本发明的一个存内计算单元的电路图。
具体实施方式
下面结合实施例和图示进一步具体描述本发明,本发明提供的实施例,不应该被认为仅限于在此阐述的实施例。
实施例是一个适用于二值卷积神经网络计算的存内计算装置。图1为其顶层电路模块框图。
所述装置包括一个256x128的存内计算阵列,一个128输入的加法树,一个用于存储中间结果的静态随机存储单元以及对应的用于更新中间结果的累加器组,一个后处理量化单元以及控制单元。
存内计算阵列的每一行都可以存储权重或输入特征图的128个输入通道。控制单元根据权重和输入特征图地址选取对应的两行完成异或运算。
存内计算阵列的异或输出结果经过加法树,将128个输入通道上的结果累加得到中间结果。
若二值卷积神经网络的输入通道大于128,当前周期加法树产生的中间结果需要同存储于中间结果存储单元中的前一周期的中间结果在累加器组内完成累加,以得到高精度输出特征值或更新中间结果。
高精度的输入特征值在后处理量化单元中被量化为一位,得到二值卷积神经网络某一卷积层的最终输出。
图2为存内计算单元的晶体管电路实现。静态随机存储单元(反相器I1、I2,晶体管M1、M2;反相器I7、I8,晶体管M3、M4)分别存储一个权重和输入特征值,晶体管M3至M6构成异或计算电路。权重存储单元反相器输出端驱动异或计算电路晶体管M3、M4的栅极;特征值存储单元输出晶体管M7、M8源极驱动异或计算电路M3、M4的源极。
该存内计算单元分为两个操作步骤:写操作与异或操作。
写操作时,写位线1,写位线2分别加载权重或输入特征值的互补电平,权重字线或异或特征字线拉高,将权重或输入特征值写入对应的静态随机存储单元中。
异或操作时,写位线1、写位线2、权重字线拉低,特征字线、异或字线拉高,异或位线预充电。若权重静态随机存储单元中存1,则晶体管M4栅极为高导通,M3栅极为低关断。此时,若输入特征值静态随机存储单元中存1,则高电平经过晶体管M8、M4驱动晶体管M6栅极,M6导通。拉高异或字线,此时原本拉高的异或位线被拉低,输出低电平0。若输入特征值静态随机存储单元此时存0(表示二值卷积神经网络中的-1),则晶体管M6栅极为0,M6关断。原本拉高的异或位线不能被拉低,输出高电平1。遍历所有存储情况可知,该存内计算单元可实现异或运算。
以上通过具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

Claims (4)

1.一种适用于二值卷积神经网络计算的存内计算装置,其特征在于,包括:
一个存内计算阵列,用于计算二值卷积神经网络中权重与输入特征值之间的异或运算;
一个多输入加法树,用于求和不同输入通道内的异或结果;
存内计算阵列的异或输出结果经过加法树,将输入通道上的结果累加得到中间结果;
一个累加器组与中间结果存储单元,用于累加并更新同一卷积核内的中间结果;
一个后处理量化单元,用于将高位宽的累加结果量化为一位输出特征值;其中,
二值卷积神经网络的输入通道大于128,当前周期加法树产生的中间结果需要同存储于中间结果存储单元中的前一周期的中间结果在累加器组内完成累加,以得到更新中间结果;
一个控制单元,用于控制计算流程和数据流向;
所述存内计算阵列是有多个输入特征值存储计算向量与多个权重存储计算向量组成的二维阵列;所述控制单元用于控制存内计算阵列任意两行实现异或运算,计算的结果经过累加、量化后得到一个输出通道的输出特征值。
2.根据权利要求1所述的适用于二值卷积神经网络计算的存内计算装置,其特征在于,所述存内计算阵列中,由一个权重存储单元、一个特征值存储单元和一个异或计算电路构成一个异或存储计算单元;多个异或存储计算单元连接至同一权重字线、特征字线、异或字线以及异或位线上构成存内计算阵列中的一个存储计算行;
权重根据输入通道、输出通道索引存储于不同存储计算行;
特征值根据输入通道索引存储于不同的存储计算行;
控制单元根据输入的权重地址、输入特征值地址,按照静态随机存储器的读写时序完成存内计算阵列中任意两行的异或运算。
3.根据权利要求2所述的适用于二值卷积神经网络计算的存内计算装置,其特征在于,所述权重存储单元为由两个反相器I1、I2以及两个NMOS晶体管M1、M2构成的静态随机存储器单元,用于存储权重;所述特征值存储单元是由两个反相器I3、I4以及两个NMOS晶体管M7、M8构成的另一静态随机储存器单元,用于存储输入特征值;所述异或计算电路由NMOS晶体管M3至M6构成;其中:
权重存储单元中反相器输出端驱动异或计算电路晶体管M3、M4的栅极;特征值存储单元中输出晶体管M7、M8源极驱动异或计算电路M3、M4的源极;通过存储的权重以及输入特征值电压,决定异或计算电路M3至M6的导通与关断,实现异或计算。
4.根据权利要求3所述的适用于二值卷积神经网络计算的存内计算装置,其特征在于,晶体管M3至M6采用低阈值电压晶体管,保证异或计算电路导通通路能够完全开启。
CN201911067669.1A 2019-11-05 2019-11-05 一种适用于二值卷积神经网络计算的存内计算装置 Active CN111126579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911067669.1A CN111126579B (zh) 2019-11-05 2019-11-05 一种适用于二值卷积神经网络计算的存内计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911067669.1A CN111126579B (zh) 2019-11-05 2019-11-05 一种适用于二值卷积神经网络计算的存内计算装置

Publications (2)

Publication Number Publication Date
CN111126579A CN111126579A (zh) 2020-05-08
CN111126579B true CN111126579B (zh) 2023-06-27

Family

ID=70495517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911067669.1A Active CN111126579B (zh) 2019-11-05 2019-11-05 一种适用于二值卷积神经网络计算的存内计算装置

Country Status (1)

Country Link
CN (1) CN111126579B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614398B (zh) * 2020-05-12 2021-06-11 北京邮电大学 基于异或神经网络的调制格式及信噪比识别方法及装置
CN111984921B (zh) * 2020-08-27 2024-04-19 华中科技大学 一种存内数值计算加速器及存内数值计算方法
CN112151091B (zh) * 2020-09-29 2023-03-21 中科南京智能技术研究院 一种8t sram单元及存内计算装置
CN116547755A (zh) * 2021-02-07 2023-08-04 华为技术有限公司 存储电路及存储器
CN113222107A (zh) * 2021-03-09 2021-08-06 北京大学 数据处理方法、装置、设备及存储介质
CN113642706A (zh) * 2021-08-10 2021-11-12 中国科学院上海微系统与信息技术研究所 神经元网络单元、卷积运算模块以及卷积神经网络
CN113743046B (zh) * 2021-09-16 2024-05-07 上海后摩智能科技有限公司 存算一体版图结构和数据拆分存算一体版图结构
CN115660057B (zh) * 2022-12-13 2023-05-12 至讯创新科技(无锡)有限公司 Nand闪存实现卷积运算的控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226944A (ja) * 2006-01-26 2007-09-06 Mitsubishi Electric Corp 半導体メモリ及び半導体集積回路
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN107153873A (zh) * 2017-05-08 2017-09-12 中国科学院计算技术研究所 一种二值卷积神经网络处理器及其使用方法
CN107203808A (zh) * 2017-05-08 2017-09-26 中国科学院计算技术研究所 一种二值卷积装置及相应的二值卷积神经网络处理器
CN109784483A (zh) * 2019-01-24 2019-05-21 电子科技大学 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器
KR20190092299A (ko) * 2018-01-30 2019-08-07 연세대학교 원주산학협력단 딥러닝 기술을 통한 흉부 물질 분리 영상 획득 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563825B2 (en) * 2014-11-20 2017-02-07 Adobe Systems Incorporated Convolutional neural network using a binarized convolution layer
US11687762B2 (en) * 2018-02-27 2023-06-27 Stmicroelectronics S.R.L. Acceleration unit for a deep learning engine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226944A (ja) * 2006-01-26 2007-09-06 Mitsubishi Electric Corp 半導体メモリ及び半導体集積回路
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN107153873A (zh) * 2017-05-08 2017-09-12 中国科学院计算技术研究所 一种二值卷积神经网络处理器及其使用方法
CN107203808A (zh) * 2017-05-08 2017-09-26 中国科学院计算技术研究所 一种二值卷积装置及相应的二值卷积神经网络处理器
KR20190092299A (ko) * 2018-01-30 2019-08-07 연세대학교 원주산학협력단 딥러닝 기술을 통한 흉부 물질 분리 영상 획득 방법 및 시스템
CN109784483A (zh) * 2019-01-24 2019-05-21 电子科技大学 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Multilevel Cell STT-MRAM-Based Computing In-Memory Accelerator for Binary Convolutional Neural Network;Yu Pan et al.;《IEEE TRANSACTIONS ON MAGNETICS》;第第54卷卷(第第11期期);第9401305-1-5页 *
An Energy-Efficient Architecture for Binary Weight Convolutional Neural Networks;Yizhi Wang et al.;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEM》;第第26卷卷(第第2期期);第280-293页 *
OCEAN: an On-Chip Incremental-Learning Enhanced Processor with Gated Recurrent Neural Network Accelerators;Chixiao Chen et al.;《IEEE》;第259-262页 *

Also Published As

Publication number Publication date
CN111126579A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111126579B (zh) 一种适用于二值卷积神经网络计算的存内计算装置
US11625584B2 (en) Reconfigurable memory compression techniques for deep neural networks
Moons et al. Minimum energy quantized neural networks
Chen et al. Design and optimization of FeFET-based crossbars for binary convolution neural networks
CN110597555A (zh) 非易失性存内计算芯片及其运算控制方法
US11507808B2 (en) Multi-layer vector-matrix multiplication apparatus for a deep neural network
CN109902822B (zh) 基于斯格明子赛道存储器的内存计算系统及方法
US20220269483A1 (en) Compute in memory accumulator
US20200286553A1 (en) In-memory computation device with inter-page and intra-page data circuits
CN114791796A (zh) 一种基于分离栅闪存晶体管的多输入计算单元及其计算方法
Bose et al. A 75kb SRAM in 65nm CMOS for in-memory computing based neuromorphic image denoising
CN108154226B (zh) 一种使用模拟计算的神经网络芯片
Zhang et al. On-chip learning of multilayer perceptron based on memristors with limited multilevel states
TWI814734B (zh) 用於執行卷積的計算裝置及計算方法
Yi et al. Effect of device variation on mapping binary neural network to memristor crossbar array
Chen et al. A novel memristor-based restricted Boltzmann machine for contrastive divergence
Manikandan et al. Approximation computing techniques to accelerate CNN based image processing applications–a survey in hardware/software perspective
CN115424645A (zh) 计算器件、存储器控制器和执行存储器中计算的方法
Xu et al. Fsl-hd: Accelerating few-shot learning on reram using hyperdimensional computing
Taha et al. Naive Bayesian inference of handwritten digits using a memristive associative memory
KR20190114208A (ko) 저전력 및 고속 연산을 위한 dram용 비트와이즈 컨볼루션 회로
Le et al. CIMulator: a comprehensive simulation platform for computing-in-memory circuit macros with low bit-width and real memory materials
CN117275556A (zh) 多比特内容寻址存储器单元、存储阵列及操作方法
KR102459985B1 (ko) 콘텐츠 주소화 메모리 기반 bnn 가속기의 오류 정정 기법
US11809838B2 (en) Memory device and operation method thereof

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