【技术实现步骤摘要】
支持卷积神经网络扩展指令的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)加速器的相关工作。但经观察发现,先前的工作中此类加速器通常仅加速特定的网络结构或特定类型的层,模式相对固定,灵活性
【技术保护点】
【技术特征摘要】
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....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。