【技术实现步骤摘要】
一种基于RISC
‑
V指令集拓展的加速计算装置及方法
[0001]本申请涉及计算机
,尤其涉及一种基于RISC
‑
V指令集拓展的加速计算装置及方法。
技术介绍
[0002]以CNN为代表的深度学习算法是人工智能领域的新兴研究方向之一,近年来不断取得突破进展,在图像识别、语音识别等领域获得广泛应用。
[0003]目前,很多终端设备都有智能化的需求,这使得CNN在嵌入式和IoT终端设备上被大量部署应用。但是,目前主流的CNN网络模型较大,计算量较高,难以直接部署在资源极其有限的嵌入式和IoT设备上。
[0004]目前主流的CNN模型的计算量以及参数量都十分庞大,导致模型在运行过程中需要占用大量内存,同时消耗超高算力,而嵌入式设备的资源极其有限,难以满足以上两个要求,因而限制了主流的CNN模型在嵌入式终端设备的部署。
技术实现思路
[0005]本申请实施例提供了一种基于RISC
‑
V指令集拓展的加速计算装置及方法,以解决现有的CNN模型的计算量以及参数量都十分庞大,导致模型在运行过程中需要占用大量内存,同时消耗超高算力技术问题。
[0006]本申请第一方面提供了一种基于RISC
‑
V指令集拓展的加速计算装置,包括:
[0007]RISC
‑
V微处理器核模块,通过AXI总线与AXI互联设备相连接,被配置为控制量化神经网络的读写,存储指令和小规模数据,进行取指操作,并生成自定义指令;< ...
【技术保护点】
【技术特征摘要】
1.一种基于RISC
‑
V指令集拓展的加速计算装置,其特征在于,包括:RISC
‑
V微处理器核模块(1),通过AXI总线与AXI互联设备相连接,被配置为控制量化神经网络的读写,存储指令和小规模数据,进行取指操作,并生成自定义指令;协处理器核模块(2),与所述RISC
‑
V微处理器核模块(1)通信连接,通过所述AXI总线与所述AXI互联设备相连接,被配置为执行来自所述RISC
‑
V微处理器核模块(1)发送的自定义指令;存储模块(3),通过所述AXI总线与所述AXI互联设备相连接,其中,所述存储模块(3)包括:DDR存储器(31),被配置为存储大批量的用于生成自定义指令的量化神经网络参数;DDR控制器(32),被配置为控制DDR存储器(31)的读写。2.根据权利要求1所述的一种基于RISC
‑
V指令集拓展的加速计算装置,其特征在于,所述协处理器核模块(2),包括:译码单元(21),被配置为对所述RISC
‑
V微处理器核模块(1)发送的自定义指令进行译码,如果输入的自定义指令被所述协处理器核模块(2)支持,则发送自定义指令至状态单元(22);状态单元(22),与所述译码单元(21)通信连接,被配置为根据译码后的指令ID进入该指令对应的一个指令状态;执行单元(23),与所述状态单元(22)通信连接,被配置为生成并输出指令状态对应的计算结果。3.根据权利要求2所述的一种基于RISC
‑
V指令集拓展的加速计算装置,其特征在于,所述状态单元(22)包括:第一状态单元(221),被配置为当自定义指令为labuf指令时,将labuf指令通过所述AXI总线从所述存储模块(3)中读取数据,将rs1中指示的首地址对应的连续的数据写入片上分配的空间buffer_a;buffer_a存储的低3位被定义为量化位宽选择信号,labuf指令通过rs2中指示的首地址读取量化位宽选择信号;第二状态单元(222),与所述第一状态单元(221)通信连接,被配置为当自定义指令为lbbuf指令时,将lbbuf指令通过所述AXI总线从所述存储模块(3)中读取数据,将rs1中指示的首地址对应的连续的数据写入片上分配空间的buffer_b;第三状态单元(223),与所述第二状态单元(222)通信连接,被配置为当自定义指令为matrix指令时,将matrix指令从buffer_a读取量化位宽后,将buffer_a和buffer_b的数据经过MUX补零后输入脉动阵列计算矩阵乘法并在累加后存入输出buffer;第四状态单元(224),被配置为当自定义指令为sbuf指令时,将sbuf指令通过所述AXI总线将output buffer中的数据写入rs1中指示的首地址对应的连续的所述DDR存储器(31)中。4.根据权利要求1所述的一种基于RISC
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。