[发明专利]一种可重构神经网络处理器有效
申请号: | 202110407002.2 | 申请日: | 2021-04-15 |
公开(公告)号: | CN113240074B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 陈亮;徐东君;宋文娜 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06F9/38 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 程琛 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可重构 神经网络 处理器 | ||
1.一种可重构神经网络处理器,其特征在于,包括指令编译模块、模型映射模块、计算阵列控制模块和计算阵列;
所述指令编译模块用于将待运行的各神经网络应用程序编译为网络运算指令;
所述模型映射模块用于匹配网络运算指令对应的微操作码,并通过索引所述微操作码将对应神经网络应用程序映射到所述计算阵列,得到各神经网络应用程序在所述计算阵列上的计算单元集合;任一计算单元集合用于独立计算对应神经网络应用程序的计算任务,或者用于与其余若干个计算单元集合协同计算各自对应的神经网络应用程序的计算任务,协同计算时各计算单元集合共享存储空间;
所述计算阵列控制模块用于控制各计算单元集合针对对应神经网络应用程序的读写和计算;
各计算单元集合由若干个相邻的计算列构成,所述计算列为所述计算阵列中的一列计算单元;
各计算单元的两侧分设有移位缓存器;
当任一计算列单独构成一个计算单元集合时,所述任一计算列用于单独执行对应神经网络应用程序,所述任一计算列中各计算单元两侧的移位缓存器处于使能状态;
当多个相邻计算列构成一个计算单元集合时,位于所述计算单元集合的边缘的计算列的边缘侧的移位缓存器处于使能状态,位于所述计算单元集合的边缘的计算列的内侧的移位缓存器处于停用状态,位于所述计算单元集合内部的计算列的两侧移位缓存器处于停用状态。
2.根据权利要求1所述的可重构神经网络处理器,其特征在于,所述计算单元用于基于特征操作数的移位操作以及对应的卷积核值,进行对应神经网络应用程序的卷积运算;
所述特征操作数是基于对应神经网络应用程序的特征图所得到的。
3.根据权利要求1所述的可重构神经网络处理器,其特征在于,所述计算单元为计算核阵列;
所述计算核阵列中的各计算核包括基本运算集合,所述计算核用于基于接收到的计算控制信号从基本运算集合中选取对应的计算操作并执行。
4.根据权利要求3所述的可重构神经网络处理器,其特征在于,所述计算核阵列设置有两行;所述计算单元用于同时进行两行数据的卷积运算、激活函数计算。
5.根据权利要求1至3中任一项所述的可重构神经网络处理器,其特征在于,所述计算阵列控制模块包括多个控制单元,所述控制单元的个数与所述计算阵列的列数相同;
所述各控制单元用于控制对应列的计算单元针对对应神经网络应用程序的读写和计算。
6.根据权利要求1至3中任一项所述的可重构神经网络处理器,其特征在于,还包括:
存储模块,用于缓存所述计算阵列执行各神经网络应用程序所需的权重和源数据;
所述计算阵列控制模块还用于控制所述存储模块的读写操作。
7.根据权利要求6所述的可重构神经网络处理器,其特征在于,所述存储模块包括列内选择器,所述列内选择器用于选择性接收所述计算阵列的输出数据;
所述存储模块还用于缓存所述列内选择器接收的输出数据。
8.根据权利要求7所述的可重构神经网络处理器,其特征在于,所述存储模块还包括数据缓存单元和输出缓存单元;所述数据缓存单元和输出缓存单元为乒乓缓存结构,交替用于所述源数据和所述列内选择器接收的输出数据的存取。
9.根据权利要求8所述的可重构神经网络处理器,其特征在于,所述数据缓存单元包括共享缓存单元,所述共享缓存单元用于存储多个计算单元集合共享数据;
所述计算阵列控制模块还用于基于所述共享缓存单元中的共享数据,控制所述多个计算单元集合进行对应神经网络应用程序的协同计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110407002.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:带提升功能的轧机水平滑移装置
- 下一篇:一种按摩式滴管