当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于异步逻辑的可重构卷积神经网络加速电路制造技术

技术编号:18942188 阅读:41 留言:0更新日期:2018-09-15 11:24
本发明专利技术为一种基于异步逻辑的可重构卷积神经网络加速电路,包括基本运算单元PE(Processing Element)、由PE组成的运算阵列以及可配置的池化单元PU(Pooling Unit)三个组成部分。首先该电路采用可重构电路的基本架构,能够针对不同的卷积神经网络模型将运算阵列进行重构;其次该电路整体基于异步逻辑,使用异步电路中的Click单元产生的局部时钟取代同步电路中的全局时钟并使用多个Click单元级联起来形成的异步流水线结构;最后该电路使用异步全连通的Mesh网络来实现数据的复用,通过降低访问内存的次数来减少功耗。本发明专利技术电路一方面在架构上具有灵活、并行度和数据复用率高等优点,同时又比同步逻辑实现的加速电路具有功耗优势,能在较低功耗下大大提高卷积神经网络的运算速度。

A reconfigurable convolution neural network acceleration circuit based on asynchronous logic

The invention relates to a reconfigurable convolution neural network acceleration circuit based on asynchronous logic, which comprises three components: the basic operation unit PE (Processing Element), the operation array composed of PE and the configurable pooling unit PU (Pooling Unit). Firstly, the basic architecture of the reconfigurable circuit is used to reconstruct the operation arrays according to different convolutional neural network models. Secondly, the whole circuit is based on asynchronous logic, using the local clock generated by the Click unit in the asynchronous circuit to replace the global clock in the synchronous circuit and cascading multiple Click units together. Finally, the circuit uses the asynchronous fully connected Mesh network to achieve data reuse, reducing the number of memory access to reduce power consumption. On the one hand, the circuit of the invention has the advantages of flexible structure, high parallelism and high data reuse rate, on the other hand, it has the advantage of power consumption compared with the acceleration circuit realized by synchronous logic, and can greatly improve the operation speed of convolutional neural network under low power consumption.

