CN112487750A - 一种基于存内计算的卷积加速计算***及方法 - Google Patents

一种基于存内计算的卷积加速计算***及方法 Download PDF

Info

Publication number
CN112487750A
CN112487750A CN202011380470.7A CN202011380470A CN112487750A CN 112487750 A CN112487750 A CN 112487750A CN 202011380470 A CN202011380470 A CN 202011380470A CN 112487750 A CN112487750 A CN 112487750A
Authority
CN
China
Prior art keywords
convolution
memory
counter
data
state machine
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.)
Granted
Application number
CN202011380470.7A
Other languages
English (en)
Other versions
CN112487750B (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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN202011380470.7A priority Critical patent/CN112487750B/zh
Publication of CN112487750A publication Critical patent/CN112487750A/zh
Application granted granted Critical
Publication of CN112487750B publication Critical patent/CN112487750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution 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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于存内计算的卷积加速计算***及方法,在存储模式下,将卷积核和输入特征图数据按行串行加载进存内计算IP中,在存储模式下将卷积运算中的恒定参数卷积核与待处理的输入特征图加载到存储器中,然后切换至运算模式,通过有序控制存内计算IP串行完成操作数的乘法、部分和累加以及操作数的切换步骤,利用卷积加速控制结构将卷积运算的所有步骤按周期进行无缝衔接,采用硬件替代软件进行时序调度,避免复杂的软件指令引入的效率损失,从而有效发挥存内计算IP在实际大规模数据并行处理中的效能优势。本发明将卷积运算进行算力加速,以降低卷积运算的时间开销,为人工智能的实时性提供技术支撑。

Description

一种基于存内计算的卷积加速计算***及方法
技术领域
本发明属于集成电路设计领域,涉及一种基于存内计算的卷积加速计算***及方法。
背景技术
当前,提高AI芯片性能和效能的关键之一在于卷积运算的高效执行。在传统冯·诺伊曼体系结构中,计算与存储分离的体系造成内存的存取速度严重滞后于处理器的计算速度,遭遇到了所谓的存储墙(Memory Wall)问题。从目前学术界研宄情况来看,计算与存储融合一体的结构是一个较好的解决方案,由于运算和存储一体化不需要数据总线来搬运数据,不仅能解决数据总线寄生电压和寄生电阻带来传递延时和多余功耗问题,而且还能解决处理器运算速度和存储器存储速度不匹配问题,这种方法被称为存内计算(Process-in-Memory,PIM)。然而,目前新型存储器在工艺的成熟性和稳定性方面还有所欠缺,仅限于理论和实验研究阶段,工业应用前景尚不明朗。因此,通过在既有成熟的CMOS工艺基础上进行存内计算IP开发,并进一步实现基于存内计算的卷积加速控制结构成为研究热点。
当前,存内计算的研究方向主要分为两类:一类是基于新材料、新器件进行算力挖掘,如中国专利“非易失性存内计算芯片及其运算控制方法”,申请号201910713399.0,它基于非易失性存储器进行结构修改,其优势在于存储的数据掉电不丢失,但缺点是工艺成熟度不高,结构复杂;另一类则是通过对成熟的SRAM结构进行定制化修改,如中国专利“一种适用于全连接二值化神经网络的存内计算电路”,申请号201910623458.5,它则是利用成熟的SRAM结构进行存储单元结构扩展,使其在位线上具备模拟运算的能力。这种基于SRAM结构的存内计算以其工艺成熟,结构简单,成为工程化应用潜力巨大的研究热点,如密歇根大学发表的“Neural Cache:Bit-Serial In-Cache Acceleration of Deep NeuralNetworks”,它完全复用SRAM的6T存储单元,仅在***电路增加较少的数字逻辑实现逻辑运算,通过SRAM庞大的位线资源实现大规模并行计算能力。而目前SRAM结构在存内IP计算中,需要采用软件指令引入导致效率低下,无法实现大规模数据并行,导致无法在人工智能中有效进行应用。
发明内容
本发明的目的在于提供一种基于存内计算的卷积加速计算***及方法,以克服现有技术的不足。
为达到上述目的,本发明采用如下技术方案:
一种基于存内计算的卷积加速计算方法,包括以下步骤:
S1,在存储模式下,将卷积核和输入特征图数据按行串行加载进存内计算IP中;
S2,当数据加载完毕后,在存内计算IP内首先以元素为单位逐位进行乘法运算,当一个元素乘法完成后再逐位进行加法运算获得部分和累加结果;
S3,当一个元素的乘加运算结束后,如果一次卷积没有结束,则保持卷积核不变,将输入特征图元素地址移动至下一个元素起始地址,重复进行乘法和加法运算,直至整个卷积核元素均执行完毕得到计算结果,将计算结果在存储模式下进行读取,即可完成存内计算的卷积加速计算。
进一步的,将卷积核与输入特征图的对应区域进行乘累加得到一个位置输出结果,然后按步长在输入特征图上移动并进行相同操作。
进一步的,具体的,将卷积核的元素写入SRAM每行固定位置,同时将输入特征图不同的数据加载到SRAM各行中,最终在列方向将形成初始化结果。
进一步的,当数据加载完毕后,在SRAM中进行列操作,并行执行乘法操作。
进一步的,在执行加法时,将加法结果空间高位补2个零,按位执行6个周期后即可完成加法操作。
一种基于存内计算的卷积加速计算***,包括卷积加速器指令接口、计数器组和状态机组;卷积加速指令接口用于接收处理器发出的卷积运算控制信号和待运算数据,并将接收到的卷积运算控制信号和待运算数据进行解析,将解析数据传输至计算器组;
计数器组根据解析数据有序进行存内计算IP初始化、乘法逐位计算、加法逐位计算以及操作数的切换,实现卷积进程的周期控制;状态机组用于数据的加载、乘法与加法操作中源操作数与目的操作数地址的精确控制。
进一步的,卷积加速器指令接口将接收到处理器指令解析出存内计算IP的模式控制信号、初始化状态机所使用的运算数据以及对计数器组的计数配置值,同时监控所有计数器的溢出信号,以确定运算的阶段状态,最终通过存内计算IP的读数据端口取得卷积运算结果。
进一步的,计数器组包括行计数器、操作数位宽计数器、结果位宽计数器和卷积核元素计数器;
行计数器接收来自指令接口的待运算数据个数作为计数器预置值,在使能信号有效后即按周期自增计数,该计数器预置值作为使能信号控制初始化状态机对存内计算IP按行加载数据;当计数值达到预置值时产生预置溢出信号,将预置溢出信号返回给指令接口同时发往下一级的操作数位宽计数器;
操作数位宽计数器接收指令接口的乘法操作数位宽作为计数预置值,当前一级行计数器溢出后,令乘法状态机对存内计算IP按周期逐位进行乘法,同时最后一级卷积核元素计数器的溢出信号通过反相器后与行计数器的预置溢出信号经过与门作为使能信号,当操作数位宽计数值达到预置值时产生操作数溢出信号,将操作数溢出信号返回给指令接口同时发往下一级的结果位宽计数器;
结果位宽计数器接收指令接口的加法操作数位宽作为计数预置值,控制加法状态机逐位进行累加操作,当结果位宽计数值达到预置值时产生结果溢出信号,结果溢出信号传输至下一级卷积核元素计数器;
卷积核元素计数器收来自指令接口的卷积核元素个数作为卷积核元素计数器预置值,当卷积核元素数值达到预置值时产生溢出信号,卷积核元素计数器的溢出信号通过反相器后与行计数器的预置溢出信号经过与门作为使能信号。
进一步的,状态机组包括初始化状态机、乘法状态机和加法状态机;
初始化状态机作用于存内计算IP正常模式下的地址、写数据、写使能与读数据端口,乘法状态机产生乘法操作的被乘数列地址、乘数列地址以及乘积列地址,加法状态机则产生加法操作的源操作数A列地址、源操作数B列地址以及加法结果列地址。
进一步的,乘法状态机和加法状态机产生的三种列地址分别通过三个MUX复选器接入存内计算IP在运算模式下的源操作数A、源操作数B以及目的操作数C端口。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种基于存内计算的卷积加速计算方法,在存储模式下,将卷积核和输入特征图数据按行串行加载进存内计算IP中,在存储模式下将卷积运算中的恒定参数卷积核与待处理的输入特征图加载到存储器中,然后切换至运算模式,通过有序控制存内计算IP串行完成操作数的乘法、部分和累加以及操作数的切换步骤,利用卷积加速控制结构将卷积运算的所有步骤按周期进行无缝衔接,采用硬件替代软件进行时序调度,避免复杂的软件指令引入的效率损失,从而有效发挥存内计算IP在实际大规模数据并行处理中的效能优势。本发明将卷积运算进行算力加速,以降低卷积运算的时间开销,为人工智能的实时性提供技术支撑。
进一步的,将多个乘法结果全部相加,在执行加法时,将加法结果空间mul高位补2个零,按位执行6个周期后即可完成加法操作,节省存储空间。
进一步的,三种状态机有序产生正常模式和运算模式下的操作数地址信号,保证各个运算流程的无缝衔接并有序完成卷积运算。
本申请一种基于存内计算的卷积加速计算***,采用与处理器交互的卷积加速器指令接口,处理器仅需要将卷积运算的数据通过该接口加载并发出启动信号,就可以无阻塞的处理其它程序进程,本申请卷积加速计算***将会自动完成数据运算过程中操作数地址的计算以及时序的精准控制,可以避免传统软件执行方案中处理器需要实时干预卷积加速器的运转,有效降低卷积程序对于处理器整体运行效率的干扰,同时有利于降低编程人员的程序设计复杂度。
进一步的,采用四级计数器级联结构,通过递进式的驱动控制以及循环控制,可以有效保证初始化、乘法、加法及操作数切换的无缝衔接,最大限度降低不同运算模式切换的时间开销,同时不同计数器驱动下的初始化状态、乘法状态机和加法状态机,又能精准的控制存内计算IP在存储模式的逐行加载以及在计算模式下的逐位乘加操作。该控制接口逻辑结构清晰,设计复杂度低,能够高效实现对存内计算IP的控制。
附图说明
图1为本发明实施例中具体方法流程示意图。
图2为本发明实施例中卷积运算示意图。
图3为本发明实施例中存内计算流程图。
图4为本发明实施例中卷积加速控制***结构示意图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
如图1所示,一种基于存内计算的卷积加速计算方法,包括以下步骤:
S1,在存储模式下,将卷积核和输入特征图数据按行串行加载进存内计算IP中;
S2,当数据加载完毕后,在存内计算IP内首先以元素为单位逐位进行乘法运算,当一个元素乘法完成后再逐位进行加法运算获得部分和累加结果;
S3,当一个元素的乘加运算结束后,如果一次卷积没有结束,则保持卷积核不变,将输入特征图元素地址移动至下一个元素起始地址,重复进行乘法和加法运算,直至整个卷积核元素均执行完毕得到计算结果,将计算结果在存储模式下进行读取,即可完成存内计算的卷积加速计算。
本申请给出卷积核weight大小为2*2,输入特征图ifmaps为6*6的实施例,设卷积步长为1,则卷积运算结果ofmaps大小即为5*5。
具体过程为:将卷积核与输入特征图的对应区域进行乘累加得到一个位置输出结果,然后按步长在输入特征图上移动并进行相同操作;如图2中卷积运算结果ofmaps的O00和O10两个元素,其值分别为:
Figure BDA0002809197860000071
Figure BDA0002809197860000072
如图3所示,卷积运算在SRAM型存内计算IP上的运算流程示意图,以计算图2中O00为例,其中每个操作数为2位,如w00[1]和w00[0]。(1)首先是初始化,此时存内计算IP处于常规SRAM的存储模式,从行方向看可以分为四个区域:卷积核weight、输入特征图ifmap、乘法结果mul和累加结果result,其中乘法结果为2*2=4位,而累加结果则是4个4位二进制数据之和的最大位宽即6位,由于卷积核是所有乘累加中固定的操作数,所以将卷积核weight的4个元素w00、w10、w01和w11共4个即8位数据写入到SRAM每行固定位置,同时将输入特征图ifmap不同的数据加载到SRAM各行中,最终在列方向将形成初始化结果。(2)乘法操作。此时存内计算IP切换至计算模式,SRAM将由初始化状态时的行操作转向列操作。一个2位卷积核元素w00与一个2位ifmap元素f00相乘,需要消耗7个周期,生成的4位乘积t00写入到乘法结果mul域中。此时所有列方向均并行执行乘法操作,即7个周期后将得到与列线数量相同的乘积结果,这就达到了大规模并行计算的目的;(3)部分和累加。卷积运算是将多个乘法结果全部相加,为了节省存储空间,本发明仅再开辟一个加法结果空间result,执行“t00+O00->O00”。由于加法结果空间mul的位宽为4位,其数值最大为15,对于4个元素的卷积而言,累加和最大为60,使用6位即可表示。在执行加法时,将加法结果空间mul高位补2个零,按位执行6个周期后即可完成加法操作。(4)返回步骤(2),顺序执行下一个操作数的乘法和加法操作,直至卷积核内4个元素全部遍历完,此时在累加结果result域得到的就是ofmaps结果,此时仅需再次切换至存储模式,按行读出result结果即可。
如图4所示,一种基于存内计算的卷积加速计算***,包括卷积加速器指令接口、计数器组和状态机组;卷积加速指令接口用于接收处理器发出的卷积运算控制信号和待运算数据;计数器组作为核心部件,其作用是有序实现存内计算IP初始化、乘法逐位计算、加法逐位计算以及操作数的切换,实现卷积进程的周期控制;状态机组的作用是完成数据的加载、乘法与加法操作中源操作数与目的操作数地址的精确控制。
具体的,卷积加速器指令接口将接收到处理器指令解析出存内计算IP的模式控制信号、初始化状态机所使用的运算数据以及对计数器组的计数配置值,同时监控所有计数器的溢出信号,以确定运算的阶段状态,最终通过存内计算IP的读数据端口取得卷积运算结果;
对于行计数器,行计数器接收来自指令接口的待运算数据个数作为计数器预置值,在使能信号有效后即按周期自增计数,该计数值作为使能信号控制初始化状态机对存内计算IP按行加载数据;当计数值达到预置值时产生预置溢出信号,将预置溢出信号返回给指令接口同时发往下一级的操作数位宽计数器。操作数位宽计数器接收指令接口的乘法操作数位宽作为计数预置值,在图3中该预置值为2,同时当前一级行计数器溢出后,表明本计数器可以使能乘法状态机,令乘法状态机对存内计算IP按周期逐位进行乘法,同时最后一级卷积核元素计数器的溢出信号通过反相器后与行计数器的预置溢出信号经过与门作为使能信号,目的是保证当卷积运算全部结束后将结束乘法运算;当操作数位宽计数值达到预置值时产生操作数溢出信号,将操作数溢出信号返回给指令接口同时发往下一级的结果位宽计数器。结果位宽计数器与操作数位宽计数器相似,只不过它的预置值是加法结果位宽值,在图3中该预置值为6,它的计数值控制加法状态机逐位进行累加操作,其结果溢出信号控制下一级的卷积核元素计数器的使能。卷积核元素计数器的预置值就是卷积核元素个数,在图3中该预置值为4,它的溢出信号控制是否需要重复执行乘加操作;
状态机组直接作用于存内计算IP的各个端口,状态机组包括初始化状态机。初始化状态机作用于存内计算IP正常模式下的地址、写数据、写使能与读数据端口,就是将待运算数据加载到存内计算IP的各行中,同时将各列的最终运算结果按行读出。乘法状态机产生乘法操作的被乘数列地址、乘数列地址以及乘积列地址,加法状态机则产生加法操作的源操作数A列地址、源操作数B列地址以及加法结果列地址;由于乘法和加法对存内计算IP分时操作,因此乘法状态机和加法状态机产生的三种列地址分别通过三个MUX复选器接入存内计算IP在运算模式下的源操作数A、源操作数B以及目的操作数C端口。三种状态机有序产生正常模式和运算模式下的操作数地址信号,保证各个运算流程的无缝衔接并有序完成卷积运算。
为了降低处理器对存内计算IP的复杂控制,本申请采用与处理器交互的卷积加速器指令接口,处理器仅需要将卷积运算的数据通过该接口加载并发出启动信号,就可以无阻塞的处理其它程序进程,本申请卷积加速计算***将会自动完成数据运算过程中操作数地址的计算以及时序的精准控制,可以避免传统软件执行方案中处理器需要实时干预卷积加速器的运转,有效降低卷积程序对于处理器整体运行效率的干扰,同时有利于降低编程人员的程序设计复杂度。本发明所提的卷积加速计算***,采用四级计数器级联结构,通过递进式的驱动控制以及循环控制,可以有效保证初始化、乘法、加法及操作数切换的无缝衔接,最大限度降低不同运算模式切换的时间开销,同时不同计数器驱动下的初始化状态、乘法状态机和加法状态机,又能精准的控制存内计算IP在存储模式的逐行加载以及在计算模式下的逐位乘加操作。该控制接口逻辑结构清晰,设计复杂度低,能够高效实现对存内计算IP的控制。
本发明一种基于存内计算的卷积加速计算方法,利用计算过程中操作数运算与写回分时操作的原理,采用原位计算将“A+B->C”修改为“A+B->A”,这样将3个数据的空间缩减为2个,可以将节省出的存储空间继续存放待卷积运算的输入特征图数据,进一步充分复用卷积核进行更多的卷积操作,降低输入特征图数据由于存储空间不足而频繁加载所带来的功耗与时间开销。

Claims (10)

1.一种基于存内计算的卷积加速计算方法,其特征在于,包括以下步骤:
S1,在存储模式下,将卷积核和输入特征图数据按行串行加载进存内计算IP中;
S2,当数据加载完毕后,在存内计算IP内首先以元素为单位逐位进行乘法运算,当一个元素乘法完成后再逐位进行加法运算获得部分和累加结果;
S3,当一个元素的乘加运算结束后,如果一次卷积没有结束,则保持卷积核不变,将输入特征图元素地址移动至下一个元素起始地址,重复进行乘法和加法运算,直至整个卷积核元素均执行完毕得到计算结果,将计算结果在存储模式下进行读取,即可完成存内计算的卷积加速计算。
2.根据权利要求1所述的一种基于存内计算的卷积加速计算方法,其特征在于,将卷积核与输入特征图的对应区域进行乘累加得到一个位置输出结果,然后按步长在输入特征图上移动并进行相同操作。
3.根据权利要求1所述的一种基于存内计算的卷积加速计算方法,其特征在于,具体的,将卷积核的元素写入SRAM每行固定位置,同时将输入特征图不同的数据加载到SRAM各行中,最终在列方向将形成初始化结果。
4.根据权利要求1所述的一种基于存内计算的卷积加速计算方法,其特征在于,当数据加载完毕后,在SRAM中进行列操作,并行执行乘法操作。
5.根据权利要求1所述的一种基于存内计算的卷积加速计算方法,其特征在于,在执行加法时,将加法结果空间高位补2个零,按位执行6个周期后即可完成加法操作。
6.一种基于存内计算的卷积加速计算***,其特征在于,包括卷积加速器指令接口、计数器组和状态机组;卷积加速指令接口用于接收处理器发出的卷积运算控制信号和待运算数据,并将接收到的卷积运算控制信号和待运算数据进行解析,将解析数据传输至计算器组;
计数器组根据解析数据有序进行存内计算IP初始化、乘法逐位计算、加法逐位计算以及操作数的切换,实现卷积进程的周期控制;状态机组用于数据的加载、乘法与加法操作中源操作数与目的操作数地址的精确控制。
7.根据权利要求6所述的一种基于存内计算的卷积加速计算***法,其特征在于,卷积加速器指令接口将接收到处理器指令解析出存内计算IP的模式控制信号、初始化状态机所使用的运算数据以及对计数器组的计数配置值,同时监控所有计数器的溢出信号,以确定运算的阶段状态,最终通过存内计算IP的读数据端口取得卷积运算结果。
8.根据权利要求6所述的一种基于存内计算的卷积加速计算***法,其特征在于,计数器组包括行计数器、操作数位宽计数器、结果位宽计数器和卷积核元素计数器;
行计数器接收来自指令接口的待运算数据个数作为计数器预置值,在使能信号有效后即按周期自增计数,该计数器预置值作为使能信号控制初始化状态机对存内计算IP按行加载数据;当计数值达到预置值时产生预置溢出信号,将预置溢出信号返回给指令接口同时发往下一级的操作数位宽计数器;
操作数位宽计数器接收指令接口的乘法操作数位宽作为计数预置值,当前一级行计数器溢出后,令乘法状态机对存内计算IP按周期逐位进行乘法,同时最后一级卷积核元素计数器的溢出信号通过反相器后与行计数器的预置溢出信号经过与门作为使能信号,当操作数位宽计数值达到预置值时产生操作数溢出信号,将操作数溢出信号返回给指令接口同时发往下一级的结果位宽计数器;
结果位宽计数器接收指令接口的加法操作数位宽作为计数预置值,控制加法状态机逐位进行累加操作,当结果位宽计数值达到预置值时产生结果溢出信号,结果溢出信号传输至下一级卷积核元素计数器;
卷积核元素计数器收来自指令接口的卷积核元素个数作为卷积核元素计数器预置值,当卷积核元素数值达到预置值时产生溢出信号,卷积核元素计数器的溢出信号通过反相器后与行计数器的预置溢出信号经过与门作为使能信号。
9.根据权利要求6所述的一种基于存内计算的卷积加速计算***法,其特征在于,状态机组包括初始化状态机、乘法状态机和加法状态机;
初始化状态机作用于存内计算IP正常模式下的地址、写数据、写使能与读数据端口,乘法状态机产生乘法操作的被乘数列地址、乘数列地址以及乘积列地址,加法状态机则产生加法操作的源操作数A列地址、源操作数B列地址以及加法结果列地址。
10.根据权利要求9所述的一种基于存内计算的卷积加速计算***法,其特征在于,乘法状态机和加法状态机产生的三种列地址分别通过三个MUX复选器接入存内计算IP在运算模式下的源操作数A、源操作数B以及目的操作数C端口。
CN202011380470.7A 2020-11-30 2020-11-30 一种基于存内计算的卷积加速计算***及方法 Active CN112487750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011380470.7A CN112487750B (zh) 2020-11-30 2020-11-30 一种基于存内计算的卷积加速计算***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011380470.7A CN112487750B (zh) 2020-11-30 2020-11-30 一种基于存内计算的卷积加速计算***及方法

Publications (2)

Publication Number Publication Date
CN112487750A true CN112487750A (zh) 2021-03-12
CN112487750B CN112487750B (zh) 2023-06-16

Family

ID=74937973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011380470.7A Active CN112487750B (zh) 2020-11-30 2020-11-30 一种基于存内计算的卷积加速计算***及方法

Country Status (1)

Country Link
CN (1) CN112487750B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312285A (zh) * 2021-06-11 2021-08-27 西安微电子技术研究所 一种卷积神经网络加速器及其工作方法
CN113741858A (zh) * 2021-09-06 2021-12-03 南京后摩智能科技有限公司 存内乘加计算方法、装置、芯片和计算设备
CN113807509A (zh) * 2021-09-14 2021-12-17 绍兴埃瓦科技有限公司 神经网络加速装置、方法和通信设备
CN114003198A (zh) * 2021-10-20 2022-02-01 中科寒武纪科技股份有限公司 内积处理部件、任意精度计算设备、方法及可读存储介质
CN115145839A (zh) * 2021-03-31 2022-10-04 广东高云半导体科技股份有限公司 一种深度卷积加速器及其实现加速深度卷积的方法
CN115719088A (zh) * 2022-11-17 2023-02-28 晶铁半导体技术(广东)有限公司 一种支持存内cnn的中间缓存调度电路装置
WO2023102722A1 (en) * 2021-12-07 2023-06-15 Intel Corporation Interleaved data loading system to overlap computation and data storing for operations

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298570A (zh) * 2011-09-13 2011-12-28 浙江大学 一种点数可变的混合基 fft/ifft实现装置及其方法
CN109784483A (zh) * 2019-01-24 2019-05-21 电子科技大学 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器
US20190179635A1 (en) * 2017-12-11 2019-06-13 Futurewei Technologies, Inc. Method and apparatus for tensor and convolution operations
CN110427171A (zh) * 2019-08-09 2019-11-08 复旦大学 可扩展的定点数矩阵乘加运算的存内计算结构和方法
CN111045954A (zh) * 2019-11-29 2020-04-21 北京航空航天大学青岛研究院 基于nand-spin的存内计算加速方法
CN111796797A (zh) * 2020-06-04 2020-10-20 中国科学院信息工程研究所 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置
CN111988031A (zh) * 2020-08-28 2020-11-24 华中科技大学 一种忆阻存内矢量矩阵运算器及运算方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298570A (zh) * 2011-09-13 2011-12-28 浙江大学 一种点数可变的混合基 fft/ifft实现装置及其方法
US20190179635A1 (en) * 2017-12-11 2019-06-13 Futurewei Technologies, Inc. Method and apparatus for tensor and convolution operations
CN109784483A (zh) * 2019-01-24 2019-05-21 电子科技大学 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器
CN110427171A (zh) * 2019-08-09 2019-11-08 复旦大学 可扩展的定点数矩阵乘加运算的存内计算结构和方法
CN111045954A (zh) * 2019-11-29 2020-04-21 北京航空航天大学青岛研究院 基于nand-spin的存内计算加速方法
CN111796797A (zh) * 2020-06-04 2020-10-20 中国科学院信息工程研究所 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置
CN111988031A (zh) * 2020-08-28 2020-11-24 华中科技大学 一种忆阻存内矢量矩阵运算器及运算方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MINGU KANG等: "An In-Memory VLSI Architecture for Convolutional Neural Networks", 《IEEE》, pages 494 - 505 *
QUAN ZHOU等: "Reconfigurable Instruction-Based Multicore Parallel Convolution and Its Application in Real-Time Template Matching", 《IEEE》, pages 1780 - 1793 *
林钰登 等: "基于新型忆阻器的存内计算", 《微纳电子与智能制造》, pages 35 - 46 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145839A (zh) * 2021-03-31 2022-10-04 广东高云半导体科技股份有限公司 一种深度卷积加速器及其实现加速深度卷积的方法
CN115145839B (zh) * 2021-03-31 2024-05-14 广东高云半导体科技股份有限公司 一种深度卷积加速器及其实现加速深度卷积的方法
CN113312285A (zh) * 2021-06-11 2021-08-27 西安微电子技术研究所 一种卷积神经网络加速器及其工作方法
CN113312285B (zh) * 2021-06-11 2023-08-18 西安微电子技术研究所 一种卷积神经网络加速器及其工作方法
CN113741858A (zh) * 2021-09-06 2021-12-03 南京后摩智能科技有限公司 存内乘加计算方法、装置、芯片和计算设备
CN113741858B (zh) * 2021-09-06 2024-04-05 南京后摩智能科技有限公司 存内乘加计算方法、装置、芯片和计算设备
CN113807509A (zh) * 2021-09-14 2021-12-17 绍兴埃瓦科技有限公司 神经网络加速装置、方法和通信设备
CN113807509B (zh) * 2021-09-14 2024-03-22 绍兴埃瓦科技有限公司 神经网络加速装置、方法和通信设备
CN114003198A (zh) * 2021-10-20 2022-02-01 中科寒武纪科技股份有限公司 内积处理部件、任意精度计算设备、方法及可读存储介质
CN114003198B (zh) * 2021-10-20 2023-03-24 中科寒武纪科技股份有限公司 内积处理部件、任意精度计算设备、方法及可读存储介质
WO2023102722A1 (en) * 2021-12-07 2023-06-15 Intel Corporation Interleaved data loading system to overlap computation and data storing for operations
CN115719088A (zh) * 2022-11-17 2023-02-28 晶铁半导体技术(广东)有限公司 一种支持存内cnn的中间缓存调度电路装置

Also Published As

Publication number Publication date
CN112487750B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN112487750B (zh) 一种基于存内计算的卷积加速计算***及方法
CN110458279B (zh) 一种基于fpga的二值神经网络加速方法及***
EP3533003B1 (en) Exploiting input data sparsity in neural network compute units
CN109598338B (zh) 一种基于fpga的计算优化的卷积神经网络加速器
CN112711394B (zh) 基于数字域存内计算的电路
CN107301455B (zh) 用于卷积神经网络的混合立方体存储***及加速计算方法
CN110751277B (zh) 运算电路、包括该运算电路的运算装置和***
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
CN109472361B (zh) 神经网络优化方法
CN110851779B (zh) 用于稀疏矩阵运算的脉动阵列架构
CN109739556B (zh) 一种基于多并行缓存交互及计算的通用深度学习处理器
CN114781632A (zh) 基于动态可重构脉动张量运算引擎的深度神经网络加速器
Chen et al. Towards efficient allocation of graph convolutional networks on hybrid computation-in-memory architecture
Elbtity et al. High speed, approximate arithmetic based convolutional neural network accelerator
US7693926B2 (en) Modular multiplication acceleration circuit and method for data encryption/decryption
CN113705794B (zh) 一种基于动态激活位稀疏的神经网络加速器设计方法
Dai et al. An energy-efficient bit-split-and-combination systolic accelerator for nas-based multi-precision convolution neural networks
CN115495152A (zh) 变长输入的存内计算电路
CN111340224B (zh) 适用于低资源嵌入式芯片的cnn网络的加速设计方法
Park et al. ShortcutFusion++: optimizing an end-to-end CNN accelerator for high PE utilization
CN109343826B (zh) 一种面向深度学习的可重构处理器运算单元
Chen et al. An efficient ReRAM-based inference accelerator for convolutional neural networks via activation reuse
Wang et al. An FPGA-based reconfigurable CNN training accelerator using decomposable Winograd
Wang et al. eF 2 lowSim: System-Level Simulator of eFlash-Based Compute-in-Memory Accelerators for Convolutional Neural Networks
Kannappan et al. A Survey on Multi-operand Adder

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