一种基于NOC的可重构神经网络运算方法和电路技术

技术编号:19009611 阅读:20 留言:0更新日期:2018-09-22 09:25
本发明专利技术提供了一种基于NOC的可重构神经网络运算方法和电路,所述电路包括资源搜索单元、资源列表存储单元、网络配置调度单元、配置信息存储单元、网络映射存储单元、主存单元、神经网络处理电路、NOC接口处理单元、网络互联单元。通过设置NOC接口处理单元,将不同的神经网络处理电路互联起来,且NOC接口处理单元能够将不同神经网络处理电路计算得到的数据转换为相同的标准格式进行交互,不仅使得神经网络电路可以拓展任何新的处理电路,也使得各个神经网络处理电路之间的数据交换变得更加统一高效。

A method and circuit for reconfigurable neural network based on NOC

The invention provides a method and circuit of reconfigurable neural network operation based on NOC. The circuit includes a resource search unit, a resource list storage unit, a network configuration scheduling unit, a configuration information storage unit, a network mapping storage unit, a main memory unit, a neural network processing circuit, a NOC interface processing unit, and a network. Network interconnection unit. By setting NOC interface processing unit, different neural network processing circuits are interconnected, and NOC interface processing unit can convert the data calculated by different neural network processing circuits into the same standard format for interaction, which not only makes the neural network circuit can expand any new processing circuit, but also makes each of them. Data exchange between neural network processing circuits becomes more uniform and efficient.

