一种矩阵运算指令及其方法技术

技术编号:17304422 阅读:51 留言:0更新日期:2018-02-18 22:26
本披露提供了一种矩阵运算指令及其方法,包括,操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。本披露将参与计算的矩阵数据暂存在高速暂存存储器上,使得矩阵运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量矩阵计算任务的执行性能。

A matrix operation instruction and its method

This disclosure provides a matrix operation instructions and methods, including operation, code and operating field; the operation code, used to identify different matrix operation instruction; the operating domain is used for indicating the matrix operations command data register, the data information is immediately specifies the size of the specified size or number the data corresponding to the. This disclosure will take part in the computation of matrix data temporarily on the high speed temporary storage, so that the matrix operation process can more effectively and effectively support different widths of data, and enhance the execution performance of a large number of matrix computing tasks.

【技术实现步骤摘要】
一种矩阵运算指令及其方法
本披露涉及一种矩阵运算指令及其方法,用于根据矩阵运算指令执行矩阵运算,能够很好地解决当前计算机领域越来越多的算法包含大量矩阵运算的问题。
技术介绍
当前计算机领域有越来越多的算法涉及到矩阵运算,以人工神经网络算法为例,多种神经网络算法中都含有大量的矩阵运算。在神经网络中,输出神经元的运算表达式为y=f(wx+b),其中w是矩阵,x、b是矩阵,计算输出矩阵y的过程为矩阵w与矩阵x相乘,加上矩阵b,然后对得到的矩阵进行激活函数运算(即对矩阵中的每个元素进行激活函数运算)。因此,矩阵运算成为目前各种计算装置在设计之初都需要考虑的一个重要问题。在现有技术中,一种进行矩阵运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行矩阵运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行矩阵运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。在另一种现有技术中,使用图形处理器(GPU)来进行矩阵计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行矩阵运算。然本文档来自技高网...
一种矩阵运算指令及其方法

【技术保护点】
一种矩阵运算指令,其特征在于,所述矩阵运算指令包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。

【技术特征摘要】
1.一种矩阵运算指令,其特征在于,所述矩阵运算指令包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。2.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵乘向量指令MMV;所述操作域存储所述MMV的矩阵数据和向量数据的立即数或寄存器号;所述MMV,用于从存储器的指定地址取出指定大小的矩阵数据和向量数据,并将该矩阵数据和向量数据执行矩阵乘向量计算,将该计算结果写回至所述存储器。3.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:向量乘矩阵指令VMM,所述操作域存储所述MMV的矩阵数据和向量数据;所述VMM,用于从存储器的指定地址取出指定长度的向量数据和矩阵数据,进行向量乘矩阵的乘法运算,将该计算结果写回至存储器。4.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵乘标量指令VMS;所述操作域存储所述VMS的矩阵数据;所述VMS,用于从存储器的指定地址取出指定长度的矩阵数据,从标量寄存器堆的指定地址中取出标量数据,进行标量乘矩阵数据的乘法运算,将计算结果写回存储器。5.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:张量运算指令TENS,所述操作域存储所述TENS的两块矩阵数据,所述TENS,用于从存储器的两个指定地址分别取出指定大小的两块矩阵数据,对两矩阵数据进行张量运算,并将计算结果写回至存储器。6.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵加法指令MA,所述操作域存储两块矩阵数据;所述MA,用于从存储器的两个指定地址取出分别取出指定大小的两块矩阵数据,对两矩阵进行加法运算,并将计算结果写回至存储器。7.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵减法指令MS,所述操作域存储两块矩阵数据;所述MS,用于从存储器的两个指定地址取出分别取出指定大小的两块矩阵数据,对两矩阵进行减法运算,并将计算结果写回至存储器。8.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵检索指令MR,所述操作域包括:向量数据以及矩阵数据;所述MR,用于从存储器的指定地址取出指定大小的向量数据以及指定大小的矩阵数据,所述向量数据是索引向量,输出的向量中的第i个元素是以索引向量的第i个元素作为索引,在矩阵数据的第i列中找到的数,将所述输出向量写回至存储器。9.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵加载指令ML,所述ML,用于从指定外部源地址载入指定大小的数据至存储器的指定地址。10.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵存储指令MS,所述MS,用于将存储器的指定地址的指定大小的矩阵数据存至外部目的地址。11.根据权利要求1所述的矩阵运算指令,其特征在于,所述矩阵运算指令为:矩阵搬运指令MMOVE;所述MMOVE,用于将存储器的指定地址的指定大小的矩阵数据存至存储器的另一指定地址。12.根据权利要求1-11所述的矩阵运算指令,其特征在于,所述存储器为:高速暂存存储器。13.一种处理矩阵运算指令的实现方法,其特征在于,取出所述矩阵运算指令,所述矩阵运算指令包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息包...

【专利技术属性】
技术研发人员:陈云霁张潇刘少礼陈天石
申请(专利权)人:南京艾溪信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1