一种支持存内CNN的中间缓存调度方法技术

技术编号:36823296 阅读:12 留言:0更新日期:2023-03-12 01:10
本发明专利技术涉及支持存内CNN的中间缓存调度方法,属于复用CNN调度运算技术领域,解决了现有技术中访存和数据搬运造成的能耗强和延迟高的问题。一种支持存内CNN的中间缓存调度方法,包括以下步骤:对输入数组的元素和卷积核权重进行卷积运算得到卷积结果;根据选择信号输出选择结果;选择结果包括卷积结果或加和结果;其中,加和结果为卷积结果和中间FIFO缓存单元输出的数据之和;根据使能信号选择是否将选择结果写入中间FIFO缓存单元以及选择是否输出中间FIFO缓存单元所存储的最前面的数据;其中,选择信号、使能信号基于时钟信号和外部输入的有效标志信号得到。实现了通过FIFO缓存简化CNN调度。化CNN调度。化CNN调度。

【技术实现步骤摘要】
一种支持存内CNN的中间缓存调度方法


[0001]本专利技术涉及复用CNN调度运算
,尤其涉及一种支持存内CNN的中间缓存调度方法。

技术介绍

[0002]大数据时代下,现有的计算结构在面对数据密集型的应用时,会因为大量的数据搬运和带宽的限制带来能耗和延迟上的提高,使得数据上的向量并行受制于存储器读写带宽。为了解决访存和数据搬运造成的能耗和延迟,存内计算突破了传统冯诺依曼瓶颈,实现了存储单元与逻辑单元的融合,是实现智能计算的主要技术路线之一。学界提出了基于SRAM的算术逻辑运算电路,在存储器中实现算术逻辑运算。现有基于SRAM的算术逻辑运算电路因为计算模式比较单一,在面对外界输入和存储单元之间运算的场景时,电路的性能会受到限制,当前的存内计算技术主要面临着硬件资源复用等问题。
[0003]卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量,也可以减少网络的参数个数,缓解模型的过拟合问题。卷积核是卷积层的重要组成部分。特征提取器是卷积核的本质,其主要作用是自动提取输入信号的深层信息。卷积层由多个特征面组成,每个特征面由多个神经元组成,它的每一个神经元通过卷积核与上一层特征面的局部区域相连。上一层的特征图被一个可学习的卷积核进行卷积,然后通过一个激活函数,就可以得到输出特征图。每个神经元局部连接上一层的神经元,并且共享权值,然后输出数据里的每个神经元通过共享权重去卷积图像后再加上共享偏置得到的,如果没有用共享权值,那么一个神经元需要对应一个卷积核一个偏置,而现在是每个神经元对应的是同一个卷积核同一个偏置,使得参数量大幅下降,适合于存内的数据复用。现有技术中数据的多次访存带来了强损耗和高延时,数据处理的效率低。

技术实现思路

