一种卷积运算协处理器及基于该处理器的快速卷积方法技术

技术编号:29759603 阅读:15 留言:0更新日期:2021-08-20 21:13
本发明专利技术涉及集成电路领域,特别涉及一种卷积运算协处理器及基于该处理器的快速卷积方法,包括接口处理单元,用于接口处理单元解析命令后得到的运算配置参数的配置存储寄存器,用于对接口处理单元转发的初始偏置值进行移位运算、或用于对所述结果存储寄存器进行移位运算以得到最终由所述接口处理单元返回给主处理器的数据移位运算阵列、用于对接口处理单元所转发的待运算数据和结果存储寄存器进行乘积累积运算的MAC阵列以及用于存储所述移位运算阵列对初始偏置值运算得到的结果、也用于存储所述MAC阵列运算得到结果结果存储寄存器;本发明专利技术相比纯软件实现,性能得到很大提高;主处理器使用扩展指令编程协处理器,可以实现非常灵活的计算配置。

【技术实现步骤摘要】
一种卷积运算协处理器及基于该处理器的快速卷积方法
本专利技术涉及集成电路领域,特别涉及一种卷积运算协处理器及基于该处理器的快速卷积方法。
技术介绍
集成电路技术的进步不断提升芯片的计算能力,这也加速了很多相关应用技术的发展。人工智能就是这种快速发展的技术之一。机器学习作为人工智能技术的一个主要分支,得益于计算能力的极大发展和信息时代积累起来的大数据,在计算机视觉,自然语言处理,语音识别等领域中取得了丰硕的成果。随着IOT技术的演进,机器学习在边缘侧也得到了广泛的应用,助力边缘侧产品实现关键词识别、图像识别等功能。卷积神经网络是边缘侧的机器学习中最常用的一种模型。边缘侧的卷积神经网络实现可以直接在MCU平台上以纯软件方式实现,但受限于MCU的计算能力,在性能上尚有优化空间。协处理器是一种对主处理器功能的扩展,实现处理特定任务时的性能优化。大多数处理器提供的协处理器接口提供给设计者可自定义的指令扩展,使设计者可以方便的实现易编程的协处理器。
技术实现思路
对卷积神经网络中计算量占比最大的几种运算进行优化,本专利技术提出一种卷积运算协处理器及基于该处理器的快速卷积方法,所述卷积运算协处理器包括接口处理单元、配置存储寄存器、移位运算阵列、MAC阵列以及结果存储寄存器,其中:接口处理单元,用于解析主处理器发出的指令,并根据指令解析结果;将指令中的配置内容存入配置存储寄存器;将指令中的待运算数据转发给MAC阵列;将指令中的初始偏置值转发给移位运算阵列;将运算结果寄存器内容返回给主处理器;配置存储寄存器,用于接口处理单元解析命令后得到的运算配置参数;移位运算阵列,包括多个移位运算器,用于对接口处理单元转发的初始偏置值进行移位运算;或用于对所述结果存储寄存器进行移位运算,以得到最终由所述接口处理单元返回给主处理器的数据;MAC阵列,包括多个乘积累加运算器,用于对接口处理单元所转发的待运算数据和结果存储寄存器进行乘积累积运算;结果存储寄存器,包括多个寄存器,用于存储所述移位运算阵列对初始偏置值运算得到的结果,也用于存储所述MAC阵列运算得到结果。进一步的,配置存储寄存器的配置参数包括bias_shift、output_shift及conv_type,其中bias_shift参数用于配置初始偏置值的移位位数,output_shift参数用于配置结果存储寄存器在最后返回给主处理器时的移位位数,conv_type参数用于配置卷积计算的类型。进一步的,卷积计算的类型包括depthwise卷积和pointwise卷积。本专利技术还提供一种基于卷积运算协处理器的快速卷积方法,包括前述任一一种卷积运算协处理器,卷积运算协处理方法包括以下步骤:S1、设置配置存储寄存器的初始偏移值需要移位的位数以及最终输出结果需要移位的位数;S2、为卷积运算协处理器设置设置卷积运算模式,卷积运算模式包括DW模式或PW模式;S3、为卷积运算协处理器设置初始偏置值;S4、提供N对待运算数,N对待运算数为N层输入图像同一平面坐标的点数值和4层卷积核同一平面坐标的点的数值;S5、MAC阵列对待运算数及结果存储寄存器进行运算;S6、主处理器判断是否完成一次输出图像上点的计算,如果完成则读取结果,进入步骤S7;否则则重复步骤S4,继续提供用于计算输出点的待运算数;S7、主处理器判断是否完成输出图像所有点的计算,若是,则结束本次卷积运算;否则,则进入步骤S4开始提供计算下一个输出图像上点所需要的待运算数。进一步的,在步骤S5中,若卷积运算模式为DW模式,即卷积运算的类型为depthwise卷积,则N对待运算数每对相乘所得N个积分别对应累加到N个结果存储寄存器上;若卷积运算模式为PW模式,即卷积运算的类型为pointwise卷积,则N对待运算数每对相乘所得N个积一起累加的结果存储在第一个结果寄存器寄存器上。进一步的,为卷积运算协处理器设置初始偏置值时,若卷积运算模式为DW模式,则同时配置N个初始偏置值;若卷积运算模式为PW模式时,只配置一个初始偏置值。本专利技术通过协处理器接口以非常轻量级的开销实现了卷积运算协处理器,由于MAC阵列可以并行计算多组结果,基于卷积运算协处理器实现的卷积运算相比纯软件实现,性能得到很大提高;主处理器使用扩展指令编程协处理器,可以实现非常灵活的计算配置。附图说明图1为本专利技术卷积运算协处理器结构示意图;图2为本专利技术实施例2提供的卷积运算协处理器具体结构示意图;图3为本专利技术实现DW卷积的示意图;图4为说明实现PW卷积的示意图;图5为本专利技术基于卷积运算协处理器的快速卷积方法流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种卷积运算协处理器,包括接口处理单元、配置存储寄存器、移位运算阵列、MAC阵列以及结果存储寄存器,其中:接口处理单元,用于解析主处理器发出的指令,并根据指令解析结果;将指令中的配置内容存入配置存储寄存器;将指令中的待运算数据转发给MAC阵列;将指令中的初始偏置值转发给移位运算阵列;将运算结果寄存器内容返回给主处理器;配置存储寄存器,用于接口处理单元解析命令后得到的运算配置参数;移位运算阵列,包括多个移位运算器,用于对接口处理单元转发的初始偏置值进行移位运算;或用于对所述结果存储寄存器进行移位运算,以得到最终由所述接口处理单元返回给主处理器的数据;MAC阵列,包括多个乘积累加运算器,用于对接口处理单元所转发的待运算数据和结果存储寄存器进行乘积累积运算;结果存储寄存器,包括多个寄存器,用于存储所述移位运算阵列对初始偏置值运算得到的结果,也用于存储所述MAC阵列运算得到结果。为更好的说明实施例,首先介绍两种卷积计算的类型,Depthwise(DW)卷积与Pointwise(PW)卷积,通过这两种卷积的组合可以达到和常规卷积相同的效果,而且参数量更少运算成本更低,所以在边缘侧的轻量级神经网络中非常实用。DW卷积计算过程如图3所示,输入图像的层数、卷积核的层数、输出图像的层数相等,输入图像的某一层和同一层的卷积核做卷积运算得到对同一层的输出图像。PW卷积计算过程如图4所示,输入图像的层数和卷积核的层数相等,每层卷积核的尺寸是1X1,输出图像层数为1。输入图像和相同层的卷积核相乘,所得乘积按层累加在一起得到输出图像。实施例1本实施例提供的卷积运算协处理器结构如图1,包括接口处理单元、配置存储寄存器、移位计算器阵列、MAC阵列、结果存储寄存器,其中:所述接口处理单元,用于解析主处理器发出的指令。根据指令解析结果本文档来自技高网...

