[发明专利]一种基于RISC-V的边缘计算硬件架构有效
| 申请号: | 201910104636.3 | 申请日: | 2019-02-01 |
| 公开(公告)号: | CN110007961B | 公开(公告)日: | 2023-07-18 |
| 发明(设计)人: | 谭洪舟;廖普辉;路崇;何逸飞;梁羽开;魏新元;谢舜道;周永坤;黎梓宏 | 申请(专利权)人: | 中山大学 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06N3/063;G06N3/0464 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
| 地址: | 510275 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 risc 边缘 计算 硬件 架构 | ||
1.一种基于RISC-V的边缘计算硬件架构,其特征在于,包括基于RISC-V指令集的处理器、CNN硬件加速器以及通信协议接口;所述的基于RISC-V指令集的处理器与通信协议接口相连接,所述的通信协议接口与CNN硬件加速器相连接;所述的基于RISC-V指令集的处理器用于实现对CNN硬件加速器的控制,同时对CNN计算完的结果进行处理;所述的CNN硬件加速器用于接收基于RISC-V指令集的处理器的命令,对数据进行卷积计算,并将计算结果传送给基于RISC-V指令集的处理器;所述的通信协议接口用于实现所述基于RISC-V指令集的处理器与CNN硬件加速器之间的通信;
所述的CNN硬件加速器包括:通信控制模块、数据抓取模块、特征映射存储器、FIFO模块、卷积核存储器以及处理引擎模块;
所述的通信控制模块分别与通信协议接口、数据抓取模块以及处理器引擎模块相连接;所述的FIFO模块分别与数据抓取模块以及处理器引擎模块相连接,所述的数据抓取模块与特征映射存储器相连接,所述的处理器引擎模块与卷积核存储器相连接;
通信控制模块,用于接收来自通信协议接口发送过来的数据信息,将数据解析并配置相应寄存器的值,同时接收处理引擎模块发送过来的反馈信息,决定是否向通信协议接口反馈使能信息和数据;
数据抓取模块,用于获取基于RISC-V处理器传来的指令,对其译码,向特征映射存储器获取数据,将数据传送给FIFO模块;
特征映射存储器,用于对图片视频等多维数据按照指定格式存储于存储器中;
FIFO模块,用于存储数据抓取模块传来的数据,并将先存储的数据发送给处理引擎模块执行;
卷积核存储器,用于将卷积核矩阵按照特定的格式存储,并按要求将数据传输给处理引擎模块;
处理引擎模块,用于将所述FIFO模块和所述卷积核存储器传来的数据进行点乘运算,并将运算结果传回所述基于RISC-V指令集的处理器。
2.根据权利要求1中所述的一种基于RISC-V的边缘计算硬件架构,其特征在于,所述的基于RISC-V指令集的处理器包括:取指模块、执行模块、访存模块、数据存储器模块以及外设通信模块;
所述的执行模块分别与取指模块和访存模块相连接,所述的数据存储器模块以及外设通信模块分别与访存模块相连接,所述的外设通信模块与通信协议接口相连接;
所述的取指模块用于对指令进行部分译码,进行分支预测和生成下个取指地址;
所述的执行模块用于对取指阶段过来的指令进行译码和派遣到不同的运算单元执行,将运算的结果写回到寄存器;
所述的访存模块用于将要访存的指令进行仲裁,决定指令访问的存储器和外设;
所述的数据存储器模块用于存储指令需要访存的数据信息;
所述的外设通信模块用于与外部CNN硬件加速器实现通信。
3.根据权利要求2中所述的一种基于RISC-V的边缘计算硬件架构,其特征在于,所述的取指模块包括:指令取指模块、指令取指控制模块以及指令存储器;
所述的指令存储器与指令取指控制模块相连接,所述的指令取指模块的第一端口与指令取指控制模块相连接,所述的指令取指控制模块的第二端口以及第三端口分别与执行模块相连接;
指令取指模块,用于下条指令的地址的生成,用于对指令进行部分译码和简单预测;
指令取指控制模块,与指令取指模块连接,用于对指令取指模块传来的指令地址进行操作,向指令存储器发起取指操作;
指令存储器,与指令取指控制模块连接,用于存储指令,根据指令取指控制模块发过来的操作信息,返回相应的指令。
4.根据权利要求3中所述的一种基于RISC-V的边缘计算硬件架构,其特征在于,所述的执行模块包括:译码模块、指令派遣模块、长指令相关性模块、运算单元、指令交付模块、状态寄存器模块、指令写回模块;
所述的运算单元分别与指令交付模块、状态寄存器模块、指令写回模块、指令派遣模块以及访存模块相连接,所述的译码模块分别与指令取指模块的第二端口以及指令派遣模块相连接;所述的长指令相关性模块分别与指令派遣模块以及指令写回模块相连接,所述的指令写回模块分别与访存模块以及指令交付模块相连接,所述的指令交付模块分别与指令取指模块的第三端口、状态寄存器模块相连接;
译码模块,用于对指令进行译码,将译码出的信息发送给指令派遣模块;
指令派遣模块,用于对指令译码出的信息分析,将信息派遣到不同的运算单元;
长指令相关性模块,用于记录长指令的相关信息,判断当前指令是否存在数据冲突,并将判断结果返回给指令派遣模块;
运算单元模块,用于负责具体指令执行控制和运算,并将运算结果发送给指定单元;
指令交付模块,用于负责指令执行中的分支预测,异常和中断处理,决定是否将处理后的信息发送给指令取指模块;
状态寄存器模块,用于记录运行状态,决定是否将相关信息发送给指令交付模块;
指令写回模块,用于将指令写回信息写回给相关寄存器,并将执行结果发送给指定模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910104636.3/1.html,转载请声明来源钻瓜专利网。