【技术实现步骤摘要】
一种基于NOC的可重构神经网络运算方法和电路
本专利技术涉及神经网络芯片电路领域,特别涉及一种基于NOC的可重构神经网络运算方法和装置。
技术介绍
随着人工智能产业的兴起,深度学习芯片也在快速发展。随着深度学习应用的大面积推广使用,越来越多的设备开始支持深度学习功能。深度学习芯片作为深度学习设备的核心,作用也变得越来越重要。目前,大量的深度学习芯片都是针对某一些特点或者功能的神经网络结构,在使用时不能改变结构和连接关系,导致无法适应深度学习的快速发展和新网络结构的快速更新。此外,在现有技术中,神经网络结构的网络层次和网络层次之间的数据交互都是采用专用的数据格式进行交互,单一对多或者多对一访问时会出现数据格式不统一的问题,这在神经网络拓扑较为复杂时,需要涉及到大量的数据格式转换,将会影响数据的传输效率。
技术实现思路
为此,需要提供一种基于NOC的可重构神经网络运算的技术方案,用以解决目前神经网络结构不能改变结构和连接方式,导致无法适应网络结构的快速更新使用的问题,以及由于网络层之间的数据都是专有格式导致网络结构复杂时数据传输效率低下的问题。为实现上述目的,专利技术人提供了一种基于NOC的可重构神经网络运算电路,所述电路包括资源搜索单元、资源列表存储单元、网络配置调度单元、配置信息存储单元、网络映射存储单元、主存单元、神经网络处理电路、NOC接口处理单元、网络互联单元;所述神经网络处理电路包括多个神经网络子电路,每一神经网络子电路对应于一个NOC接口处理单元连接,每个NOC接口处理单元均与网络互联单元连接;所述资源搜索单元与资源列表存储单元连接,所述网络配置调度单元分别与资源列表存储单元、配置信息存储单元、网络映射存储单元连接,所述网络配置调度单元还与所有NOC接口处理单元连接;所述主存单元与神经网络处理电路连接;所述资源搜索单元用于搜索与网络互联单元相连接的所有神经网络子电路,并将每个神经网络子电路类型与其标识信息对应存储于资源列表存储单元中;所述网络配置调度单元用于获取配置信息存储单元中存储的神经网络结构的参数配置信息,确定实现该神经网络类型所需的各个神经网络子电路类型以及执行本次神经网络运算的各个神经网络子电路的运算顺序,生成网络调度信息,并将网络调度信息存储于网络映射存储单元中;所述网络配置调度单元用于根据网络调度信息的运算顺序,控制神经网络处理子电路依次从主存单元中读取待测数据、对待测数据进行处理计算、将计算结果回写至主存单元中;所述NOC接口处理单元用于将神经网络子电路获取或计算得到的数据打包成预设格式后发送至网络互联单元,或者用于监听网络互联单元中发送给其对应的神经网络子电路的网络数据包,获取网络数据包并解析后发送给对应的神经网络子电路。进一步地,所述NOC接口处理单元包括数据打包单元、发送包缓存单元、监听单元、接收包缓存单元、数据解包单元;所述数据打包单元和数据解包单元分别与神经网络处理电路连接,所述发送包缓存单元和监听单元分别与网络互联单元连接,所述接收包缓存单元分别与数据解包单元、监听单元连接;所述数据打包单元与发送包缓存单元连接;所述监听单元用于监听网络互联单元中发送给当前NOC接口处理单元对应的神经网络子电路的预设格式的网络数据包,并将其存储于接收包缓存单元中;所述数据解包单元用于对接收包缓存单元中的网络数据包进行解析,并将解析后的数据包发送给对应的神经网络子电路;所述数据打包单元用于接收当前NOC接口处理单元对应的神经网络子电路发送的运算后的数据,并将运算后的数据打包为预设格式的网络数据包存储于发送包缓存单元中;以及在接收到发送指令后,将发送包缓存单元中的预设格式的网络数据包发送至网络互联单元。进一步地,所述神经网络子电路包括数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元和反向回写单元;所述数据输入单元与主存单元连接,所述反向回写单元与主存单元连接;执行本次神经网络运算的各个神经网络子电路的运算顺序依次为:数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元、反向回写单元。进一步地,每个神经网络子电路类型对应有多个神经网络子电路,执行本次神经网络运算的神经网络子电路根据参数配置信息确定。专利技术人还提供了一种基于NOC的可重构神经网络运算方法,所述方法应用于基于NOC的可重构神经网络运算电路,所述电路包括资源搜索单元、资源列表存储单元、网络配置调度单元、配置信息存储单元、网络映射存储单元、主存单元、神经网络处理电路、NOC接口处理单元、网络互联单元;所述神经网络处理电路包括多个神经网络子电路,每一神经网络子电路对应于一个NOC接口处理单元连接,每个NOC接口处理单元均与网络互联单元连接;所述资源搜索单元与资源列表存储单元连接,所述网络配置调度单元分别与资源列表存储单元、配置信息存储单元、网络映射存储单元连接,所述网络配置调度单元还与所有NOC接口处理单元连接;所述主存单元与神经网络处理电路连接;所述方法包括以下步骤:资源搜索单元搜索与网络互联单元相连接的所有神经网络子电路,并将每个神经网络子电路类型与其标识信息对应存储于资源列表存储单元中;网络配置调度单元获取配置信息存储单元中存储的神经网络结构的参数配置信息,确定实现该神经网络类型所需的各个神经网络子电路类型以及执行本次神经网络运算的各个神经网络子电路的运算顺序,生成网络调度信息,并将网络调度信息存储于网络映射存储单元中;网络配置调度单元根据网络调度信息的运算顺序,控制神经网络处理子电路依次从主存单元中读取待测数据、对待测数据进行处理计算、将计算结果回写至主存单元中;NOC接口处理单元将神经网络子电路获取或计算得到的数据打包成预设格式后发送至网络互联单元,或者监听网络互联单元中发送给其对应的神经网络子电路的网络数据包,获取网络数据包并解析后发送给对应的神经网络子电路。进一步地,所述NOC接口处理单元包括数据打包单元、发送包缓存单元、监听单元、接收包缓存单元、数据解包单元;所述数据打包单元和数据解包单元分别与神经网络处理电路连接,所述发送包缓存单元和监听单元分别与网络互联单元连接,所述接收包缓存单元分别与数据解包单元、监听单元连接;所述数据打包单元与发送包缓存单元连接;所述方法包括:监听单元监听网络互联单元中发送给当前NOC接口处理单元对应的神经网络子电路的预设格式的网络数据包,并将其存储于接收包缓存单元中;数据解包单元对接收包缓存单元中的网络数据包进行解析,并将解析后的数据包发送给对应的神经网络子电路;数据打包单元接收当前NOC接口处理单元对应的神经网络子电路发送的运算后的数据,并将运算后的数据打包为预设格式的网络数据包存储于发送包缓存单元中;以及在接收到发送指令后,将发送包缓存单元中的预设格式的网络数据包发送至网络互联单元。进一步地,所述神经网络子电路包括数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元和反向回写单元;所述数据输入单元与主存单元连接,所述反向回写单元与主存单元连接;执行本次神经网络运算的各个神经网络子电路的运算顺序依次为:数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元、反向回写单元。进一步地,每个神经网络子电路类型对应有多个神经网络子电路,执行本次神经网络运算的神本文档来自技高网...
一种基于NOC的可重构神经网络运算方法和电路

