一种面向卷积神经网络的高可靠加速器制造技术

技术编号:33029008 阅读:16 留言:0更新日期:2022-04-15 09:04
本发明专利技术涉及一种面向卷积神经网络的高可靠加速器,包括指令分发模块和与其连接、受其控制的加载模块、路由模块、计算模块、冗余控制模块、和卸载模块;在指令分发控制模块的控制下,所述加载模块从外部加载输入特征数据和卷积核数据;路由模块将加载的数据分配给计算模块;所述计算模块中包括多个并列的计算核心,每个计算核心均用于接收分配数据进行卷积神经网络加速处理,输出处理结果;冗余控制模块将所述计算模块输出的多路计算结果输出到所述卸载模块,通过卸载模块将卷积神经网络加速处理结果卸载输出。本发明专利技术实现了卷积神经网络的加速处理,并兼顾卷积神经网络的高速处理和高可靠性处理的要求。高可靠性处理的要求。高可靠性处理的要求。

【技术实现步骤摘要】
一种面向卷积神经网络的高可靠加速器


[0001]本专利技术属于深度学习加速电路
,具体涉及一种面向卷积神经网络的高可靠加速器。

技术介绍

[0002]目前,卷积神经网络(Convolutional Neural Network,CNN)在图像分类、目标检测、故障诊断等方面表现卓越,在航天型号中具有广泛的应用需求。部分计算任务(如目标检测算法)的计算量巨大,且具有强实时的需求,需要高性能的CNN加速器对其进行实时推理;而部分计算任务(如故障诊断算法)的计算量较小,但要求计算结果具有很高的可信度,需要高可靠的CNN加速器对其进行可靠计算。一般高空的电磁环境恶劣,航天型号中的计算系统需进行抗辐射加固处理,以降低单粒子翻转的概率。但加固处理影响系统微结构和电路时序,会限制系统的性能。

技术实现思路

