一种针对ReRAM的神经网络加速器制造技术

技术编号:37274359 阅读:13 留言:0更新日期:2023-04-20 23:42
本发明专利技术公开了一种基于ReRAM的神经网络加速器,属于神经网络加速器设计领域,其加速器包括ReRAM原位计算阵列、输入寄存器、累加缓存器、向量逻辑单元、全局缓存器、计算控制单元和特征数据读写DMA;所述输入寄存器和累加缓存器连接ReRAM原位计算阵列。本发明专利技术采用一种新颖的神经网络权重的映射方法用于神经网络的推理计算,并采用高效的直接存储器访问和灵活的数据摆放格式,在提高数据流和计算流并行度的同时,解决了推理过程中数据阻塞的问题,提升架构的数据吞吐率。升架构的数据吞吐率。升架构的数据吞吐率。

【技术实现步骤摘要】
一种针对ReRAM的神经网络加速器


[0001]本专利技术涉及神经网络加速器设计领域,尤其涉及一种基于ReRAM的神经网络加速器。

技术介绍

[0002]随着数据规模的飞速增长,存算密集型的神经网络应用对硬件算力和数据存储容量的需求也相应增大。为了突破传统冯诺依曼架构中计算存储分离造成的访存带宽瓶颈,越来越多的研究开始关注高密度的存算一体计算架构,以期通过将计算和存储紧密耦合,减少由于数据在存储部件和计算部件间频繁搬运而额外增加的访存能耗和带宽需求,从而最大化硬件架构的能效比。
[0003]新兴的非易失性存储器——阻变存储器(ReRAM)利用电导值进行存储,通过欧姆定律组织乘法累加计算,形成了传统存储器不具备的原位计算功能。传统的加速对基于冯
·
诺伊曼体系结构,需要同时搬运Weight与Feature才能进行计算。而基于ReRAM的神经网络加速器将输入向量转变成电压施加在RRAM的字线(Word

line)上,再将另一个权重输入预先映射为ReRAM各个单元的电导,利用位线(Bit

line)上的累积电流表征为两个向量的数量积,实现原位存内处理,大大减缓数据带宽压力以提高性能。
[0004]现阶段,主流存算一体加速器常采用层次化的拓扑结构,电路被自顶而下划分成不同规模的功能模块。架构中最小粒度计算模块为ReRAM交叉阵列与算术逻辑单元,基本单元组合形成上层运算模块,上层模块间仍可以相互组合,以此类推直至架构顶层。根据模块的调度和驱动方式,现有的加速器体系可以分成两类:数据流驱动型和指令流驱动型。
[0005]数据流驱动型结构指在计算执行过程中,各功能模块的数据存取和交互均由状态机控制完成,过程无指令干涉。神经网络推理中,一旦网络的结构和权重确定,整个运算中数据的规模和执行模式也随之确定。数据流驱动型存算一体结构正是瞄准这一特性,在执行前将网络层的结构、连接关系以及权重值映射到对应的功能阵列上,通过执行时输入输出控制,即可实现网络推理过程。此类结构中,典型的加速器有ISAAC,PRIME等。
[0006]目前业界主流的加速器结构也存在问题:1.权重映射算法模式较为单一固定,灵活度较差;2.现有的计算架构在进行网络推理过程中,常出现数据流的阻塞情况。

技术实现思路