【技术实现步骤摘要】
一种基于异步逻辑的可重构卷积神经网络加速电路
本专利技术属于集成电路设计
,特别涉及一种基于异步逻辑的可重构卷积神经网络加速电路。
技术介绍
近年来,卷积神经网络(ConvolutionalNeuralNetwork,CNN)成为图像识别领域中最有效的一种模型。由于在传统的计算平台(如CPU、GPU)进行卷积神经网络的运算存在速度慢、功耗大、能效低等一系列问题,卷积神经网络加速电路的设计是目前的一个研究热点。由于卷积神经网络具有以下特点:不同模型的层数存在差异、同一模型的不同层的计算参数存在差异、卷积层运算量大。如果采用传统的专用集成电路(ASIC)的方式,能获得最大的能效,但只能实现某种特定的卷积神经网络模型且无法更改,因此其通用性受到严重限制。如果采用FPGA进行卷积神经网络的优化,则以牺牲能效的方式扩展了通用性,但此方法对每个不同的卷积神经网络,都需要重新开发并设计新的硬件电路。因此如何保证电路能够运行尽可能多的卷积神经网络模型并维持高能效是目前一个研究难点。另外目前绝大多数的卷积神经网络加速电路都是基于同步逻辑,即存在一个全局时钟(GlobalClock)来统一指挥协调加速电路的工作。由于时钟树的存在,同步加速电路在能效上具有一定的局限性。同时,随着工艺的进步以及各种电子产品对功耗越来越高的约束,同步电路遇到了低功耗等性能瓶颈。
技术实现思路
为了克服上述现有技术的缺点,本专利技术的目的在于提供一种基于异步逻辑的可重构卷积神经网络加速电路,能在较低功耗下大大提高卷积神经网络的运算速度。为了实现上述目的,本专利技术采用的技术方案是:一种基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,采用可重构电路的基本架构,从而针对不同的卷积神经网络模型将计算单元阵列进行重构,包括:片外DRAM,存储输入数据;控制器,接受主机处理器提供的配置信息,并在每次运算之前将其写入计算单元阵列,配置信息决定了计算单元阵列的调度方法以及数据的复用方法;输入缓存器,从片外DRAM读取待处理数据;输入寄存器,从输入缓存器读取待处理数据;计算单元阵列,从输入寄存器读取待处理数据进行处理;输出缓冲器,接收计算单元阵列的处理结果,将输出数据发送至片外DRAM;其中,组成计算单元阵列的各电路模块间通过“请求”、“应答”信号实现握手通信,使电路整体基于异步逻辑。所述配置信息,根据不同的CNN模型进行配置,或根据同一CNN模型的不同层进行配置。所述电路整体基于异步逻辑,是通过使用异步电路中的Click单元产生的局部时钟取代同步电路中的全局时钟并使用多个Click单元级联起来形成异步流水线结构的方式实现的。电路使用异步全连通的Mesh网络来实现数据的复用,通过降低访问内存的次数来减少功耗。所述计算单元阵列由可配置的池化单元(PU,PoolingUnit)和若干基本运算单元(PE,ProcessingElement)组成,所述基本运算单元的运算结果输入到所述可配置的池化单元。所述基本运算单元的控制部分是由异步电路的click单元构成的三级异步流水线,每一级的click单元之间,根据其数据通路之间的组合逻辑延迟进行延迟匹配从而完成整个基本运算单元的自定时性。所述基本运算单元的工作过程是:首先当请求信号到来时,基本运算单元根据配置信息决定输入数据的来源,同时读入权重值,接着在下一个click单元的控制下输入数据被读入乘法器,完成乘法运算,同时该输入数据被缓存,使得下次运算时,其它基本运算单元能够复用该数据。所述可配置的池化单元,首先接收运算阵列的每一个基本运算单元的请求信号request,并利用MullerC单元做完成性检测,自动使得每一个基本运算单元完成乘法运算之后才会开始下一步运算。与现有技术相比,本专利技术采用动态可重构的架构,即同一个可重构处理器可以针对不同的CNN模型以及同一模型的不同层进行配置,通过实时改变配置信息来改变运算阵列中运算单元的使用模式,例如将其拆分成一些小的运算模块以提高并行度;其次,本专利技术电路采用异步逻辑,异步逻辑(电路)无时钟,它通过模块间“请求”、“应答”信号来实现握手,从而实现电路模块之间的正常通信。异步电路以其高速、低能耗、低系统集成复杂性、规范的网络接口和高抗电磁干扰性的优点,在低功耗电路设计中具有很强的竞争力;最后该电路使用异步全连通的Mesh网络来实现数据的复用,通过降低访问内存的次数来减少功耗。因此,本专利技术电路一方面在架构上具有灵活、并行度和数据复用率高等优点,同时又比同步逻辑实现的加速电路具有功耗优势,能在较低功耗下大大提高卷积神经网络的运算速度。附图说明图1为本专利技术的顶层架构示意图。图2为本专利技术设计的基本单元PE的结构示意图。图3为本专利技术设计的由基本运算单元PE构成的运算阵列示意图。图4为本专利技术设计的可重构的池化单元PU的结构示意图。图5为传统卷积核移动方式(a)与应用本专利技术电路的“卷池一体”的计算模式中卷积核的移动方式(b)。图6为池化方法公式示意图。图7为本专利技术数据复用方法示意图。具体实施方式下面结合附图和实施例详细说明本专利技术的实施方式。如图1所示,输入数据存储在片外DRAM中,在每次运算之前,控制器首先将配置信息写入计算单元阵列中,配置信息决定了计算单元阵列的调度方法以及数据的复用方法等。由于该配置所需时间短,使得动态配置成为可能,既可以根据不同的CNN模型进行配置,也可以根据同一模型的不同层进行配置。待处理数据被读进输入缓存器和输入寄存器(Mesh架构),随后进入计算单元阵列中进行处理,最终通过输出缓冲器得到输出数据。基于异步逻辑的基本运算单元(PE)如图2所示,该PE的控制部分是由异步电路的click单元构成的三级异步流水线,每一级的click单元之间,根据其数据通路之间的组合逻辑延迟进行延迟匹配从而完成整个PE的“自定时性”,即一次request信号到来之后,click会产生本地控制信号,而这些本地控制信号用以控制数据的流动,本地控制信号产生的间隔与对应的组合逻辑的延迟几乎保持一致,这样使得电路的处理速度大大加快。而当有多个request信号时,PE工作在异步流水的状态下,数据输出的吞吐率就能得到保障。当有仅有1个request信号时,电路不受到关键路径(criticalpath)的影响,运算速度快。也就是说,无论是处理一次request信号的到来(非流水线模式),还是多次request信号(流水线模式),该电路都具有优势。另外,没有request信号时,整个PE单元处于被关断的状态,无动态功耗。具体地,图2中,在第一个click单元设置方向选择触发器(DFF1),方向选择触发器在第一个click单元产生的局部时钟的作用下能够将输入的方向信息输出给多路选择器并暂存,该方向信息决定了这一次运算该PE单元接收被乘数的方向;同时利用数据选择器,根据输入的方向信息决定该PE单元接收的被乘数。在第二个click单元设置被乘数触发器(DFF2),被乘数触发器在第二个click单元产生的局部时钟的作用下能够将输入的被乘数输出给乘法器进行乘法运算。在第三个click单元设置被乘数暂存触发器(DFF3),被乘数暂存触发器在第三个click单元产生的局部时钟的作用下能够将本次输入的被乘数暂存,以便于下本文档来自技高网...

