【技术实现步骤摘要】
具有时钟选通的用于执行矩阵乘法的硬件单元
[0001]分案说明
[0002]本申请是申请日为2018年11月2日、申请号为201811299933.X、题为“具有时钟选通的用于执行矩阵乘法的硬件单元”的专利技术专利申请的分案申请。
[0003]本公开涉及矩阵乘法,更具体地,涉及具有时钟选通(clock gating)的用于执行矩阵乘法的硬件单元。
技术介绍
[0004]矩阵乘法是第一矩阵A和第二矩阵B相乘以产生第三矩阵C。如果A是a x b矩阵,B是b x c矩阵,如下所示:
[0005][0006][0007]那么矩阵乘法的结果是a x c的矩阵C,如下所示:
[0008][0009]其中矩阵C的每个元素C
ij
通过将矩阵A的第i行中的元素与矩阵B的第j列中的元素相乘并且对结果求和来计算,如公式(1)中所示:
[0010][0011]矩阵乘法是许多应用中的关键操作。例如,矩阵乘法可用于计算深度神经网络(DNN)中输入数据和权重的卷积。然而,矩阵乘法可能是耗时的,特别 ...
【技术保护点】
【技术特征摘要】
1.一种用于执行第一数据元素的第一矩阵和第二数据元素的第二矩阵之间的矩阵乘法的硬件单元,所述硬件单元包括:乘法器级,包括多个乘法器,每个乘法器被配置为将第一数据元素和第二数据元素相乘以产生乘法数据元素;一个或多个加法器级,其位于所述乘法器级之后并且形成加法器树以产生所述乘法数据元素的总和,每个加法器级包括一个或多个加法器,所述一个或多个加法器被配置为将前一级输出的至少两个数据元素相加以产生加法数据元素;其中,至少一个加法器之前是与输入到所述至少一个加法器的数据元素的每个位相对应的存储元件;以及控制逻辑,其被配置为响应于确定输入到所述至少一个加法器中的加法器的数据元素具有零值而不管输入到该加法器的其他数据元素是否具有零值,来对与该数据元素相对应的所有存储元件进行时钟选通。2.如权利要求1所述的硬件单元,其中,所述控制逻辑还被配置为:接收指示输入到所述至少一个加法器的哪些数据元素具有零值的信息。3.如权利要求1或2所述的硬件单元,其中,所述控制逻辑还被配置为:基于输入到所述至少一个加法器的数据元素是否具有零值,来生成指示所述至少一个加法器中的加法器的加法数据元素是否具有零值的信息。4.如任一前述权利要求所述的硬件单元,其中,所述控制逻辑还被配置为:当所述第一数据元素的位宽和所述第二数据元素的位宽中的至少一者小于最大位宽时,对与输入到所述至少一个加法器中的加法器的每个数据元素相关联的一部分存储元件进行时钟选通。5.如任一前述权利要求所述的硬件单元,其中,至少一个乘法器之前是与输入到所述至少一个乘法器的第一数据元素和第二数据元素的每个位相对应的存储元件;并且所述控制逻辑还被配置为:当所述至少一个乘法器中的乘法器的第一数据元素的位宽小于最大位宽时,对与所述第一数据元素相对应的一部分存储元件进行时钟选通。6.如权利要求5所述的硬件单元,其中,与乘法器的第一数据元素相对应的被时钟选通的存储元件的个数等于所述最大位宽减去所述第一数据元素的位宽。7.如权利要求5或6所述的硬件单元,其中,所述控制逻辑还被配置为:当所述至少一个乘法器中的乘法器的第二数据元素的位宽小于最大位宽时,对与所述第二数据元素相对应的一部分存储元件进行时钟选通。8.如权利要求7所述的硬件单元,其中,与乘法器的第二数据元素相对应的被时钟选通的存储元件的个数等于所述最大位宽减去所述第二数据元素的位宽。9.如权利要求4至8中任一项所述的硬件单元,其中,所述数据元素是最高有效位对齐的,并且与数据元素相对应的存储元件中被时钟选通的一部分存储元件是与该数据元素的最低有效位相对应的存储元件。10.如任一前述权利要求所述的硬件单元,其中,至少一个乘法器之前是与输入到所述至少一个乘法器的第一数据元素和第二数据元素的每个位相对应的存储元件;并且所述控制逻辑还被配置为:在输入到所述至少一个乘法器中的乘法器的第一数据元素和第二数据元素中的至少一者具有零值时,对与输入到所述乘法器的第一数据元素和第二数据元素相对应的所有存储元件进行时钟选通。
11.如任一前述权利要求所述的硬件单元,其中,至少一个乘法器之前是与输入到所述至少一个乘法器的第一数据元素和第二数据元素的每个位相对应的存储元件;并且所述控制逻辑还被配置为:接收指示输入到所述至少一个乘法器中的哪些数据元素能被视为具有零值的信息,并且响应于确定输入到乘法器的特定数据元素能被视为具有零值,对与该数据元素相对应的所有存储元件进行时钟选通。12.如权利要求11所述的硬件单元,其中,指示输入到所述至少一个乘法器中的哪些数据元素能被视为具有...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。