System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于脉冲负载平衡的神经网络计算电路制造技术_技高网

一种基于脉冲负载平衡的神经网络计算电路制造技术

技术编号:41391741 阅读:8 留言:0更新日期:2024-05-20 19:14
本发明专利技术属于脉冲神经网络硬件技术领域,具体涉及一种基于脉冲负载平衡的神经网络计算电路。本发明专利技术的电路主要采用了负载平衡模块,将不同输入通道的不同稀疏度的脉冲进行负载平衡后分配给不同计算单元进行计算,大大提高计算单元利用率。同时本发明专利技术提供了灵活的配置指令,可通过不同的指令组合来应对神经网络计算中不同的计算过程。

【技术实现步骤摘要】

本专利技术属于脉冲神经网络硬件,具体涉及一种基于脉冲负载平衡的神经网络计算电路


技术介绍

1、类脑计算是从仿生的角度研究人工智能,使得基于硅的处理器能效比能够接近生物大脑。在类脑计算的研究体系中,脉冲神经网络处理器处于核心的地位,脉冲神经网络更符合生物神经网络的模型,输入输出是脉冲信息,因此这类处理器具备强大的学习与推理能力,并且具有大规模多核并行,低功耗特性。

2、现有的脉神经网络处理器任存在以下问题和缺陷:

3、计算单元利用率不高:在脉冲稀疏度过高且稀疏度不规则的情况下不同输入通道的脉冲稀疏度相差过大,导致计算单元利用率较低。

4、缺乏可配置性:传统脉冲神经网络处理器可配置性较差,缺乏对于神经网络中不同计算过程的支持。


技术实现思路

1、针对以上问题和缺陷,本专利技术提供了一种基于脉冲负载平衡的神经网络计算电路。

2、本专利技术的技术方案是:

3、一种基于脉冲负载平衡的神经网络计算电路,包括整体控制模块,输入数据读取模块,负载平衡模块,数据缓存模块和计算阵列模块,其结构由图1所示。

4、所述整体控制模块用于解析配置指令,分发指令到各个模块。

5、所述输入数据读取模块用于读取输入数据,根据整体控制模块所配置的指令,从对应输入数据ram中读取输入脉冲数据,一次读取数据为16比特,对应4个输入通道的4比特数据,通过握手方式传给负载平衡模块。

6、所述负载平衡模块其原理如图2所示,用于将接收到的稀疏的脉冲数据,图中所示灰色方块代表输入脉冲数据中的1,白色方块代表输入脉冲数据中的0,进行跳零编码后再将编码后的四个输入通道的数据进行负载平衡,重新组合分配给对应的四行计算单元,将处理完成后的数据存入数据缓存模块中。

7、所述数据缓存模块用于存储计算核数据,根据先进先出的规则,先进来的数据先被计算,存储器满时,负载平衡模块不再接收数据,存储器空时计算模块不再进行计算。

8、所述计算阵列模块用于进行读取数据缓存模块中的数据并进行计算,该模块由4×16一共64个计算单元构成,4行对应4个输入通道,16列对应16个输出通道,计算单元模块结构在图3给出,每个计算单元有11个寄存器,一个16位加法器和一个控制单元构成,控制单元可以接收初始配置信息来配置计算单元的两种模式,第一种模式为权重固定模式,是9个寄存器存权重值,2个寄存器存结果值;第二种模式为结果固定模式,是9个寄存器存结果值,2个寄存器存权重值。两种模式分别对应神经网络中的前向运算过程和反向过程中的权重更新过程。

9、上述方案中的负载平衡模块,将不同输入通道的不同稀疏度的脉冲进行负载平衡后分配给不同计算单元进行计算,大大提高计算单元利用率。同时本专利技术提供了灵活的配置指令,可通过不同的指令组合来应对神经网络计算中不同的计算过程。

10、如图4所示,本专利技术的神经网络计算电路的工作流程为:

11、1)时钟输入,为神经网络计算电路提供一个主时钟。

12、2)启动整体控制模块,配置相应指令给整体控制模块。

13、3)启动输入数据读取模块,开始读取脉冲数据。

14、4)启动负载平衡模块,检查数据缓存模块是否存满,若未存满,则将读取到的脉冲数据进行操作后存入数据缓存模块,若存满,则停止接收输入脉冲数据。

15、5)启动计算阵列模块,若为权重固定模式,则预先读取对应数量的权重数据存入计算单元中的对应寄存器中,若为结果固定模式则不进行权重预读取操作。

16、6)所述计算阵列模块,检查数据缓存模块是否为空,若不为空,则从数据缓存模块中读取一次输入数据,若为空,则不进行操作,若为结果固定模式则在读取一次输入数据时同时读取一次权重数据。

17、7)所诉计算单元模块,将输入数据与权重数据进行加法操作后,存入对应寄存器。

18、其中步骤7包含下列子步骤:

19、71)若为权重固定模式,则进行一次结果输出后计算单元中的控制模块判断是否计算完一次指令配置的所有数据,是则跳到步骤9,否则跳到步骤6。

20、72)若为结果固定模式,计算单元中的控制模块判断是否计算完一次指令配置的所有数据,是则跳到步骤8,否则跳到步骤6。

21、8)将存在寄存器中的结果一次全部输出。

22、9)完成一次配置指令的所有计算过程,整体控制模块向外部发送指令完成信号。

23、本专利技术的有益效果为,1)本专利技术采用负载平衡设计,使得计算单元利用率得到提升;2)本专利技术能够通过指令灵活配置各个模块,具有更好的计算灵活性。

本文档来自技高网...

【技术保护点】

1.一种基于脉冲负载平衡的神经网络计算电路,其特征在于,包括整体控制模块、输入数据读取模块、负载平衡模块、数据缓存模块和计算阵列模块,;

2.根据权利要求1所述的一种基于脉冲负载平衡的神经网络计算电路,其特征在于,计算电路的工作流程为:

【技术特征摘要】

1.一种基于脉冲负载平衡的神经网络计算电路,其特征在于,包括整体控制模块、输入数据读取模块、负载平衡模块、数据缓存模块和计算...

【专利技术属性】
技术研发人员:胡绍刚苏知奥左越张凌瑞
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1