一种可配置交叉开关电路及基于其的可配置交叉开关电路制造技术

技术编号:31912773 阅读:14 留言:0更新日期:2022-01-15 12:53
本发明专利技术提出一种可配置交叉开关电路及基于其的卷积运算电路,可配置交叉开关电路包括运算单元阵列前侧的读交叉开关阵列和运算单元阵列前侧的写交叉开关阵列;输入特征图导入输入存储器堆,经过读交叉开关阵列输入运算单元阵列,运算单元阵列将计算出的输出特征图,经过写交叉开关写入输出存储器堆,每个周期同列读开关和同行写开关均最多仅有一个开关闭合。基于本发明专利技术的卷积运算电路进行二维卷积运算,输入特征图数据仅需导入片上存储器一次,即可完成二维卷积运算,不需要反复把输入特征图数据导入存储器,也不需要把输入特征图数据在存储器之间进行传输,提高了二维卷积计算的性能、降低了能耗。降低了能耗。降低了能耗。

【技术实现步骤摘要】
一种可配置交叉开关电路及基于其的可配置交叉开关电路


[0001]本专利技术涉及卷积运算
,尤其是一种可配置交叉开关电路及基于其的可配置交叉开关电路。

技术介绍

[0002]卷积层是卷积神经网络的基础层之一,卷积运算是深度学习领域最常见的运算之一,其计算量占据卷积神经网络计算量的90%以上。近年来,随着深度学习技术在计算机视觉、语音处理等领域的广泛应用,很多提高深度学习模型执行效率的硬件加速器被提出,其中支持卷积运算的常见电路为脉动阵列。图1为利用脉动阵列计算3x3滑动窗口的二维卷积运算示意图,脉动阵列能够高效计算二维卷积运算一行输出特征图的结果。当计算第一行输出特征图,则需要将第一行输入特征图数据导入第一块存储器,将第二行输入特征图数据导入第二块存储器,将第三行输入特征图数据导入第三块存储器;当计算第二行输出特征图,则需要将第二行输入特征图数据导入第一块存储器,将第三行输入特征图数据导入第二块存储器,将第四行输入特征图数据导入第三块存储器;当计算第三行输出特征图,则需要将第三行输入特征图数据导入第一块存储器,将第四行输入特征图数据导入第二块存储器,将第五行输入特征图数据导入第三块存储器。
[0003]在上述示例的整个卷积运算过程中,第三行输入特征图数据被反复导入存储器堆中三块不同的存储器中。然而,在集成电路中,消耗在数据传输上的能量远高于消耗在数据计算上的能量,显然上述数据导入方式将消耗更多的能量,反复的数据传输必然导致卷积计算整体性能的降低。

技术实现思路

