【技术实现步骤摘要】
一种高效的神经网络电路架构和方法
本专利技术涉及神经网络领域,尤其涉及一种高效的神经网络电路架构和方法。
技术介绍
当前的神经网络加速电路都是按照网络层进行运算,基本的流程就是先进行网络层参数配置,然后开始取数和运算直到该层运算结束后,发出中断给CPU,然后CPU再配置下一层的参数,再开始工作。这样有一个问题就是加速电路中的各个子模块都是串行工作,在每一层网络的运算过程中总会出现不同程度的空闲,这对大幅降低了加速电路的运行效率。同时由于神经网络的发展迅速,各种网络结构层出不穷,因此按照经典CNN设计的加速电路经常会遇到网络层只需求其中一个或者几个运算的情况,比如某层网络只需要激活运算,或者只需要池化运算,这就造成了运算资源的浪费。
技术实现思路
为此,需要提供一种高效的神经网络电路架构和方法,解决现有神经网络模块资源浪费、运行效率不高的问题。为实现上述目的,专利技术人提供了一种高效的神经网络电路架构,包括读请求仲裁单元、写请求仲裁单元、两个以上的模块读数控制单元、两个以上的模块写数控制单元、一个以上的多路选通单元、两个以上的神经网络运算模块,读请求仲裁单元与模块读数控制单元分别连接,每个模块读数控制单元分别与一个神经网络运算模块单独连接,上一级的神经网络运算模块的输出端与多路选通单元连接,多路选通单元的两个输出端分别与一个模块写数控制单元和下一级的神经网络运算模块连接,模块写数控制单元分别与写请求仲裁单元连接,其中:读请求仲裁单元用于根据读优先级配置对各个模块读数控制单元的读请求进行仲裁,并把仲裁胜出者的读请求送往存储器进行数据读取;写请求仲裁单元用于根据写优 ...
【技术保护点】
1.一种高效的神经网络电路架构,其特征在于:包括读请求仲裁单元、写请求仲裁单元、两个以上的模块读数控制单元、两个以上的模块写数控制单元、一个以上的多路选通单元、两个以上的神经网络运算模块,读请求仲裁单元与模块读数控制单元分别连接,每个模块读数控制单元分别与一个神经网络运算模块单独连接,上一级的神经网络运算模块的输出端与多路选通单元连接,多路选通单元的两个输出端分别与一个模块写数控制单元和下一级的神经网络运算模块连接,模块写数控制单元分别与写请求仲裁单元连接,其中:读请求仲裁单元用于根据读优先级配置对各个模块读数控制单元的读请求进行仲裁,并把仲裁胜出者的读请求送往存储器进行数据读取;写请求仲裁单元用于根据写优先级配置对各个模块读数控制单元的写请求进行仲裁,并把仲裁胜出者的写请求送往存储器进行数据写入;神经网络运算模块用于进行神经网络运算,并将运算结果发送到与之连接的多路选通单元;多路选通单元用于根据配置决定将数据送往下一级神经网络运算模块或者是与之连接的模块写数控制单元;读数控制单元用于从存储器取数;写数控制单元用于存入存储器。
【技术特征摘要】
1.一种高效的神经网络电路架构,其特征在于:包括读请求仲裁单元、写请求仲裁单元、两个以上的模块读数控制单元、两个以上的模块写数控制单元、一个以上的多路选通单元、两个以上的神经网络运算模块,读请求仲裁单元与模块读数控制单元分别连接,每个模块读数控制单元分别与一个神经网络运算模块单独连接,上一级的神经网络运算模块的输出端与多路选通单元连接,多路选通单元的两个输出端分别与一个模块写数控制单元和下一级的神经网络运算模块连接,模块写数控制单元分别与写请求仲裁单元连接,其中:读请求仲裁单元用于根据读优先级配置对各个模块读数控制单元的读请求进行仲裁,并把仲裁胜出者的读请求送往存储器进行数据读取;写请求仲裁单元用于根据写优先级配置对各个模块读数控制单元的写请求进行仲裁,并把仲裁胜出者的写请求送往存储器进行数据写入;神经网络运算模块用于进行神经网络运算,并将运算结果发送到与之连接的多路选通单元;多路选通单元用于根据配置决定将数据送往下一级神经网络运算模块或者是与之连接的模块写数控制单元;读数控制单元用于从存储器取数;写数控制单元用于存入存储器。2.根据权利要求1所述的一种高效的神经网络电路架构,其特征在于:还包括寄存器选通控制单元和两个配置寄存器,所述寄存器选通控制单元与神经网络运算模块连接;配置寄存器用于存储神经网络配置信息;寄存器选通控制单元用于获取与之连接的模块工作完成的信号后,从当前选择的配置寄存器切换到另一个配置寄存器。3.根据权利要求2所述的一种高效的神经网络电路架构,其特征在于:还包括处理器,所述处理器用于获取神经网络运算模块的完成信号,将下一层的神经网络配置信息更新到已被读取的配置寄存器。4.根据权利要求3所述的一种高效的神经网络电路架构,其特征在于:所述处理器用于在下一层要进入神经网络运算模块联合工作时,在神经网络运算模块运算完成后暂停配置寄存器的切换直到所有的神经网络运算模块运算完成。5.根据权利要求1到4任一项所述的一种高效的神经网络电路架构,其特征在于:神经网络运算模块包括卷积乘加运算模块、激活运算模块或者池化运算模块;卷积乘加运算模块用于进行神经网络的卷积运算;激活运算模块用于进行神经网络的激活函数运算;池化运算模块用于进行神经网络的池化运算。6.一种高效的神经网络运算方法,用于神经网络运算电路,其特征在...
【专利技术属性】
技术研发人员:廖裕民,强书连,
申请(专利权)人:福州瑞芯微电子股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。