矩阵计算电路、方法、电子设备及计算机可读存储介质技术

技术编号:32891543 阅读:43 留言:0更新日期:2022-04-07 11:38
本公开实施例公开了一种矩阵计算电路和方法。其中该矩阵计算电路包括:指令解码电路,用于解码矩阵计算指令得到第一矩阵的首地址和第二矩阵的首地址;第一数据读取电路,用于根据第一数据读取地址读取所述第一数据和位置数据;位置数据转换电路,用于将所述位置数据转换成位图数据;控制信号生成电路,用于根据所述位图数据生成第二数据读取控制信号;第二数据读取电路,用于根据所述第二数据读取控制信号读取所述第二数据;计算电路,用于根据所述第一数据和所述第二数据计算得到第三数据。上述矩阵计算电路通过位置数据转换电路,将位置数据转换为位图数据,解决了现有技术中无法对运算加速或者电路复杂成本高的技术问题。题。题。

【技术实现步骤摘要】
矩阵计算电路、方法、电子设备及计算机可读存储介质


[0001]本公开涉及处理器领域,尤其涉及一种矩阵计算电路、方法、电子设备及计算机可读存储介质。

技术介绍

[0002]随着科学技术的发展,人类社会正在快速进入智能时代。智能时代的重要特点,就是人们获得数据的种类越来越多,获得数据的量越来越大,而对处理数据的速度要求越来越高。芯片是任务分配的基石,它从根本上决定了人们处理数据的能力。从应用领域来看,芯片主要有两条路线:一条是通用芯片路线,例如CPU(Central Processing Unit)等,它们能提供极大的灵活性,但是在处理特定领域算法时有效算力比较低;另一条是专用芯片路线,例如TPU(Tensor Processing Unit)等,它们在某些特定领域,能发挥较高的有效算力,但是面对灵活多变的比较通用的领域,它们处理能力比较差甚至无法处理。由于智能时代的数据种类繁多且数量巨大,所以要求芯片既具有极高的灵活性,能处理不同领域且日新月异的算法,又具有极强的处理能力,能快速处理极大的且急剧增长的数据量。
[0003]在神经网络计算中,卷积计算占了总运算量的大部分,而卷积计算可以转换成矩阵乘计算,因此要提高神经网络任务中的吞吐量、降低延时、提升芯片的有效算力,重点在于提升矩阵乘计算的速度。
[0004]很多神经网络中的数据(这里的数据包括神经网络中的参数数据和输入数据)组成的矩阵是稀疏矩阵,即矩阵中有大量的元素的值为0。为了降低神经网络计算中数据的存储量和带宽占用,会压缩稀疏矩阵进行存储;为了提升矩阵运算速度,会对稀疏矩阵运算进行优化。
[0005]图1a为在神经网络中矩阵乘计算的示意图。如图1a所示,M1为数据矩阵,M2为参数矩阵,M为输出矩阵。M1中的一行数据和M2中的一列参数做乘加计算得到M中的一个数据。其中图1a中的M1和M2两个矩阵,可能有一个是稀疏矩阵,也可能两个都是稀疏矩阵。
[0006]如图1b所示为矩阵的压缩示意图。对稀疏矩阵的存储,可以采用通用的压缩方法:只存储非0的元素。存储此非0元素的值的同时,会存储它在矩阵中的位置信息,即元素在矩阵中的相对坐标X和Y。其中X代表矩阵行序号,Y代表矩阵列序号。这种方法,是将数据和坐标作为一个数据结构,以此数据结构为单位进行存储。如图1b所示,以一个MxN的矩阵为例,从左侧的MxN矩阵压缩成右侧的压缩矩阵,压缩矩阵中的每一个数据结构表示左侧矩阵中的非0数据以及该非0数据在所述矩阵中的坐标。
[0007]在稀疏矩阵中,由于矩阵中有的元素的值为0,而这些0元素不需要存储,所以采取这种压缩方法,能有效的降低矩阵的存储容量。如图1c所示为使用上述压缩方法对矩阵进行压缩的实例示意图。对于16x16的稀疏矩阵,只有a,b,c和d为非0的元素,进行压缩存储后,只需要存储这几个元素的值和坐标,从而节省了存储空间。
[0008]在使用上述稀疏矩阵传统压缩方法直接进行矩阵计算时,一般有两种方法:
[0009]1、先将压缩矩阵解压缩,恢复成原始矩阵后,再进行矩阵运算。
[0010]2、直接将压缩矩阵用于矩阵运算,这种方法电路复杂,电路成本比较高。
[0011]但是对于1来说,其仅能节省存储空间,无法利用稀疏矩阵的特性对矩阵运算进行加速;对于2来说,其电路复杂成本比较高。

技术实现思路

