一种可配置的卷积处理装置与卷积计算方法制造方法及图纸

技术编号:33087233 阅读:12 留言:0更新日期:2022-04-15 10:53
本申请的目的是提供一种可配置的卷积处理装置与卷积计算方法。与现有技术相比,本申请的卷积处理装置基于卷积神经网络模型结构及参数从所述处理模块中确定单个微处理器阵列、多个微处理器阵列、单个子计算单元或多个子计算单元中任一项作为目标计算单元并通过控制模块获取用于配置所述目标计算单元的预设程序指令并对所述目标计算单元进行配置,然后所述目标计算单元通过所述第一片上互联网络或者第二片上互联网络获取基于外部缓存输入输出接口获取的缓存数据并基于所述缓存数据实现卷积计算。通过这种方式,能够基于预设程序指令配置不同大小的计算模块,可实现卷积处理的灵活配置,且这种装置架构能够降低计算功耗、提高计算能效。提高计算能效。提高计算能效。

【技术实现步骤摘要】
一种可配置的卷积处理装置与卷积计算方法


[0001]本申请涉及卷积处理
,尤其涉及一种可配置的卷积处理的技术。

技术介绍

[0002]传统的冯诺依曼计算体系机构,计算单元ALU需要持续从外部内存中读写数据,数据的访问读写速率和功耗限制了密集计算的性能,因此,存在计算功耗大、计算效率低下的缺陷,而且,现有的卷积加速器只能按照固定单一的配置模式实现运算,配置灵活性差,无法适应不同的卷积计算,因此对于人工智能神经网络加速计算,需要新的硬件计算架构体系,以解决现有技术的缺陷。

技术实现思路