【技术保护点】
1.一种基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,采用可重构电路的基本架构,从而针对不同的卷积神经网络模型将计算单元阵列进行重构,包括:片外DRAM,存储输入数据;控制器,接受主机处理器提供的配置信息,并在每次运算之前将其写入计算单元阵列,配置信息决定了计算单元阵列的调度方法以及数据的复用方法;输入缓存器,从片外DRAM读取待处理数据;输入寄存器,从输入缓存器读取待处理数据;计算单元阵列,从输入寄存器读取待处理数据进行处理;输出缓冲器,接收计算单元阵列的处理结果,将输出数据发送至片外DRAM;其中,组成计算单元阵列的各电路模块间通过“请求”、“应答”信号实现握手通信,使电路整体基于异步逻辑。

【技术特征摘要】
1.一种基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,采用可重构电路的基本架构,从而针对不同的卷积神经网络模型将计算单元阵列进行重构,包括:片外DRAM,存储输入数据;控制器,接受主机处理器提供的配置信息,并在每次运算之前将其写入计算单元阵列,配置信息决定了计算单元阵列的调度方法以及数据的复用方法;输入缓存器,从片外DRAM读取待处理数据;输入寄存器,从输入缓存器读取待处理数据;计算单元阵列,从输入寄存器读取待处理数据进行处理;输出缓冲器,接收计算单元阵列的处理结果,将输出数据发送至片外DRAM;其中,组成计算单元阵列的各电路模块间通过“请求”、“应答”信号实现握手通信,使电路整体基于异步逻辑。2.根据权利要求1所述基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,所述配置信息,根据不同的CNN模型进行配置,或根据同一CNN模型的不同层进行配置。3.根据权利要求1所述基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,所述电路整体基于异步逻辑,是通过使用异步电路中的Click单元产生的局部时钟取代同步电路中的全局时钟并使用多个Click单元级联起来形成异步流水线结构的方式实现的。4.根据权利要求1所述基于异步逻辑的可重构卷积神经网络加速电路,其特征在于,电路使用异步全连通的Mesh网络来实现数据的复用,通过...

【专利技术属性】
技术研发人员:陈虹陈伟佳王登杰
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1