[0007]本专利技术的目的在于克服现有技术的不足,提出一种基于ReRAM的神经网络加速器。
[0008]本专利技术的目的是通过以下技术方案来实现的:一种基于ReRAM的神经网络加速器,包括ReRAM原位计算阵列、输入寄存器、累加缓存器、向量逻辑单元、全局缓存器、计算控制单元和特征数据读写DMA;所述输入寄存器和累加缓存器连接ReRAM原位计算阵列;所述ReRAM原位计算阵列的计算单元组织形式采用交叉电路布局,每个字线和位线的交叉点均为一个映射多比特数据的ReRAM器件;ReRAM原位计算阵列包含多组计算
Array,每组Array包含列方向上的多个Bank ReRAM计算单元;所述输入寄存器为计算流程中输入特征图和阵列计算之间的连接桥,用于数据缓存、布局转换和数据分发;所述累加缓存器用于缓存和累加ReRAM原位计算阵列输出的部分和数据;所述向量逻辑单元用于根据神经网络层的需要进行对应的激活函数计算和网络池化计算;所述全局缓存器的输入端连接向量逻辑单元,全局缓存器的输出端连接输入寄存器;用于缓存神经网络层间的中间数据;所述计算控制单元用于管理片上数据存取、搬运和计算全过程;所述特征数据读写DMA用于对特征数据进行搬运。
[0009]进一步的,所述ReRAM原位计算阵列在进行权重映射算法时,以Bank作为第一优先级,以Bank Row方向作为第二优先级,并将每个权重数据按照比特位以由高到低或由低到高的特定顺序规则排列在ReRAM原位计算阵列的交叉电路中。
[0010]进一步的,所述ReRAM原位计算阵列的位线逻辑底端连接有输出寄存器和加法器单元,用于进行多位线数据间的累加计算。
[0011]进一步的,所述ReRAM原位计算阵列的每个计算单元之间通过NoC相互连接。
[0012]进一步的,所述输入寄存器在进行布局转换时,根据输入特征数据的需要在iReg中进行数据布局的调整,将各输入通道上的切片数据重新调整布局使其与存储在ReRAM原位计算阵列中的权重数据的计算位置相符。
[0013]进一步的,所述全局缓存器的缓存方式为乒乓缓存。
[0014]进一步的,所述计算控制单元的计算过程为:首先,卷积核在输入特征上的滑动被分为三个方向,分别是沿W方向、IC方向以及H方向;然后在计算过程中,滑动窗口先沿着W方向执行完毕后,再沿着IC方向滑动,最后沿着H方向滑动;每次卷积滑动窗口计算完毕后,对应的输入数据要发送到累加缓存器的相同位置中,这一过程中,计算控制单元计算得到阵列的输出地址,并控制数据的发送过程;当卷积核滑动完成且累加缓存的计算完成后,控制单元将输出结果依次送到向量逻辑单元中执行向量操作,并把结果存储到全局缓存器中。
[0015]进一步的,所述特征数据读写DMA包括RDMA和WDMA;所述RDMA用于并行从多个Bank上搬运多笔数据到输入寄存器,保证输入寄存器处于满负荷状态工作;所述WDMA用于将计算好的数据从向量逻辑单元的buffer中的结果搬运到全局缓存器中。
[0016]本专利技术的有益效果:本专利技术提出的新型ReRAM存算一体神经网络加速器结构,极大程度上挖掘了卷积和矩阵乘法计算的并行性。不同于传统的神经网络映射算法,新型的权重映射算法以ReRAM阵列的Bank作为第一优先级,以Bank Row方向作为第二优先级,并将每个权重数据按照比特位以由高到低或由低到高的特定顺序规则排列在计算阵列的交叉电路中。基于上述算法,架构中采用多阵列多Bank的ReRAM计算单元模式,通过高效的数据搬运和布局重整模块,对输入特征图执行高并行度的矩阵乘法计算。输出结果通过累加后进行无阻塞的激活和池化操作,极大程度上提高了网络推理流水线的吞吐效率。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0018]图1是本专利技术的加速器架构模块设计图。
[0019]图2是计算控制单元的控制模式示意图。
[0020]图3是一种典型的卷积执行模式示意。
[0021]图4是Resnet50中卷积权重映射示例图。
具体实施方式
[0022]应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ReRAM的神经网络加速器,其特征在于,包括ReRAM原位计算阵列、输入寄存器、累加缓存器、向量逻辑单元、全局缓存器、计算控制单元和特征数据读写DMA;所述输入寄存器和累加缓存器连接ReRAM原位计算阵列;所述ReRAM原位计算阵列的计算单元组织形式采用交叉电路布局,每个字线和位线的交叉点均为一个映射多比特数据的ReRAM器件;ReRAM原位计算阵列包含多组计算Array,每组Array包含列方向上的多个Bank ReRAM计算单元;所述输入寄存器为计算流程中输入特征图和阵列计算之间的连接桥,用于数据缓存、布局转换和数据分发;所述累加缓存器用于缓存和累加ReRAM原位计算阵列输出的部分和数据;所述向量逻辑单元用于根据神经网络层的需要进行对应的激活函数计算和网络池化计算;所述全局缓存器的输入端连接向量逻辑单元,全局缓存器的输出端连接输入寄存器;用于缓存神经网络层间的中间数据;所述计算控制单元用于管理片上数据存取、搬运和计算全过程;所述特征数据读写DMA用于对特征数据进行搬运。2. 根据权利要求1所述的一种基于ReRAM的神经网络加速器,其特征在于,所述ReRAM原位计算阵列在进行权重映射算法时,以Bank作为第一优先级,以Bank Row方向作为第二优先级,并将每个权重数据按照比特位以由高到低或由低到高的特定顺序规则排列在ReRAM原位计算阵列的交叉电路中。3.根据权利要求1所述的一种基于ReRAM的神经网络加速器,其特征在于,所述ReRAM原位计算阵列的位线逻辑底端连接有输出寄存器和加法器单元,用于进行多位线数据间的累加计算。4....

【专利技术属性】
技术研发人员:景乃峰伍骏董光达熊大鹏李涛
申请(专利权)人:苏州亿铸智能科技有限公司
类型:发明
国别省市:

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

1