[0004]鉴于上述的分析,本专利技术实施例旨在提供一种支持存内CNN的部分复用中间缓存调度方法,用以解决现有访存和数据搬运造成的能耗和延迟的问题。
[0005]一方面,本专利技术实施例提供了一种支持存内CNN的中间缓存调度方法,包括以下步骤:
[0006]对输入数组的元素和卷积核权重进行卷积运算得到卷积结果;
[0007]根据选择信号输出选择结果;所述选择结果包括卷积结果或加和结果;其中,所述加和结果为卷积结果和中间FIFO缓存单元输出的数据之和;
[0008]根据使能信号选择是否将选择结果写入中间FIFO缓存单元以及选择是否输出中间FIFO缓存单元所存储的最前面的数据;
[0009]基于使能取反信号输出加和结果,作为一次缓存调度的输出结果;
[0010]其中,所述选择信号、使能信号基于时钟信号和外部输入的有效标志信号得到。
[0011]进一步的,根据缓存运算逻辑确定输入数组的元素和卷积核的权重;所述有效标
志信号用于控制是否写入元素、卷积核的权重;所述有效标志信号为0时,不写入,为1时写入。
[0012]进一步的,当所述中间缓存调度方法进行3*3大小卷积核的运算时,所述选择信号、使能信号基于时钟信号和外部输入的有效标志信号得到,包括:
[0013]有效标志信号为1时,表示写入元素、卷积核的权重;控制逻辑单元输出的选择信号和使能信号包括三个阶段:
[0014]起始阶段:第一周期:sel=0,rd_en=0,wr_en=1;
[0015]第二周期:sel=1,rd_en=1,wr_en=1;
[0016]第三周期:sel=0,rd_en=0,wr_en=1;
[0017]循环阶段:第四周期:sel=0,rd_en=1,wr_en=0;
[0018]第五周期:sel=1,rd_en=1,wr_en=1;
[0019]第六周期:sel=0,rd_en=0,wr_en=1;
[0020]…
[0021]结束阶段:最后一个周期:sel=0,rd_en=1,wr_en=0;
[0022]循环阶段的控制信号以第四周期到第六周期为一个循环;其中,sel表示选择信号,rd_en表示FIFO表示读使能信号,wr_en表示FIFO写使能信号为。
[0023]进一步的,所述根据选择信号输出选择结果;所述选择结果包括卷积结果或加和结果包括:
[0024]当选择信号为1时,选择输出卷积结果;
[0025]当选择信号为0时,选择输出加和结果。
[0026]进一步的,所述使能信号包括FIFO读使能信号和FIFO写使能信号;
[0027]FIFO读使能信号用于控制中间FIFO缓存单元是否读出数据;
[0028]FIFO写使能信号用于控制中间FIFO缓存单元写入数据或输出至中间缓存调度电路单元的输出端。
[0029]进一步的,所述FIFO读使能信号用于控制中间FIFO缓存单元是否读出数据包括:
[0030]当FIFO读使能信号为1时,中间FIFO缓存单元读出数据;
[0031]当FIFO读使能信号为0时,中间FIFO缓存单元不读数据;
[0032]进一步的,所述FIFO写使能信号用于控制中间FIFO缓存单元写入数据或输出至中间缓存调度电路单元的输出端包括:
[0033]当FIFO写使能信号为1时,中间FIFO缓存单元写入选择结果;
[0034]当FIFO写使能信号为0时,中间FIFO缓存单元不写入选择结果,写使能信号取反为1,控制数据输出至中间缓存调度电路单元的输出端。
[0035]进一步的,所述缓存运算逻辑包括按行依次调取输入数组中的每一列元素,并根据该元素与卷积核的移动关系,得到该元素对应的若干卷积结果;其中,卷积核的每一个元素为权重。
[0036]进一步的,所述对输入数组的元素和卷积核权重进行卷积运算得到卷积结果包括每次计算一个元素与权重的卷积得到一个卷积结果;通过选择信号和使能信号存入一个中间FIFO缓存单元中。
[0037]进一步的,当所述中间缓存调度方法进行3*3大小卷积核的运算时,所述对输入数
组的元素和卷积核权重进行卷积运算得到卷积结果还包括:
[0038]计算输入数组第一行一个元素与对应权重的卷积得到一个卷积结果;通过选择信号和使能信号存入第一中间FIFO缓存单元中;
[0039]计算输入数组第二行一个元素与对应权重的卷积得到一个卷积结果;通过选择信号和使能信号存入第二中间FIFO缓存单元中;
[0040]计算输入数组第三行一个元素与对应权重的卷积得到一个卷积结果;通过选择信号和使能信号存入第三中间FIFO缓存单元中;
[0041]其中,上述三行元素与权重的卷积同时进行。
[0042]与现有技术相比,本专利技术至少可实现如下有益效果之一:
[0043]1、本申请基于存内向量处理单元的形式,卷积运算过程采用行复用的方式,减少了访存和数据搬运造成的能耗和延迟,基于中间缓存调度电路装置的中间缓存调度方法可以充分利用卷积向量的可配置性,通过在多个周期实现对任意长度参数的卷积支持。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持存内CNN的中间缓存调度方法,其特征在于,包括以下步骤:对输入数组的元素和卷积核权重进行卷积运算得到卷积结果;根据选择信号输出选择结果;所述选择结果包括卷积结果或加和结果;其中,所述加和结果为卷积结果和中间FIFO缓存单元输出的数据之和;根据使能信号选择是否将选择结果写入中间FIFO缓存单元以及选择是否输出中间FIFO缓存单元所存储的最前面的数据;基于使能取反信号输出加和结果,作为一次缓存调度的输出结果;其中,所述选择信号、使能信号基于时钟信号和外部输入的有效标志信号得到。2.根据权利要求1所述的一种支持存内CNN的中间缓存调度方法,其特征在于,根据缓存运算逻辑确定输入数组的元素和卷积核的权重;所述有效标志信号用于控制是否写入元素、卷积核的权重;所述有效标志信号为0时,不写入,为1时写入。3.根据权利要求1所述的一种支持存内CNN的中间缓存调度方法,其特征在于,当所述中间缓存调度方法进行3*3大小卷积核的运算时,所述选择信号、使能信号基于时钟信号和外部输入的有效标志信号得到,包括:有效标志信号为1时,表示写入元素、卷积核的权重;控制逻辑单元输出的选择信号和使能信号包括三个阶段:起始阶段:第一周期:sel=0,rd_en=0,wr_en=1;第二周期:sel=1,rd_en=1,wr_en=1;第三周期:sel=0,rd_en=0,wr_en=1;循环阶段:第四周期:sel=0,rd_en=1,wr_en=0;第五周期:sel=1,rd_en=1,wr_en=1;第六周期:sel=0,rd_en=0,wr_en=1;

结束阶段:最后一个周期:sel=0,rd_en=1,wr_en=0;循环阶段的控制信号以第四周期到第六周期为一个循环;其中,sel表示选择信号,rd_en表示FIFO表示读使能信号,wr_en表示FIFO写使能信号为。4.根据权利要求3所述的一种支持存内CNN的中间缓存调度方法,其特征在于,所述根据选择信号输出选择结果;所述选择结果包括卷积结果或加和结果包括:当选择信号为1时,选择输出卷积结果;当选择信号为0时,选择输出加和结果。5.根据权利要求4所述的一种支持存内CNN的中间缓存调度电路装置,其特征在于,所述使能信号包括F...

【专利技术属性】
技术研发人员:张盛孙惜阳李政
申请(专利权)人:晶铁半导体技术广东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1