[发明专利]指令处理方法、装置及相关产品在审
申请号: | 201910420331.3 | 申请日: | 2019-05-20 |
公开(公告)号: | CN111966401A | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/302;G06F9/305 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 处理 方法 装置 相关 产品 | ||
1.一种张量指令处理装置,其特征在于,所述装置包括:
控制模块,用于对获取到的张量指令进行编译,得到编译后的张量指令,对所述编译后的张量指令进行解析,得到张量指令的操作码和操作域,并根据所述操作码和所述操作域获取执行所述张量指令所需的待运算张量、待运算标量和目标地址;
运算模块,用于张量对所述待运算张量和所述待运算标量进行张量与标量相乘运算,获得运算结果,并将所述运算结果存入所述目标地址中;
其中,所述操作码用于指示所述张量指令对数据所进行的运算为张量与标量相乘运算,所述操作域包括待运算张量的源地址、所述待运算标量和所述目标地址。
2.根据权利要求1所述的装置,其特征在于,所述运算模块包括:
张量运算器,用于将所述待运算张量中的每个元素与所述待运算标量相乘获得运算结果,以实现所述张量与标量相乘运算。
3.根据权利要求2所述的装置,其特征在于,所述运算模块包括主运算子模块和多个从运算子模块,所述主运算子模块和所述多个从运算子模块均包括所述张量运算器;
所述控制模块还用于解析所述编译后的张量指令得到多个运算指令,并将所述待运算张量和所述多个运算指令发送至所述主运算子模块;
所述主运算子模块对所述待运算张量执行前序处理,并将所述运算指令及所述待运算张量的至少一部分发送至所述从运算子模块;所述主运算子模块的张量运算器能够执行所述张量与标量相乘运算,获得中间结果;
所述从运算子模块的张量运算器用于根据从所述主运算子模块接收的数据和运算指令并行执行所述张量与标量相乘运算得到多个中间结果,并将所述多个中间结果传输给所述主运算子模块;
所述主运算子模块,还用于对所述多个中间结果执行后续处理,得到运算结果,并将所述运算结果存入所述目标地址中。
4.根据权利要求1所述的装置,其特征在于,所述操作域还包括输入量;
其中,所述控制模块还用于根据所述待运算张量的源地址和所述输入量,确定所述待运算张量。
5.根据权利要求1-4任一项所述的装置,其特征在于,所述待运算标量为立即数或标量寄存器。
6.根据权利要求1-4任一项所述的装置,其特征在于,所述装置还包括:
存储模块,用于存储所述待运算张量、所述待运算标量的至少一种。
7.根据权利要求1-4任一项所述的装置,其特征在于,所述控制模块包括:
指令存储子模块,用于存储所述编译后的张量指令;
指令处理子模块,用于对所述编译后的张量指令进行解析,得到张量指令的操作码和操作域;
队列存储子模块,用于存储指令队列,所述指令队列包括按照执行顺序依次排列的多个待执行指令,所述多个待执行指令包括所述编译后的张量指令。
8.根据权利要求7所述的装置,其特征在于,所述控制模块还包括:
依赖关系处理子模块,用于在确定所述多个待执行指令中的第一待执行指令与所述第一待执行指令之前的第零待执行指令存在关联关系时,将所述第一待执行指令缓存在所述指令存储子模块中,在所述第零待执行指令执行完毕后,从所述指令存储子模块中提取所述第一待执行指令发送至所述运算模块,
其中,所述第一待执行指令与所述第一待执行指令之前的第零待执行指令存在关联关系包括:
存储所述第一待执行指令所需数据的第一存储地址区间与存储所述第零待执行指令所需数据的第零存储地址区间具有重叠的区域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910420331.3/1.html,转载请声明来源钻瓜专利网。