[0004]针对现有脉动阵列在卷积运算数据需要反复传输的问题,本专利技术提出一种可配置交叉开关电路及基于其的可配置交叉开关电路,能够将存储于不同存储器的数据灵活导入脉动阵列对应行。
[0005]本专利技术保护一种可配置交叉开关电路,包括运算单元阵列前侧的读交叉开关阵列和运算单元阵列前侧的写交叉开关阵列;输入特征图导入输入存储器堆,经过读交叉开关阵列输入运算单元阵列,运算单元阵列将计算出的输出特征图,经过写交叉开关写入输出存储器堆。
[0006]所述读交叉开关阵列由m行n列可配置读开关构成,行数m≥输入存储器的数量,列数n≥运算单元行数,每个周期同列读开关最多仅有一个开关闭合。
[0007]所述写交叉开关阵列由p行q列可配置写开关构成,行数p≥输出存储器的数量,列数q≥运算单元列数,每个周期同行写开关最多仅有一个开关闭合。
[0008]优选的,读开关和写开关均对应1位寄存器,通过软件进行配置。
[0009]本专利技术还保护基于上述可配置交叉开关电路的卷积运算电路,由x行y列运算单元组成,所述运算单元主要由乘法器、累加器构成。
[0010]所述乘法器的行方向输入侧输入卷积层的输入特征图对应行数据,卷积核权重在卷积运算前存储在运算单元内部,所述累加器的部分和输入侧输入上一行运算单元输出的部分和。
[0011]通过基于本专利技术公开的可配置交叉开关电路的卷积运算电路进行二维卷积运算,输入特征图数据仅需导入片上存储器一次,即可完成二维卷积运算,不需要反复把输入特征图数据导入存储器,也不需要把输入特征图数据在存储器之间进行传输,提高了二维卷积计算的性能、降低了能耗。
附图说明
[0012]图1为计算输出特征图第1行的数据传输方式示意图;
[0013]图2为基于可配置交叉开关电路的卷积运算电路框图;
[0014]图3为读交叉开关示意图;
[0015]图4为写交叉开关示意图;
[0016]图5为6
×
6输入特征图与3
×
3卷积核示意图;
[0017]图6为计算输出特征图第1行的读交叉开关状态示意图;
[0018]图7为计算输出特征图的写交叉开关状态示意图;
[0019]图8为计算输出特征图第2行的数据传输方式示意图;
[0020]图9为计算输出特征图第2行的读交叉开关状态示意图;
[0021]图10为计算输出特征图第3行的数据传输方式示意图;
[0022]图11为计算输出特征图第3行的读交叉开关状态示意图;
[0023]图12为计算输出特征图第4行的数据传输方式示意图。
具体实施方式
[0024]下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。
[0025]实施例1
[0026]一种可配置交叉开关电路,如图2所示,包括运算单元阵列前侧的读交叉开关阵列和运算单元阵列前侧的写交叉开关阵列;输入特征图导入输入存储器堆,经过读交叉开关阵列输入运算单元阵列,运算单元阵列将计算出的输出特征图,经过写交叉开关写入输出存储器堆。
[0027]所述读交叉开关阵列由m行n列可配置读开关构成,图3所示为4行8列读交叉开关,行数m≥输入存储器的数量,列数n≥运算单元行数,每个周期同列读开关最多仅有一个开关闭合。
[0028]所述写交叉开关阵列由p行q列可配置写开关构成,图4所示为4行8列写交叉开关,行数p≥输出存储器的数量,列数q≥运算单元列数,每个周期同行写开关最多仅有一个开关闭合。
[0029]下面结合具体卷积运算电路对本专利技术公开的可配置交叉开关电路的工作方式进行展开阐述。
[0030]卷积运算电路由x行y列运算单元组成,所述运算单元主要由乘法器、累加器构成。所述乘法器的行方向输入侧输入卷积层的输入特征图对应行数据,卷积核权重在卷积运算前存储在运算单元内部,所述累加器的部分和输入侧输入上一行运算单元输出的部分和;所述运算单元阵列与输入存储器堆和输出存储器堆之间设置有上述可配置交叉开关电路。
[0031]以图5所示,输入特征图为6
×
6矩阵,卷积核为3
×
3矩阵为例。当计算该卷积核在输入特征图矩阵上前三行滑动的卷积运算结果(即计算第一行输出特征图)时,数据按图1所示输入运算单元PE阵列,即将第一输入特征图的第1行数据广播输入至PE阵列的第1

3行,第一输入特征图的第2行数据广播输入至PE阵列的第4

6行,第一输入特征图的第3行数据广播输入至PE阵列的7

9行。
[0032]若存在多通道输入(图1为2通道输入),则针对第一输入通道卷积窗口的权重排列在第1

9行,针对第二输入通道卷积窗口的权重排列在第10

18行,以此类推。不同输入通道的输入特征图输入PE阵列相应输入通道卷积窗口的权重对应行即可。为便于表述,下面针对第一输入特征图进行阐述。
[0033]当计算该卷积核在输入特征图矩阵的第二行输出特征图时,将第一输入特征图的第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可配置交叉开关电路,其特征在于,包括运算单元阵列前侧的读交叉开关阵列和运算单元阵列前侧的写交叉开关阵列;输入特征图导入输入存储器堆,经过读交叉开关阵列输入运算单元阵列,运算单元阵列将计算出的输出特征图,经过写交叉开关写入输出存储器堆;所述读交叉开关阵列由m行n列可配置读开关构成,行数m≥输入存储器的数量,列数n≥运算单元行数,每个周期同列读开关最多仅有一个开关闭合;所述写交叉开关阵列由p行q列可配置写开关构成,行数p≥输出存储器的数量,列数q≥运算单元列数,每个周期同行写开关最多仅...

【专利技术属性】
技术研发人员:林广栋陆俊峰顾大晔黄光红
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1