[发明专利]一种高带宽存储的CNN加速器有效
申请号: | 202110921363.9 | 申请日: | 2021-08-11 |
公开(公告)号: | CN113642724B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 马瑶;毕思颖;焦峰;马钟;周凡;聂宇琛 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F3/06 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 崔方方 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 带宽 存储 cnn 加速器 | ||
1.一种高带宽存储的CNN加速器,其特征在于,包括数据输入模块、计算单元、数据输出模块和取指控制模块;
取指控制模块,用于获取配置信息,并发送至数据输入模块、计算单元以及数据输出模块;
数据输入模块,用于根据配置信息,获取待计算数据和权值数据,通过二级缓存将待计算数据和权值数据扩展为并行数据,并输出给计算单元;
所述数据输入模块包括输入处理模块和权值处理模块,输入处理模块用于读取并存储来自片外DDR存储器的输入数据或者计算中产生的中间数据,并根据不同的计算层类型,将数据按照这些计算层类型需要的顺序,通过数据冗余和复用的方式输入到计算单元中进行计算;权值处理模块用于读取并存储来自片外DDR存储器的权值数据,并根据不同的计算层类型采用不同的权值加载模式;
计算单元,用于解析配置信息得到计算类型,根据计算类型得到线性运算组合,将待计算数据和权值数据进行线性运算组合计算,得到计算结果;
数据输出模块,用于根据配置信息,输出计算结果或将计算结果进行预设处理后输出;
所述通过二级缓存将待计算数据和权值数据扩展为并行数据,并输出给计算单元的具体方法为:将待计算数据并行的分发至预设的第一预设数量的第一RAM中,将权值数据中的各输出通道的权值分发至第二预设数量的第二RAM中;从各第一RAM中并行读取各输出通道的输出数据,从各第二RAM中获取各输出通道的权值;将各输出通道的输出数据以及权值发送至计算单元;
所述第一预设数量的第一RAM设置两组,所述将待计算数据并行的分发至预设的第一预设数量的第一RAM中时,采用ping-pong输入机制;
所述第二预设数量的第二RAM设置两组,所述将权值数据中的各输出通道的权值分发至第二预设数量的第二RAM中时,采用ping-pong输入机制;
所述数据输入模块还用于当将各输出通道的输出数据以及权值发送至计算单元后,生成第一反馈信息并发送至取指控制模块,取指控制模块根据第一反馈信息将配置信息发送至计算单元;计算单元还用于在得到计算结果并发送至数据输出模块后,生成第二反馈信息并发送至取指控制模块,取指控制模块根据第二反馈信息将配置信息发送至数据输出模块。
2.根据权利要求1所述的高带宽存储的CNN加速器,其特征在于,所述计算类型为乘累加计算、累加计算或比较大小。
3.根据权利要求1所述的高带宽存储的CNN加速器,其特征在于,所述预设处理为存储、累加、累加并存储或非线性运算。
4.根据权利要求1所述的高带宽存储的CNN加速器,其特征在于,所述数据输出模块还用于将计算结果作为待计算数据发送至数据输入模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110921363.9/1.html,转载请声明来源钻瓜专利网。