[0003]鉴于上述的分析,本专利技术旨在公开了一种面向卷积神经网络的高可靠加速器,解决卷积神经网络的加速处理问题,并兼顾满足卷积神经网络的高速处理和高可靠性处理的要求。
[0004]本专利技术公开了一种面向卷积神经网络的高可靠加速器,包括指令分发模块和与其连接、受其控制的加载模块、路由模块、计算模块、冗余控制模块、和卸载模块;在指令分发控制模块的控制下,
[0005]所述加载模块从外部加载输入特征数据和卷积核数据;路由模块将加载的数据分配给计算模块;
[0006]所述计算模块中包括多个并列的计算核心,每个计算核心均用于接收分配数据进行卷积神经网络加速处理,输出处理结果;
[0007]冗余控制模块将所述计算模块输出的多路计算结果输出到所述卸载模块,通过卸载模块将卷积神经网络加速处理结果卸载输出。
[0008]进一步地,指令分发控制模块包括以高可靠性为要求的控制模式一和以高性能为要求的控制模式二和控制模式三;并通过控制指令以锁步方式实现控制模式的相互切换;其中,
[0009]在控制模式一下,路由模块将加载模块加载的多路卷积核数据进行冗余处理后共享给多个计算核心,将输入特征数据直接共享给多个计算核心;冗余控制模块对多个计算核心的计算结果进行冗余处理后输出到特征卸载模块;
[0010]在控制模式二下,路由模块将加载模块加载的不同位置的输入特征数据和相同卷积核数据共享给多个计算核心,冗余控制模块对多个计算核心的技术结果直接输出到特征卸载模块;
[0011]在控制模式三下,路由模块将加载模块加载的一个位置的输入特征数据和多个卷
积核数据共享给多个计算核心;冗余控制模块对多个计算核心的技术结果直接输出到特征卸载模块。
[0012]进一步地,所述加载模块包括一个特征加载器、一个权重加载器和两个数据加载器;所述计算模块中包括三个并列的计算核心;
[0013]在控制模式一下,特征加载器用于加载输入特征数据;权重加载器和两个数据加载器用于加载相同的卷积核数据;
[0014]在控制模式二下,特征加载器和两个数据加载器用于分别加载不同位置的输入特征数据;权重加载器用于加载卷积核数据;
[0015]在控制模式三下,特征加载器用于加载输入特征数据;权重加载器和两个数据加载器用于加载不同的卷积核数据。
[0016]进一步地,所述路由模块包括数据复制器U0~U3,数据寄存器R0~R12,数据选择器S0~S4,以及一个三取二数据冗余器;
[0017]其中,复制器U0输入端连接特征加载器输出端,复制器U1和U2输入端分别连接一个数据加载器输出端,复制器U3输入端连接权重加载器输出端;
[0018]复制器U0输出端分别连接数据寄存器R0、R1和R6输入端;复制器U1输出端分别连接数据寄存器R2、R3输入端和三取二数据冗余器第一输入端;复制器U2输出端分别连接数据寄存器R7、R8输入端和三取二数据冗余器第二输入端;复制器U3输出端分别连接数据寄存器R5、R10和R12输入端;三取二数据冗余器的输出端分别连接数据寄存器R4、R11;
[0019]寄存器R1、R2输出端分别连接数据选择器S0的第一输入端、第二输入端;
[0020]寄存器R3、R4、R5输出端分别连接数据选择器S1的第一输入端、第二输入端和第三输入端;
[0021]寄存器R6、R7输出端分别连接数据选择器S2的第一输入端、第二输入端;
[0022]寄存器R8、R9、R10输出端分别连接数据选择器S3的第一输入端、第二输入端和第三输入端;
[0023]寄存器R11、R12输出端分别连接数据选择器S4的第一输入端、第二输入端;
[0024]寄存器R0的输出端和数据选择器S0~S4作为路由模块的输出端。
[0025]进一步地,在控制模式一下,控制数据选择器S0、S2、S4选择第一输入端的数据进行输出,控制数据选择器S1、S3选择第二输入端的数据进行输出;
[0026]在控制模式二下,控制数据选择器S0、S2、S4选择第二输入端的数据进行输出,控制数据选择器S1、S3选择第三输入端的数据进行输出;
[0027]在控制模式三下,控制数据选择器S0~S3选择第一输入端的数据进行输出,数据选择S4选择第二输入端的数据输出。
[0028]进一步地,所述冗余控制模块包括数据复制器U4~U6,数据选择器S6,以及一个三取二数据冗余器;
[0029]数据复制器U4~U6的输入端分别连接三个计算核心的输出端;
[0030]数据复制器U4的输出端分别连接数据选择器S6的第一输入端和三取二数据冗余器的第一输入端;数据复制器U5的输出端连接三取二数据冗余器的第二输入端;数据复制器U6的输出端连接三取二数据冗余器的第三输入端;所述三取二数据冗余器的输出端连接数据选择器S6的第二输入端;
[0031]所述数据选择器S6的输出端、数据复制器U5、U6的输出端作为冗余模块的输出端。
[0032]进一步地,在控制模式一下,三个计算核心的数据经过三取二数据冗余器冗余处理后输出一路计算结果数据;
[0033]在控制模式二和控制模式二下,三个计算核心的数据直接输出。
[0034]进一步地,所述三取二数据冗余器的工作方式为:当输入的三个数据均相等时,则将任一数据输出;当输入数据中有两个相等,一个异常时,则将相等数据是可靠的,并将之输出;当输入的三个数据各不相等时,则向指令分发控制模块产生数据异常中断,从中断位置重启计算。
[0035]进一步地,所述计算核心包括预处理模块、卷积模块、池化模块、第一FIFO

B、第二FIFO

B、第三FIFO

B、第四FIFO

B、FIFO

A、第一旁路、第二旁路和第三旁路;
[0036]所述第一FIFO

B与第二FIFO

B的输入端作为计算核心的输入端与对应的冗余模块的输出端连接;第一FIFO