[0012]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0013]为了解决现有技术中的上述技术问题,本公开实施例提出如下技术方案:
[0014]第一方面,本公开实施例提供一种矩阵计算电路,包括:
[0015]指令解码电路,用于解码矩阵计算指令得到第一矩阵的首地址和第二矩阵的首地址,其中所述第一矩阵为数据矩阵的第一压缩矩阵,其中所述第一矩阵中包括第一数据和所述第一数据在所述数据矩阵中的位置数据,所述第一数据为所述数据矩阵中的非0数据;
[0016]第一数据读取电路,用于根据所述位置数据将所述数据矩阵转换为位图矩阵,所述位图矩阵中的位图数据与所述数据矩阵中的数据一一对应,用于表示所述数据的位置;
[0017]位置数据转换电路,用于将所述位置数据转换成位图数据;
[0018]控制信号生成电路,用于根据所述位图数据生成第二数据读取控制信号;
[0019]第二数据读取电路,用于根据所述第二矩阵的首地址和所述第二数据读取控制信号生成第二数据读取地址;根据所述第二数据读取地址读取所述第二数据;
[0020]计算电路,用于根据所述第一数据和所述第二数据计算得到第三数据。
[0021]进一步的,所述位置数据转换电路包括:
[0022]数据缓存电路和缓存控制电路;其中,
[0023]所述缓存控制电路,用于根据所述位置数据生成所述位图数据的存储地址;以及,根据所述位图数据存储地址将预设的值写入所述数据缓存电路。
[0024]进一步的,所述位置数据为所述第一数据在所述数据矩阵中的行坐标和列坐标,所述根据所述位置数据生成位图数据存储地址,包括:
[0025]根据所述行坐标、列坐标以及所述数据缓存电路的存储首地址生成所述位图数据的存储地址。
[0026]进一步的,所述指令解码电路,还用于解码矩阵指令得到第三矩阵的首地址;
[0027]所述控制信号生成电路,还用于根据所述位图数据生成第三数据存储控制信号;
[0028]所述矩阵计算电路还包括:
[0029]存储地址生成电路,用于根据所述第三矩阵的首地址以及所述第三数据存储控制信号生成第三数据存储地址。
[0030]进一步的,所述矩阵计算电路还包括:
[0031]第一存储器、第二存储器以及第三存储器;
[0032]其中所述第一存储器用于存储所述第一数据和所述位置数据;根据所述第一数据的读取地址释放所述所述第一数据至所述计算电路,释放所述位置数据至所述位置数据转换电路;
[0033]所述第二存储器用于存储所述第二数据;根据所述第二数据读取地址释放所述第
二数据至所述计算电路;
[0034]所述第三存储器用于根据所述第三数据存储地址,保存所述第三数据至所述存储地址所指示的存储位置上。
[0035]进一步的,所述控制信号生成电路,还用于根据所述位图数据生成第一数据读取控制信号,所述第一数据读取控制信号用于控制所述第一数据读取电路读取下一个第一数据和下一个位置数据。
[0036]进一步的,所述位图数据包括所述位图数据在所述位图矩阵中的列信息,其中,
[0037]所述第二数据读取电路用于:根据所述第二矩阵的首地址以及所述列信息生成所述第二数据的读取地址。
[0038]进一步的,所述位图数据包括所述位图数据在所述位图矩阵中的行信息,所述控制信号生成电路还用于:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矩阵计算电路,其特征在于,包括:指令解码电路,用于解码矩阵计算指令得到第一矩阵的首地址和第二矩阵的首地址,其中所述第一矩阵为数据矩阵的第一压缩矩阵,其中所述第一矩阵中包括第一数据和所述第一数据在所述数据矩阵中的位置数据,所述第一数据为所述数据矩阵中的非0数据;第一数据读取电路,用于根据所述第一矩阵的首地址生成第一数据读取地址;根据所述第一数据读取地址读取所述第一数据和所述位置数据;位置数据转换电路,用于根据所述位置数据将所述数据矩阵转换为位图矩阵,所述位图矩阵中的位图数据与所述数据矩阵中的数据一一对应,用于表示所述数据的位置;控制信号生成电路,用于根据所述位图数据生成第二数据读取控制信号;第二数据读取电路,用于根据所述第二矩阵的首地址和所述第二数据读取控制信号生成第二数据读取地址;根据所述第二数据读取地址读取所述第二数据;计算电路,用于根据所述第一数据和所述第二数据计算得到第三数据。2.如权利要求1所述的矩阵计算电路,其特征在于,所述位置数据转换电路包括:数据缓存电路和缓存控制电路;其中,所述缓存控制电路,用于根据所述位置数据生成所述位图数据的存储地址;以及,根据所述位图数据存储地址将预设的值写入所述数据缓存电路。3.如权利要求2所述的矩阵计算电路,其特征在于,所述位置数据为所述第一数据在所述数据矩阵中的行坐标和列坐标,所述根据所述位置数据生成所述位图数据的存储地址,包括:根据所述行坐标、所述列坐标以及所述数据缓存电路的存储首地址生成所述位图数据的存储地址。4.如权利要求1-3中任一项所述的矩阵计算电路,其特征在于:所述指令解码电路,还用于解码矩阵指令得到第三矩阵的首地址;所述控制信号生成电路,还用于根据所述位图数据生成第三数据存储控制信号;所述矩阵计算电路还包括:存储地址生成电路,用于根据所述第三矩阵的首地址以及所述第三数据存储控制信号生成第三数据存储地址。5.如权利要求4所述的矩阵计算电路,其特征在于,所述矩阵计算电路还包括:第一存储器、第二存储器以及第三存储器;其中所述第一存储器用于存储所述第一数据和所述位置...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京希姆计算科技有限公司
类型:发明
国别省市:

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

1