[发明专利]一种用于执行矩阵乘运算的装置和方法有效
| 申请号: | 201811233425.1 | 申请日: | 2016-04-26 |
| 公开(公告)号: | CN109240746B | 公开(公告)日: | 2020-12-18 |
| 发明(设计)人: | 张潇;刘少礼;陈天石;陈云霁 | 申请(专利权)人: | 安徽寒武纪信息科技有限公司 |
| 主分类号: | G06F9/302 | 分类号: | G06F9/302 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 231283 安徽省合肥市高新区习友路3333*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 执行 矩阵 运算 装置 方法 | ||
1.一种用于执行矩阵乘运算的装置,其特征在于,包括:
存储单元,用于存储矩阵乘运算指令相关的矩阵数据;
控制单元,用于对矩阵乘运算指令进行译码,并控制矩阵乘运算指令的运算过程;
矩阵运算单元,用于根据译码后的矩阵乘运算指令,根据所述矩阵乘运算指令矩阵地址以及矩阵长度,根据该矩阵地址以及矩阵长度获取相应的矩阵,对矩阵进行矩阵乘运算操作得到运算结果;
所述矩阵运算单元包括一个主运算模块和多个从运算模块,其中:
所述从运算模块,用于执行矩阵乘运算中的点积运算得到点积运算结果,将点积运算结果返回给主运算模块;
所述主运算模块,用于获取所有从运算模块的点积运算结果,依据该点积运算结果得到运算结果中相应各行;
所述点积运算包括两向量的对位相乘以及对乘结果的求和。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:
寄存器单元,用于存储矩阵乘运算指令相关的标量数据、向量地址、向量长度、矩阵地址、矩阵长度。
3.如权利要求1所述的装置,其特征在于,所述控制单元包括:
指令队列模块,用于对译码后的矩阵乘运算指令进行顺序存储,并获取矩阵乘运算指令相关的标量数据。
4.如权利要求1所述的装置,其特征在于,所述控制单元包括:
依赖关系处理单元,用于在矩阵运算单元获取当前矩阵运乘算指令前,判断当前矩阵运算乘指令与之前未执行完的矩阵乘运算指令是否存在依赖关系。
5.如权利要求4所述的装置,其特征在于,所述控制单元包括:
存储队列模块,用于在当前矩阵运乘算指令与之前未执行完的运算指令存在依赖关系时,暂时存储当前矩阵乘运算指令,并且在该依赖关系消除时,将暂存的矩阵乘运算指令送往矩阵运算单元执行。
6.如权利要求1-5任一项所述的装置,其特征在于,所述装置还包括:
指令缓存单元,用于存储待执行的矩阵乘运算指令;
输入输出单元,用于将矩阵乘运算指令相关的数据存储于存储单元,或者,从存储单元中获取矩阵乘运算指令的运算结果。
7.如权利要求1-4任一项所述的装置,其特征在于,所述存储单元为高速暂存存储器。
8.根据权利要求1所述的装置,其特征在于,所述从运算模块包括:向量对位乘模块,加法树模块以及累加模块;
所述向量对位乘模块,用于执行两个向量的对位相乘得到乘积结果;
所述加法树模块,用于将乘积结果相加得到结果;
所述累加模块,用于将所述加法树模块的结果累加在之前的部分和得到点积结果。
9.根据权利要求1所述的装置,其特征在于,所述主运算模块包括:对位乘法器;
所述对位乘法器,用于执行矩阵乘标量的运算。
10.一种执行矩阵乘运算的方法,其特征在于,所述方法应用于矩阵乘运算装置,所述装置包括:存储单元、控制单元和矩阵运算单元;所述方法包括如下步骤:
存储单元存储矩阵乘运算指令相关的矩阵数据;控制单元对矩阵乘运算指令进行译码,并控制矩阵乘运算指令的运算过程;
矩阵运算单元根据译码后的矩阵乘运算指令,根据所述矩阵乘运算指令获取矩阵地址以及矩阵长度,根据该矩阵地址以及矩阵长度获取相应的矩阵,对矩阵进行矩阵乘运算操作得到运算结果;所述矩阵运算单元包括一个主运算模块和多个从运算模块,其中:所述从运算模块执行矩阵乘运算中的点积运算得到点积运算结果,将点积运算结果返回给主运算模块;所述主运算模块,获取所有从运算模块的点积运算结果,依据该点积运算结果得到运算结果中相应各行;所述点积运算包括两向量的对位相乘以及的对乘结果的求和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽寒武纪信息科技有限公司,未经安徽寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811233425.1/1.html,转载请声明来源钻瓜专利网。