B的输出端分别连接预处理模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向卷积神经网络的高可靠加速器,其特征在于,包括指令分发模块和与其连接、受其控制的加载模块、路由模块、计算模块、冗余控制模块、和卸载模块;在指令分发控制模块的控制下,所述加载模块从外部加载输入特征数据和卷积核数据;路由模块将加载的数据分配给计算模块;所述计算模块中包括多个并列的计算核心,每个计算核心均用于接收分配数据进行卷积神经网络加速处理,输出处理结果;冗余控制模块将所述计算模块输出的多路计算结果输出到所述卸载模块,通过卸载模块将卷积神经网络加速处理结果卸载输出。2.根据权利要求1所述的面向卷积神经网络的高可靠加速器,其特征在于,指令分发控制模块包括以高可靠性为要求的控制模式一和以高性能为要求的控制模式二和控制模式三;并通过控制指令以锁步方式实现控制模式的相互切换;其中,在控制模式一下,路由模块将加载模块加载的多路卷积核数据进行冗余处理后共享给多个计算核心,将输入特征数据直接共享给多个计算核心;冗余控制模块对多个计算核心的计算结果进行冗余处理后输出到特征卸载模块;在控制模式二下,路由模块将加载模块加载的不同位置的输入特征数据和相同卷积核数据共享给多个计算核心,冗余控制模块对多个计算核心的技术结果直接输出到特征卸载模块;在控制模式三下,路由模块将加载模块加载的一个位置的输入特征数据和多个卷积核数据共享给多个计算核心;冗余控制模块对多个计算核心的技术结果直接输出到特征卸载模块。3.根据权利要求2所述的面向卷积神经网络的高可靠加速器,其特征在于,所述加载模块包括一个特征加载器、一个权重加载器和两个数据加载器;所述计算模块中包括三个并列的计算核心;在控制模式一下,特征加载器用于加载输入特征数据;权重加载器和两个数据加载器用于加载相同的卷积核数据;在控制模式二下,特征加载器和两个数据加载器用于分别加载不同位置的输入特征数据;权重加载器用于加载卷积核数据;在控制模式三下,特征加载器用于加载输入特征数据;权重加载器和两个数据加载器用于加载不同的卷积核数据。4.根据权利要求3所述的面向卷积神经网络的高可靠加速器,其特征在于,所述路由模块包括数据复制器U0~U3,数据寄存器R0~R12,数据选择器S0~S4,以及一个三取二数据冗余器;其中,复制器U0输入端连接特征加载器输出端,复制器U1和U2输入端分别连接一个数据加载器输出端,复制器U3输入端连接权重加载器输出端;复制器U0输出端分别连接数据寄存器R0、R1和R6输入端;复制器U1输出端分别连接数据寄存器R2、R3输入端和三取二数据冗余器第一输入端;复制器U2输出端分别连接数据寄存器R7、R8输入端和三取二数据冗余器第二输入端;复制器U3输出端分别连接数据寄存器R5、R10和R12输入端;三取二数据冗余器的输出端分别连接数据寄存器R4、R11;
寄存器R1、R2输出端分别连接数据选择器S0的第一输入端、第二输入端;寄存器R3、R4、R5输出端分别连接数据选择器S1的第一输入端、第二输入端和第三输入端;寄存器R6、R7输出端分别连接数据选择器S2的第一输入端、第二输入端;寄存器R8、R9、R10输出端分别连接数据选择器S3的第一输入端、第二输入端和第三输入端;寄存器R11、R12输出端分别连接数据选择器S4的第一输入端、第二输入端;寄存器R0的输出端和数据选择器S0~S4作为路由模块的输出端。5.根据权利要求4所述的面向卷积神经网络的高可靠加速器,其特征在于,在控制模式一下,控制数据选择器S0、S2、S4选择第一输入端的数据进行输出,控制数据选择器S1、S3选择第二输入端的数据进行输出;在控制模式二下,控制数据选择器S0、S2、S4选择第二输入端的数据进行输出,控制数据选择器S1、S3选择第三输入端的数据进行输出;在控制模式三下,控制数据选择器S0~S3选择第一输入端的数据进行输出,数据选择S4选择第二输入端的数据输出。6.根据权利要求3所述的面向卷积神经网络的高可靠加速器,其特征在于,所述冗余控制模块包括数...

【专利技术属性】
技术研发人员:王晓峰盖一帆周辉赵雄波李悦李超然吴松龄李山山阳徽黄鹂
申请(专利权)人:北京航天自动控制研究所
类型:发明
国别省市:

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

1