1.一种神经网络加速器的通用计算电路,其特征是由m个通用计算模块PE组成,任意第n
i个通用计算模块PE是由RAM、2个乘法器、加法器树、级联加法器、偏置加法器以及先入先出队列和ReLu激活函数模块组成;
n
在当前周期下,2 个乘法器从所述RAM中获取所存储的权重数据,并接收外部输入的计n
算数据并进行处理,得到当前周期下的2个乘积后传递给所述加法器树;
n
所述加法器树对当前周期下的2个乘积进行累加处理,得到当前周期下的累加和后存入所述先入先出队列中;
所述先入先出队列将当前周期下的累加和读取并传给所述级联加法器;
所述级联加法器接收当前周期下的累加和,并与不同配置下的级联输入进行计算,得到当前周期下的第i个级联加法器的级联输出;
所述偏置加法器接收当前周期下的第i个级联加法器的级联输出,并与当前周期下外部输入的偏置数据进行计算,得到加法结果后传递给所述ReLu激活函数模块;
由所述ReLu激活函数模块对所述加法结果进行处理,得到当前周期下第i个通用计算模块PE的输出结果以及不同配置下的通用计算电路的输出结果;
所述不同配置是按如下步骤进行:n
步骤1、判断神经网络中卷积核的尺寸是否小于乘法器的个数2 ,若是,则执行单PE卷积配置;否则,执行级联PE卷积配置;
n
步骤2、判断神经网络中全连接层的输入特征图数量是否小于乘法器的个数2 ,若是,则执行单PE全连接配置,否则执行级联PE全连接配置。
2.根据权利要求1所述的神经网络加速器的通用计算电路,其特征是,所述单PE卷积配置是:
将第i个通用计算模块PE中级联加法器的级联输入置为“0”;
将m个通用计算模块PE的输出结果均作为通用计算电路的输出结果。
3.根据权利要求1所述的神经网络加速器的通用计算电路,其特征是,所述级联PE卷积配置是:
将上一个周期的第i‑1个通用计算模块PE中级联加法器的级联输出作为第i个通用计算模块PE中级联加法器的级联输入;
当i=1时,将第i个通用计算模块PE中级联加法器的级联输入置为“0”;
将第m个通用计算模块PE的输出结果作为通用计算电路的输出结果。
4.根据权利要求1所述的神经网络加速器的通用计算电路,其特征是,所述单PE全连接配置是:
将上一个周期下的第i个通用计算单元中级联加法器的级联输出作为第i个通用计算模块PE中级联加法器的级联输入;
将m个通用计算模块PE的输出结果均作为通用计算电路的输出结果。
5.根据权利要求1所述的神经网络加速器的通用计算电路,其特征是,所述级联PE全连接配置是:
将上一个周期的第i‑1个通用计算模块PE中级联加法器的级联输出作为第i个通用计算模块PE中级联加法器的级联输入;
当i=1时,将上一个周期的第m个通用计算模块PE中级联加法器的级联输出作为第i个通用计算模块PE中级联加法器的级联输入;
将第m个通用计算模块PE的输出结果作为通用计算电路的输出结果。