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

支持卷积神经网络扩展指令的RISC-V加速器系统技术方案

技术编号:37332548 阅读:25 留言:0更新日期:2023-04-21 23:10
一种支持卷积神经网络扩展指令的RISC

【技术实现步骤摘要】
支持卷积神经网络扩展指令的RISC

V加速器系统


[0001]本专利技术涉及一种神经网络加速器。特别是涉及一种基于RISC

V指令集实现的支持卷积神经网络扩展指令的RISC

V加速器系统。

技术介绍

[0002]近些年来,随着人工智能技术的不断快速发展,卷积神经网络(ConvolutionalNeural Network,CNN)作为深度学习的常用算法,其深度与计算量都在迅速增加。深度学习技术一个重要特点是运算量特别巨大且有不断增长的趋势,其中的卷积运算占了很大一部分,用来执行通用逻辑运算的CPU(Central Processing Unit,中央处理器)已经不能应付如此庞大的任务。目前,比较常用的处理方法是利用GPU(Graphic Processing Unit,图形处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)和FPGA(Field

Programmable Gate Array,现场可编程门阵列)来进行专门的神经网络计算。在计算和存储资源都很有限的嵌入式移动平台上,GPU和ASIC有高成本、灵活性地、可扩展性差等缺点。FPGA、ASIC的低功耗特性使其具有更广泛的应用领域,如电量受限的嵌入式平台。因此本文主要关注基于这两类平台的卷积神经网络(CNN)加速器的相关工作。但经观察发现,先前的工作中此类加速器通常仅加速特定的网络结构或特定类型的层,模式相对固定,灵活性较低。
[0003]然而,目前国内外对于此领域的技术方案存在一些问题。对于很多卷积神经网络,现有技术要么提高CPU与GPU的运算性能,这会极大提高功耗与成本,对需要支持各种负载的通用处理器带来了巨大压力;要么使用单独设计的专用硬件加速器,它们虽然提高了效率但是缺乏灵活性,难以应付需要多变场景。
[0004]将通用性强、灵活度高、功耗低的处理器与CNN卷积神经网络算法相结合,设计一款支持自定义矩阵指令的RISC

V加速器是解决灵活性与能耗比问题的可行之路。

技术实现思路

[0005]本专利技术所要解决的技术问题是,提供一种能够进一步节省卷积神经网络运行功耗、节约成本并提高灵活性与可移植性的支持卷积神经网络扩展指令的RISC

V加速器系统。
[0006]本专利技术所采用的技术方案是:一种支持卷积神经网络扩展指令的RISC

V加速器系统,包括,用于保存所有指令与数据的外部存储器和用于数据传输的AXI总线,还设置有五级流水线结构的依次串接的取指模块、译码模块、执行模块、访存模块和写回模块,所述的写回模块的输出端连接通用寄存器堆,将当前指令的运行结果送入到通用寄存器堆保存,用于译码模块的提取;其中,
[0007]所述的取指模块通过AXI总线连接外部存储器用于获取外部存储器的指令信息送入译码模块;
[0008]所述译码模块将传来的指令翻译为指令类型、通用寄存器堆地址、访存相关信息,
并从通用寄存器堆中取到指令所需数据,最后将指令类型、访存相关信息和指令所需数据发给执行模块;
[0009]所述的执行模块根据传来的指令类型和指令所需数据进行相应的运算,并将运算结果以及传来的访存相关信息发送给访存模块;
[0010]所述的访存模块检测当前指令是否为访存指令,若为访存指令则通过AXI总线连接外部存储器,根据从执行模块得到的访存相关信息与外部存储器进行交互,将从外部存储器获得的数据和执行模块的运算结果同时送入写回模块;否则,将执行模块的运算送入写回模块;
[0011]所述的写回模块将传来的运算结果送入通用寄存器堆;
[0012]所述的通用寄存器堆存放指令所需数据,通过接受来自写回模块的运算结果来修改指令所需数据,通过译码模块来从通用寄存器堆取到指令所需数据。
[0013]本专利技术的支持卷积神经网络扩展指令的RISC

V加速器系统,是一种通用的、模块化、可扩展的能处理所有卷积层运算的指令集,并基于RISC

V基础指令集极大提高了处理器的通用性。本专利技术中的专用矩阵扩展指令和RISC

V基本指令集相结合,在卷积神经网络运算上显著提高计算性能并降低资源占用。
[0014]本专利技术的支持卷积神经网络扩展指令的RISC

V加速器系统,能在计算资源和存储资源都非常有限的嵌入式平台设备上高性能地执行神经网络中卷积层的计算,从而使得功能强大的神经网络在该类设备上流畅运行。同时,该结构几乎适用于所有以卷积为主要计算的神经网络,具有很大的通用性。本专利技术在嵌入式FPGA异构平台ZYNQ

7000系列上得到验证,在该平台上测试AlexNet、LeNet

5卷积神经网络,得到了较高的准确度和预测性能。
附图说明
[0015]图1是本专利技术支持卷积神经网络扩展指令的RISC

V加速器系统的构成框图;
[0016]图2是本专利技术中矩阵处理单元内部结构示意图;
[0017]图3是图2中每个处理单元PE内部结构图。
具体实施方式
[0018]下面结合实施例和附图对本专利技术的支持卷积神经网络扩展指令的RISC