【技术保护点】
1.一种基于NOC的可重构神经网络运算电路,其特征在于,所述电路包括资源搜索单元、资源列表存储单元、网络配置调度单元、配置信息存储单元、网络映射存储单元、主存单元、神经网络处理电路、NOC接口处理单元、网络互联单元;所述神经网络处理电路包括多个神经网络子电路,每一神经网络子电路对应于一个NOC接口处理单元连接,每个NOC接口处理单元均与网络互联单元连接;所述资源搜索单元与资源列表存储单元连接,所述网络配置调度单元分别与资源列表存储单元、配置信息存储单元、网络映射存储单元连接,所述网络配置调度单元还与所有NOC接口处理单元连接;所述主存单元与神经网络处理电路连接;所述资源搜索单元用于搜索与网络互联单元相连接的所有神经网络子电路,并将每个神经网络子电路类型与其标识信息对应存储于资源列表存储单元中;所述网络配置调度单元用于获取配置信息存储单元中存储的神经网络结构的参数配置信息,确定实现该神经网络类型所需的各个神经网络子电路类型以及执行本次神经网络运算的各个神经网络子电路的运算顺序,生成网络调度信息,并将网络调度信息存储于网络映射存储单元中;所述网络配置调度单元用于根据网络调度信息的运算顺序,控制神经网络处理子电路依次从主存单元中读取待测数据、对待测数据进行处理计算、将计算结果回写至主存单元中;所述NOC接口处理单元用于将神经网络子电路获取或计算得到的数据打包成预设格式后发送至网络互联单元,或者用于监听网络互联单元中发送给其对应的神经网络子电路的网络数据包,获取网络数据包并解析后发送给对应的神经网络子电路。...

【技术特征摘要】
1.一种基于NOC的可重构神经网络运算电路,其特征在于,所述电路包括资源搜索单元、资源列表存储单元、网络配置调度单元、配置信息存储单元、网络映射存储单元、主存单元、神经网络处理电路、NOC接口处理单元、网络互联单元;所述神经网络处理电路包括多个神经网络子电路,每一神经网络子电路对应于一个NOC接口处理单元连接,每个NOC接口处理单元均与网络互联单元连接;所述资源搜索单元与资源列表存储单元连接,所述网络配置调度单元分别与资源列表存储单元、配置信息存储单元、网络映射存储单元连接,所述网络配置调度单元还与所有NOC接口处理单元连接;所述主存单元与神经网络处理电路连接;所述资源搜索单元用于搜索与网络互联单元相连接的所有神经网络子电路,并将每个神经网络子电路类型与其标识信息对应存储于资源列表存储单元中;所述网络配置调度单元用于获取配置信息存储单元中存储的神经网络结构的参数配置信息,确定实现该神经网络类型所需的各个神经网络子电路类型以及执行本次神经网络运算的各个神经网络子电路的运算顺序,生成网络调度信息,并将网络调度信息存储于网络映射存储单元中;所述网络配置调度单元用于根据网络调度信息的运算顺序,控制神经网络处理子电路依次从主存单元中读取待测数据、对待测数据进行处理计算、将计算结果回写至主存单元中;所述NOC接口处理单元用于将神经网络子电路获取或计算得到的数据打包成预设格式后发送至网络互联单元,或者用于监听网络互联单元中发送给其对应的神经网络子电路的网络数据包,获取网络数据包并解析后发送给对应的神经网络子电路。2.如权利要求1所述的基于NOC的可重构神经网络运算电路,其特征在于,所述NOC接口处理单元包括数据打包单元、发送包缓存单元、监听单元、接收包缓存单元、数据解包单元;所述数据打包单元和数据解包单元分别与神经网络处理电路连接,所述发送包缓存单元和监听单元分别与网络互联单元连接,所述接收包缓存单元分别与数据解包单元、监听单元连接;所述数据打包单元与发送包缓存单元连接;所述监听单元用于监听网络互联单元中发送给当前NOC接口处理单元对应的神经网络子电路的预设格式的网络数据包,并将其存储于接收包缓存单元中;所述数据解包单元用于对接收包缓存单元中的网络数据包进行解析,并将解析后的数据包发送给对应的神经网络子电路;所述数据打包单元用于接收当前NOC接口处理单元对应的神经网络子电路发送的运算后的数据,并将运算后的数据打包为预设格式的网络数据包存储于发送包缓存单元中;以及在接收到发送指令后,将发送包缓存单元中的预设格式的网络数据包发送至网络互联单元。3.如权利要求1所述的基于NOC的可重构神经网络运算电路,其特征在于,所述神经网络子电路包括数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元和反向回写单元;所述数据输入单元与主存单元连接,所述反向回写单元与主存单元连接;执行本次神经网络运算的各个神经网络子电路的运算顺序依次为:数据输入单元、乘加器阵列单元、激活函数运算单元、池化运算单元、反向回写单元。4.如权利要求1或3所述的基于NOC的可重构神经网络运算电路,其特征在于,每个神经网络子电路类型对应有多个神经网络子电路,执行本次神经网络运算的神经网络子电路根据参数配置信息确定。5.一种基于...

【专利技术属性】
技术研发人员:廖裕民朱祖建
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建,35

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

1