[发明专利]一种执行人工神经网络运算的装置和方法有效
| 申请号: | 201610865933.6 | 申请日: | 2016-09-29 |
| 公开(公告)号: | CN107886166B | 公开(公告)日: | 2020-02-21 |
| 发明(设计)人: | 陈天石;刘少礼;郭崎;陈云霁 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F1/3287;G06F9/38;G06F7/575 |
| 代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
| 地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 执行 人工 神经网络 运算 装置 方法 | ||
1.一种执行人工神经网络运算的装置,其特征在于,包括:控制器单元、被控模块组和时钟门控单元;其中,
所述被控模块组与所述时钟门控单元连接,在所述时钟门控单元的控制下,所述被控模块组中参与人工神经网络运算的模块打开,被控模块组中不参与人工神经网络运算的模块关闭;
所述被控模块组包括:直接内存访问单元、互连模块、主运算模块和多个从运算模块;
所述主运算模块连接所述控制器单元、所述时钟门控单元和所述直接内存访问单元,其包括:
主运算模块运算单元,用于进行运算;
主运算模块神经元缓存单元,用于缓存所述主运算模块的输入神经元向量和输出神经元值;
主运算模块数据依赖关系判断单元,用于通过所述互连模块发送数据给所述从运算模块;
所述从运算模块连接所述时钟门控单元和所述直接内存访问单元,其包括:
从运算模块运算单元,用于接收所述控制器单元发出的微指令并进行算数逻辑运算;
从运算模块神经元缓存单元,用于缓存所述从运算模块的输入神经元向量和输出神经元值;
从运算模块数据依赖关系判断单元,用于对所述从运算模块神经元缓存单元进行读写操作;
权值缓存单元,用于缓存所述从运算模块运算所需的权值矩阵;
所述直接内存访问单元的输入时钟、互连模块的输入时钟、主运算模块的输入时钟和从运算模块的输入时钟分别输入时钟门控单元,所述时钟门控单元输出直接内存访问单元的输出时钟、互连模块的输出时钟、主运算模块的输出时钟和从运算模块的输出时钟;
所述互连模块连接所述主运算模块和所述多个从运算模块,实现所述主运算模块和所述多个从运算模块之间的互连拓扑,构成所述主运算模块和所述多个从运算模块之间的数据通路;
所述多个从运算模块并行执行权值矩阵与输入神经元向量或输入梯度向量之间的乘法运算。
2.如权利要求1所述的装置,其特征在于,
所述被控模块组的时钟信号经所述时钟门控单元连接至所述被控模块组,所述时钟门控单元通过控制所述被控模块组的时钟信号,实现所述被控模块组中参与人工神经网络运算的模块的打开、和不参与人工神经网络运算的模块的关闭。
3.如权利要求1所述的装置,其特征在于,
所述直接内存访问单元的输出时钟连接至直接内存访问单元,所述互连模块的输出时钟连接至互连模块,所述主运算模块的输出时钟连接至主运算模块,所述从运算模块的输出时钟连接至从运算模块,所述控制器单元的控制信号连接至时钟门控单元;
所述时钟门控单元在控制信号的控制下,将输出时钟置0以将输出时钟对应的模块关闭,将输出时钟开启已将输出时钟对应的模块打开。
4.一种执行人工神经网络运算的方法,其利用权利要求1所述的执行人工神经网络运算的装置,其特征在于,包括:
进行人工神经网络初始化的步骤;
进行人工神经网络计算的步骤;
进行人工神经网络计算结果输出的步骤;
其中,在上述至少一个步骤中,打开参与人工神经网络运算的模块,关闭不参与人工神经网络运算的模块,降低人工神经网络运算的功耗。
5.如权利要求4所述的方法,其特征在于,所述进行人工神经网络初始化的步骤包括:
打开直接内存访问单元和主运算模块,关闭互连模块和从运算模块,直接内存访问单元从外部地址空间读取主运算模块的运算数据;
打开直接内存访问单元和从运算模块,关闭互连模块和主运算模块,直接内存访问单元从外部地址空间读取从运算模块的权值矩阵;
打开主运算模块和从运算模块,关闭直接内存访问单元和互连模块,配置人工神经网络运算的常数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610865933.6/1.html,转载请声明来源钻瓜专利网。





