[发明专利]运算装置及方法有效
申请号: | 201710910124.7 | 申请日: | 2017-09-29 |
公开(公告)号: | CN109583577B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F9/30 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 装置 方法 | ||
1.一种运算装置,包括:
控制模块;
存储模块,其包括数据存储单元和临时缓存,用于将待运算的数据或中间结果存储到同一个区域或分开存储;以及
运算模块,其包括多个运算单元,所述运算模块包括N*N个运算单元和N-1个ALU,所述N*N运算单元用于沿不同的方向传递运算数据,所述N*N个运算单元呈N行N列的阵列排布,第1列的运算单元用于接收从所述存储模块传来的待运算数据完成平方操作,并向右和向右对角线相邻的运算单元传递平方值;第1行的运算单元用于接收从所述存储模块传来的待运算数据完成平方操作,并向右对角相邻的运算单元传递平方值;第N列的运算单元用于接收来自左对角和左向的数据并完成累加;所述ALU用于接收第N*N个运算单元传递的运算结果并进行指数操作,N为正整数;其中,
所述控制模块,用于发送指令给所述多个运算单元并控制运算单元之间的数据传递。
2.根据权利要求1所述的运算装置,其中,每个所述运算单元用于接收所述指令,并根据指令将待运算数据或中间结果沿一个或多个的方向传递至该运算单元之外的运算单元。
3.根据权利要求2所述的运算装置,其中,所述方向包括向左/右相邻或不相邻的运算单元传递方向、向上/下相邻或不相邻的运算单元传递方向、沿对角线相邻或不相邻的运算单元传递方向。
4.根据权利要求3所述的运算装置,其中,所述沿对角线相邻或不相邻的运算单元传递方向包括左上对角线、左下对角线、右上对角线、右下对角线相邻或不相邻的运算单元传递方向。
5.根据权利要求1至4中任一项所述的运算装置,其中,所述控制模块包括,
存储控制单元,用于控制存储模块存储或读取所需的数据;以及,
运算控制单元,用于对运算单元内部的运算方式及运算单元间的数据传递进行控制。
6.根据权利要求1至4中任一项所述的运算装置,其中,每个运算单元包括多个输入端口,该多个输入端口包括用于接收存储模块传来的数据的端口以及用于接收其他所述运算单元传来的数据的端口。
7.根据权利要求6所述的运算装置,其中,每个运算单元还包括输出端口,用于将数据传送回存储模块或者传递给指定的运算单元。
8.根据权利要求1至4中任一项所述的运算装置,其中,每个运算单元包括至少一个乘法器、至少一个加法器。
9.根据权利要求8所述的运算装置,其中,每个运算单元还包括至少一个存储器。
10.根据权利要求1所述的运算装置,其中,所述运算模块包括N*N个运算单元和1个ALU,该N*N个运算单元之间数据传递方向为S形,N为正整数。
11.根据权利要求10所述的运算装置,其中,所述N*N个运算单元中的各运算单元用于将接收的神经元数据,并将该神经元数据和本运算单元存储器中对应的突触权值数据进行相乘得到乘积结果;所述N*N个运算单元中的第2至第N*N运算单元还分别用于接收各自前一运算单元传递的运算结果,并将该运算结果与本单元的乘积结果相加;所述ALU用于接收第N*N个运算单元传递的运算结果并进行激活运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710910124.7/1.html,转载请声明来源钻瓜专利网。