【技术保护点】
1.一种卷积运算协处理器,其特征在于,包括接口处理单元、配置存储寄存器、移位运算阵列、MAC阵列以及结果存储寄存器,其中:/n接口处理单元,用于解析主处理器发出的指令,并根据指令解析结果;将指令中的配置内容存入配置存储寄存器;将指令中的待运算数据转发给MAC阵列;将指令中的初始偏置值转发给移位运算阵列;将运算结果寄存器内容返回给主处理器;/n配置存储寄存器,用于接口处理单元解析命令后得到的运算配置参数;/n移位运算阵列,包括多个移位运算器,用于对接口处理单元转发的初始偏置值进行移位运算;或用于对所述结果存储寄存器进行移位运算,以得到最终由所述接口处理单元返回给主处理器的数据;/nMAC阵列,包括多个乘积累加运算器,用于对接口处理单元所转发的待运算数据和结果存储寄存器进行乘积累积运算;/n结果存储寄存器,包括多个寄存器,用于存储所述移位运算阵列对初始偏置值运算得到的结果,也用于存储所述MAC阵列运算得到结果。/n

【技术特征摘要】
1.一种卷积运算协处理器,其特征在于,包括接口处理单元、配置存储寄存器、移位运算阵列、MAC阵列以及结果存储寄存器,其中:
接口处理单元,用于解析主处理器发出的指令,并根据指令解析结果;将指令中的配置内容存入配置存储寄存器;将指令中的待运算数据转发给MAC阵列;将指令中的初始偏置值转发给移位运算阵列;将运算结果寄存器内容返回给主处理器;
配置存储寄存器,用于接口处理单元解析命令后得到的运算配置参数;
移位运算阵列,包括多个移位运算器,用于对接口处理单元转发的初始偏置值进行移位运算;或用于对所述结果存储寄存器进行移位运算,以得到最终由所述接口处理单元返回给主处理器的数据;
MAC阵列,包括多个乘积累加运算器,用于对接口处理单元所转发的待运算数据和结果存储寄存器进行乘积累积运算;
结果存储寄存器,包括多个寄存器,用于存储所述移位运算阵列对初始偏置值运算得到的结果,也用于存储所述MAC阵列运算得到结果。


2.根据权利要求1所述的一种卷积运算协处理器,其特征在于,配置存储寄存器的配置参数包括bias_shift、output_shift及conv_type,其中bias_shift参数用于配置初始偏置值的移位位数,output_shift参数用于配置结果存储寄存器在最后返回给主处理器时的移位位数,conv_type参数用于配置卷积计算的类型。


3.根据权利要求2所述的一种卷积运算协处理器,其特征在于,卷积计算的类型包括depthwise卷积和pointwise卷积。


4.一种基于卷积运算协处理器的快速卷积方法,其...

【专利技术属性】
技术研发人员:常学贵魏鹏奚晓明黄瑜璇
申请(专利权)人:思澈科技上海有限公司
类型:发明
国别省市:上海;31

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

1