[发明专利]运算装置及方法有效
申请号: | 201710910124.7 | 申请日: | 2017-09-29 |
公开(公告)号: | CN109583577B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F9/30 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 装置 方法 | ||
本公开提供了一种运算装置,包括:控制模块;以及运算模块,其包括多个运算单元;其中,所述控制模块,用于发送指令给所述多个运算单元并控制运算单元之间的数据传递。本公开还提供了一种运算方法。本公开运算装置及方法,能够有效的对神经网络算法进行加速,并且耗能较低;同时可以根据计算需求的不同来进行在线配置,从而提高了处理器的各组成部件的利用率,扩展了处理器的应用范围,具有较高的灵活性和一定的可扩展性。
技术领域
本公开涉及人工智能技术领域,尤其涉及一种可在线配置的神经网络运算装置及方法。
背景技术
深度神经网络是目前许多人工智能应用的基础,其在语音识别、图像处理、数据分析、广告推荐系统、汽车自动驾驶等多方面得到了突破性的应用,使得深度神经网络被应用在了生活的各个方面。但是,深度神经网络的运算量巨大,一直制约着其更快速的发展和更广泛的应用。当考虑运用处理器设计来加速深度神经网络的运算时,巨大的运算量,必然会带了很大的能耗开销,同样制约着处理器的进一步的广泛应用。
为了解决神经网络算法计算量巨大,运算耗时过长的问题,神经网络的硬件处理器应运而生。由于处理器针对某种配置或者某种目的而进行设计的,从而能够获得较高的加速比、较低的能耗。然后处理器的可扩展性较低,其结构无法随着计算需求的改变而进行改变。
发明内容
(一)要解决的技术问题
为了解决或者至少部分缓解上述技术问题,本公开提供了一种运算装置及方法,其为可在线配置的神经网络运算装置及方法,能够有效的对神经网络算法进行加速,并且耗能较低;同时可以根据计算需求的不同来进行在线配置,从而提高了处理器的各组成部件的利用率,扩展了处理器的应用范围,具有较高的灵活性和一定的可扩展性。
(二)技术方案
根据本公开的一个方面,提供了一种运算装置,包括:控制模块;以及运算模块,其包括多个运算单元;其中,所述控制模块,用于发送指令给所述多个运算单元并控制运算单元之间的数据传递。
在本公开的一些实施例中,每个所述运算单元用于接收所述指令,并根据指令将待运算数据或中间结果沿一个或多个的方向传递至该运算单元之外的运算单元。
在本公开的一些实施例中,所述方向包括向左/右相邻或不相邻的运算单元传递方向、向上/下相邻或不相邻的运算单元传递方向、沿对角线相邻或不相邻的运算单元传递方向。
在本公开的一些实施例中,所述沿对角线相邻或不相邻的运算单元传递方向包括左上对角线、左下对角线、右上对角线、右下对角线相邻或不相邻的运算单元传递方向。
在本公开的一些实施例中,所述的运算装置还包括:存储模块,其包括数据存储单元和临时缓存,用于将待运算的数据或中间结果存储到同一个区域或分开存储。
在本公开的一些实施例中,所述控制模块包括,存储控制单元,用于控制存储模块存储或读取所需的数据;以及,运算控制单元,用于对运算单元内部的运算方式及运算单元间的数据传递进行控制。
在本公开的一些实施例中,每个运算单元包括多个输入端口,该多个输入端口包括用于接收存储模块传来的数据的端口以及用于接收所述其他运算单元传来的数据的端口。
在本公开的一些实施例中,每个运算单元还包括输出端口,用于将数据传送回存储模块或者传递给指定的运算单元。
在本公开的一些实施例中,每个运算单元包括至少一个乘法器、至少一个加法器。
在本公开的一些实施例中,每个运算单元还包括至少一个存储器。
在本公开的一些实施例中,所述运算模块包括N*N个运算单元和1个ALU,该N*N个运算单元之间数据传递方向为S形,N为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710910124.7/2.html,转载请声明来源钻瓜专利网。