【技术实现步骤摘要】
一种支持两种位宽计算的脉动阵列结构
[0001]本专利技术涉及一种运算电路,尤其涉及一种支持两种位宽计算的脉动阵列结构
。
技术介绍
[0002]在深度学习领域中,与矩阵相乘相关的运算使用率极高
。
目前比较方便快捷的矩阵运算方式是用脉动矩阵,而脉动矩阵的基本思路为:在
A*B=Y
的矩阵乘法运算中,固定矩阵
B
,使矩阵
A
在脉动矩阵单元中流动而连续输出
Y
;或者是使矩阵
A
和矩阵
B
在脉动矩阵单元中流动而将结果
Y
存储于脉动矩阵单元中
。
其不足之处在于:常规脉动阵列采用固定位宽的寄存器进行计算,则在进行不同位宽的矩阵计算时,因寄存器位宽并不完全匹配,势必会造成不必要的硬件开销和资源浪费
。
如:使用
8bit
位宽的寄存器构成的脉动阵列单元计算
4bit
位宽的矩阵计算,每个
8bit
的寄存器里会有
4bit
是浪费的,必要时,还需要对数据进行位宽扩展,因此,现有的脉动阵列结构存在硬件开销较大
、
位宽适应性差的技术问题
。
技术实现思路
[0003]本专利技术的目的在于克服现有技术中的不足,提供一种支持两种位宽计算的脉动阵列结构,能够实现两种位宽的矩阵乘法运算,减少硬件开销
、
提高脉动阵列对不同位宽矩阵计算的适应 ...
【技术保护点】
【技术特征摘要】
1.
一种支持两种位宽计算的脉动阵列结构,其特征在于,所述脉动阵列结构包括多个脉动阵列单元,各所述脉动阵列单元均包括输入寄存器
、
权重寄存器
、
乘法运算单元
、
移位运算单元
、
加法运算单元
、
位宽选择单元
、
累加器和计算结果寄存器;所述输入寄存器用于存储输入数据;所述权重寄存器用于存储权重数据;所述乘法运算单元用于将输入寄存器中存储的输入数据和权重寄存器中存储的权重数据相乘;所述移位运算单元用于对所述乘法运算单元输出的乘积进行二进制左移运算;所述加法运算单元与所述位宽选择单元相配合,用于根据输入至所述位宽选择单元的位宽选择信号从所述乘法运算单元的运算结果和所述移位运算单元的运算结果中选择所需的运算结果,并进行求和运算;所述累加器用于对所述加法运算单元的求和运算结果执行累加运算;所述计算结果寄存器用于存储所述累加器输出的累加运算结果
。2.
根据权利要求1所述的支持两种位宽计算的脉动阵列结构,其特征在于,所述输入寄存器至少配置有两个,包括用于存储高位输入数据的高位输入寄存器和用于存储低位输入数据的低位输入寄存器;所述权重寄存器至少配置有两个,包括用于存储高位权重数据的高位权重寄存器和用于存储低位权重数据的低位权重寄存器
。3.
根据权利要求2所述的支持两种位宽计算的脉动阵列结构,其特征在于,所述两种位宽包括高位宽和低位宽;在进行低位宽计算时,所述高位输入寄存器或所述低位输入寄存器用于存储同一输入矩阵中相邻的两个输入数据;所述高位权重寄存器或所述低位权重寄存器用于存储同一权重矩阵中相邻的两个权重数据;在进行高位宽计算时,所述高位输入寄存器存储同一输入数据的中相邻的高位,所述低位输入寄存器存储同一输入数据的中相邻的低位;所述高位权重寄存器存储同一权重数据的中相邻的高位,所述低位权重寄存器存储同一权重数据的中相邻的低位
。4.
根据权利要求2或3所述的支持两种位宽计算的脉动阵列结构,其特征在于,所述乘法运算单元至少包括:第一乘法器:用于对所述高位输入寄存器中存储的输入数据和所述高位权重寄存器中存储的权重数据执行乘法运算;第二乘法器:用于对所述低位输入寄存器中存储的输入数据和所述高位权重寄存器中存储的权重数据执行乘法运算;第三乘法器:用于对所述高位输入寄存器中存储的输入数...
【专利技术属性】
技术研发人员:乔树山,张默寒,游恒,尚德龙,周玉梅,
申请(专利权)人:中科南京智能技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。