V加速器系统做出详细说明。应该指出,此处所描述的具体实施实例仅仅用以解释本专利技术,并不用于限定本专利技术。为使本专利技术的目的、技术方案和优点更加清晰,本实例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。
[0019]如图1所示,本专利技术的一种支持卷积神经网络扩展指令的RISC

V加速器系统,包括,用于保存所有指令与数据的外部存储器1和用于数据传输的AXI总线2,还设置有五级流水线结构的依次串接的取指模块3、译码模块4、执行模块5、访存模块6和写回模块7,所述的写回模块7的输出端连接通用寄存器堆8,将当前指令的运行结果送入到通用寄存器堆8保存,用于译码模块4的提取。其中:
[0020]所述的外部存储器1:使用Flash闪存作为外部存储器,Flash闪存属于存储器部件中的一种,是一种非易失性的存储,由于其容量较大,因此在本专利技术中,主要是作为外部存储器,保存所有的指令与数据。
[0021]所述的AXI总线2:AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议。AXI

4总线具有5个独立的传输通道:读地址、读数据、写地址、写数据、写应答,各自通道都有自己的握手协议。每个通道互不干扰却又彼此依赖,因此AXI

4总线传输数据极为高效。在本专利技术中,主要用来进行处理器核与存储器的相互通讯。
[0022]所述的取指模块3通过AXI总线2连接外部存储器1用于获取外部存储器1的指令信息送入译码模块4。...

【技术保护点】

【技术特征摘要】
1.一种支持卷积神经网络扩展指令的RISC

V加速器系统,包括,用于保存所有指令与数据的外部存储器(1)和用于数据传输的AXI总线(2),其特征在于,还设置有五级流水线结构的依次串接的取指模块(3)、译码模块(4)、执行模块(5)、访存模块(6)和写回模块(7),所述的写回模块(7)的输出端连接通用寄存器堆(8),将当前指令的运行结果送入到通用寄存器堆(8)保存,用于译码模块(4)的提取;其中,所述的取指模块(3)通过AXI总线(2)连接外部存储器(1)用于获取外部存储器(1)的指令信息送入译码模块(4);所述译码模块(4)将传来的指令翻译为指令类型、通用寄存器堆地址、访存相关信息,并从通用寄存器堆(8)中取到指令所需数据,最后将指令类型、访存相关信息和指令所需数据发给执行模块(5);所述的执行模块(5)根据传来的指令类型和指令所需数据进行相应的运算,并将运算结果以及传来的访存相关信息发送给访存模块;所述的访存模块(6)检测当前指令是否为访存指令,若为访存指令则通过AXI总线(2)连接外部存储器(1),根据从执行模块(5)得到的访存相关信息与外部存储器(1)进行交互,将从外部存储器(1)获得的数据和执行模块(5)的运算结果同时送入写回模块(7);否则,将执行模块(5)的运算送入写回模块(7);所述的写回模块(7)将传来的运算结果送入通用寄存器堆(8);所述的通用寄存器堆(8)存放指令所需数据,通过接受来自写回模块(7)的运算结果来修改指令所需数据,通过译码模块(4)来从通用寄存器堆(8)取到指令所需数据。2.根据权利要求1所述的支持卷积神经网络扩展指令的RISC

V加速器系统,其特征在于,所述的指令类型分为标量指令和矩阵指令。3.根据权利要求1所述的支持卷积神经网络扩展指令的RISC

V加速器系统,其特征在于,所述的执行模块(5)包括有用于处理所有的标量指令的标量处理单元(5.2)和用于处理矩阵指令的矩阵处理单元(5.1),所述译码模块(4)翻译接收到的指令后,将指令类型为标量指令的指令和与所述指令对应的数据传入标量处理单元(5.2);对于指令类型为矩阵指令的指令,首先检测矩阵处理单元(5.1)是否准备就绪,若处于准备就绪状态,则将矩阵指令和矩阵指令所对应的数据发送给矩阵处理单元(5.1);若处于未准备就绪状态,则保存指令类型和指令所对应的数据,并且暂停流水线直到下一周期,下一周期开始时,重复检测矩阵处理单元(5.1)是否准备就绪,直至矩阵处理单元准备就绪,将矩阵指令和矩阵指令所对应的数据发送给矩阵处理单元(5.1)。4.根据权利要求1所述的支持卷积神经网络扩展指令的RISC

V加速器系统,其特征在于,所述的矩阵处理单元(5.1)包括有:用于接收译码模块(4)输出的指令控制信息的矩阵乘法单元控制器(5.1.1),分别与所述矩阵乘法单元控制器(5.1.1)相连、接收矩阵乘法单元控制器(5.1.1)输出信息的片上缓存(5.1.2)、层数控制器(5.1.3)和阵列单元控制器(5.1.4),所述片上缓存(5.1.2)通过多路选择器组(5.1.5)连接阵列乘法器(5.1.6),所述层数控制器(5.1.3)和阵列单元控制器(5.1.4)的输出分别连接阵列乘法器(5.1.6)。5.根据权利要求4所述的支持卷积神经网络扩展指令的RISC

V加速器系统,其特征在于,所述的矩阵乘法单元控制器(5.1.1)是整个矩阵处理单元(5.1)的控制核心,用于对接收的指令控制信息进行分析,得到数据控制信息和阵列乘法器控制信息,其中所述的数据
控制信息发送给片上缓存(5....

【专利技术属性】
技术研发人员:魏继增王兹哲
申请(专利权)人:天津大学
类型:发明
国别省市:

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

1