[0003]本申请的目的是提供一种可配置的卷积处理装置与卷积计算方法。
[0004]根据本申请的一个方面,提供了一种可配置的卷积处理装置,其中,该装置包括:
[0005]处理模块,包括多个矩阵形式排列的微处理器阵列,其中,每个微处理器阵列包括多个矩阵形式排列的子计算单元,其中,每个微处理器阵列的至少任意两个子计算单元之间可通过第一片上互联网络耦合连接、至少任意两个微处理器阵列之间可通过第二片上互联网络耦合连接,所述第一片上互联网络与所述第二片上互联网络都与外部缓存输入输出接口连接;
[0006]控制模块,与所述处理模块耦合,用于基于预设程序指令配置所述处理模块中单个微处理器阵列、多个微处理器阵列、单个子计算单元或多个子计算单元中任一项基于外部缓存输入输出接口获取的缓存数据执行卷积处理操作。
[0007]可选地,其中,所述装置还包括多个并列处理模块,其中,所述多个并列处理模块与所述处理模块以矩阵形式排列,任意两个处理模块之间可通过第三片上互联网络耦合连接。
[0008]可选地,其中,每个所述子计算单元包括内存存储空间,其中,通过对每个微处理器阵列内的各个子计算单元的配置可实现每个子计算单元的内存存储空间的扩展。
[0009]进一步地,其中,通过对所述处理模块内的各个微处理器阵列的配置可实现每个微处理器阵列的内存存储空间的扩展。
[0010]可选地,其中,每个所述子计算单元包括:
[0011]乘加阵列,用于执行乘加运算;数据流缓存,用于缓存所述乘加阵列的输入数据或者所述乘加阵列的输出结果;
[0012]自定义微处理器,用于获取待处理数据并基于预设配置指令执行一个或多个自定义运算,其中,所述获取待处理数据包括获取所述乘加阵列的输出结果。
[0013]进一步地,其中,所述获取待处理数据还包括直接从第一片上互联网络或者第二片上互联网络获取处理数据,所述直接从第一片上互联网络或者第二片上互联网络获取处理数据包括以下任一项:
[0014]通过所述第一片上互联网络耦合电路收/发其他子计算单元的数据;
[0015]通过第二片上互联网络耦合电路收/发其他微处理器阵列的数据;
[0016]通过第一或第二片上互联网络耦合电路收/发外部缓存器数据。
[0017]进一步地,其中,所述自定义运算包括以下任一项:步长运算、激活运算、池化运算、归一化运算、量化运算、汇集运算。
[0018]可选地,其中,所述自定义微处理器包括:
[0019]微指令缓存,用于缓存待处理数据以及一个或多个自定义运算对应的微指令;
[0020]微指令列表模块,用于将所述微指令缓存所缓存的微指令整合为基于预设顺序的微指令列表;
[0021]指令计数器,与所述微指令列表模块耦合,用于对每个自定义运算对应微指令的执行次数进行计数;
[0022]指令解码器,与所述微指令列表模块以及指令计数器耦合,用于从所述指令计数器确定微指令地址索引以及从所述微指令列表模块获取每个自定义运算微指令解码信息并生成控制指令及使能信号;
[0023]自定义运算集成电路,包括多个自定义运算电路,用于基于所述使能信号以及控制指令控制对应的自定义运算电路执行对应运算。
[0024]可选地,其中,所述第一片上互联网络与所述所述第二片上互联网络可共享外部缓存输入输出接口。
[0025]可选地,其中,所述第一片上互联网络包括输入输出接口以及配置交换器或路由单元,所述第一片上互联网络可与每个微处理器阵列中的每个子计算单元的输入输出接口通过配置交换器或路由单元实现耦合连接。
[0026]可选地,其中,所述第二片上互联网络包括输入输出接口以及可配置交换器或路由单元,所述第二片上互联网络可与每个微处理器阵列的输入输出接口通过可配置交换器或路由单元实现耦合连接。
[0027]根据本申请的另一方面,还提供了一种卷积计算方法,所述方法基于如前所述的可配置的卷积处理装置,其中,所述方法包括:
[0028]基于卷积神经网络模型结构及参数从所述处理模块中确定单个微处理器阵列、多个微处理器阵列、单个子计算单元或多个子计算单元中任一项作为目标计算单元;
[0029]通过控制模块获取用于配置所述目标计算单元的预设程序指令并对所述目标计算单元进行配置;
[0030]所述目标计算单元通过所述第一片上互联网络或者第二片上互联网络获取基于外部缓存输入输出接口获取的缓存数据并基于所述缓存数据实现卷积计算。
[0031]进一步地,其中,若所述卷积计算包括直接卷积运算,所述基于所述缓存数据实现卷积计算包括:
[0032]将所述缓存数据经过子计算单元的数据流缓存加载至乘加阵列中或直接将所述缓存数据加载至子计算单元的乘加阵列中执行乘加运算。
[0033]进一步地,其中,若所述卷积计算还包括自定义运算,所述基于所述缓存数据实现卷积计算还包括:
[0034]通过子计算单元的自定义微处理器获取外部的缓存数据作为第一数据并获取乘
加运算后输出的激活特征数据作为第二数据;
[0035]基于所述所述第一数据及所述第二数据执行所述自定义运算,以实现卷积计算。
[0036]进一步地,其中,所述基于所述第一数据及所述第二数据执行所述自定义运算包括:
[0037]在微指令缓存中缓存所述第一数据、所述第二数据以及自定义运算对应的微指令并配置微指令列表;
[0038]基于所述微指令列表并通过指令计数器循环生成微指令地址索引并获取每个自定义运算对应的微指令;
[0039]通过解码器解码后,生成选择信号以确定对应的自定义运算电路并通过所述自定义运算电路执行对应的自定义运算。
[0040]根据本申请的再一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述方法的操作。
[0041]与现有技术相比,本申请提供了一种可配置的卷积处理装置,包括:处理模块,包括多个矩阵形式排列的微处理器阵列,其中,每个微处理器阵列包括多个矩阵形式排列的子计算单元,其中,每个微处理器阵列的至少任意两个子计算单元之间可通过第一片上互联网络耦合连接、至少任意两个微处理器阵列之间可通过第二片上互联网络耦合连接,所述第一片上互联网络与所述第二片上互联网络都与外部缓存输入输出接口连接;以及控制模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可配置的卷积处理装置,其中,该装置包括:处理模块,包括多个矩阵形式排列的微处理器阵列,其中,每个微处理器阵列包括多个矩阵形式排列的子计算单元,其中,每个微处理器阵列的至少任意两个子计算单元之间可通过第一片上互联网络耦合连接、至少任意两个微处理器阵列之间可通过第二片上互联网络耦合连接,所述第一片上互联网络与所述第二片上互联网络都与外部缓存输入输出接口连接;控制模块,与所述处理模块耦合,用于基于预设程序指令配置所述处理模块中单个微处理器阵列、多个微处理器阵列、单个子计算单元或多个子计算单元中任一项基于外部缓存输入输出接口获取的缓存数据执行卷积处理操作。2.根据权利要求1所述的装置,其中,所述装置还包括多个并列处理模块,其中,所述多个并列处理模块与所述处理模块以矩阵形式排列,至少任意两个处理模块之间可通过第三片上互联网络耦合连接。3.根据权利要求1所述的装置,其中,每个所述子计算单元包括内存存储空间,其中,通过对每个微处理器阵列内的各个子计算单元的配置可实现每个子计算单元的内存存储空间的扩展。4.根据权利要求3所述的装置,其中,通过对所述处理模块内的各个微处理器阵列的配置可实现每个微处理器阵列的内存存储空间的扩展。5.根据权利要求1至4中任一项所述的装置,其中,每个所述子计算单元包括:乘加阵列,用于执行乘加运算;数据流缓存,用于缓存所述乘加阵列的输入数据或者所述乘加阵列的输出结果;自定义微处理器,用于获取待处理数据并基于预设配置指令执行一个或多个自定义运算,其中,所述获取待处理数据包括获取所述乘加阵列的输出结果。6.根据权利要求5所述的装置,其中,所述获取待处理数据还包括直接从第一片上互联网络或者第二片上互联网络获取处理数据,所述直接从第一片上互联网络或者第二片上互联网络获取处理数据包括以下任一项:通过所述第一片上互联网络耦合电路收/发其他子计算单元的数据;通过第二片上互联网络耦合电路收/发其他微处理器阵列的数据;通过第一或第二片上互联网络耦合电路收/发外部缓存器数据。7.根据权利要求5或6所述的装置,其中,所述自定义运算包括以下任一项:步长运算、激活运算、池化运算、归一化运算、量化运算、汇集运算。8.根据权利要求5所述的装置,其中,所述自定义微处理器包括:微指令缓存,用于缓存待处理数据以及一个或多个自定义运算对应的微指令;微指令列表模块,用于将所述微指令缓存所缓存的微指令整合为基于预设顺序的微指令列表;指令计数器,与所述微指令列表模块耦合,用于对每个自定义运算对应微指令的执行次数进行计数;指令解码器,与所述微指令列表模块以及指令计数器耦合,用于从所述指令计数器确定微指令地址索引以及从所述微指令列表模块获取每个自定义运算微指令解码信息并生成控制指令及使能信号;
自定义运算集成电路,包括多个自定义运算电路,用于基于所述使能信号以及控制指令控制对应的自定义运算电路执行对应运算。9.根据权利要求1所述的装置,其中,所述第一片上互联网络与所述所述第二片上互联网络可共享外部缓存输入输出接口。10.根据权利...

【专利技术属性】
技术研发人员:张官兴王赟
申请(专利权)人:绍兴埃瓦科技有限公司
类型:发明
国别省市:

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

1