[发明专利]基于分布式存储实现BRAM高效访问的数据重映射策略在审
申请号: | 202210014828.7 | 申请日: | 2022-01-07 |
公开(公告)号: | CN114356801A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 凌明;林庆德 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F12/10 | 分类号: | G06F12/10;G06F15/78 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 秦秋星 |
地址: | 214000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分布式 存储 实现 bram 高效 访问 数据 映射 策略 | ||
本发明公开了一种基于分布式存储实现BRAM高效访问的数据重映射策略。本发明针对传统N维线性索引访问BRAM时读写端口受限而导致多读/多写效率低的问题,提出了一种基于BRAM拆分策略实现2N‑1个BRAM块分布式存储的优化策略。该策略首先根据访问BRAM地址的N维线性索引,将待存储数据互不重复的映射到2N‑1个BRAM数据存储块中。并将原先访问BRAM对应地址的N维线性索引映射到访问2N‑1个BRAM块相应数据的地址上,从而提升BRAM的访问效率。
技术领域
本发明涉及FPGA中存储器访问的优化技术领域,具体涉及基于分布式存储实现双端口BRAM单周期高效访问的数据重映射策略。
背景技术
随着半导体技术的发展,现场可编程阵列(FPGA)的逻辑门数量不断提升。同时,FPGA的块状存储器(Block RAM,BRAM)容量也随之不断上升,这意味着诸如三线性插值、双线性插值以及3D-CNN等大量待访问数据可以存放于BRAM之中来提升访问速度从而达到提升系统性能的目的。但是,由于市面上所有FPGA的BRAM最多仅支持双端口访问的特性,这将会使得访问多个数据时存在访问冲突问题,需要将对多个数据的访问分为多次访问请求进行。因此,如何实现BRAM高效访问成了提升系统性能的重要手段之一。
当前,在基于FPGA的卷积神经网络实现中有关BRAM访问冲突的问题并没有被重点关注,这意味着更长的访问时间将会严重拖慢系统性能。学术界与工业界对于BRAM高效访问的策略主要集中于两个方面:复制BRAM与加入异或存储区。针对复制BRAM策略而言,该方案虽然有效地实现了多端口读写,但是仅仅是将相同的数据复制多份存储在BRAM当中,这无疑将造成大量存储空间的浪费;此外,当所需访问端口数增加以及所存储数据量提升时,BRAM存储空间将会被快速消耗殆尽。针对加入异或存储区而言,该方案将数据分成4个数据区,每个数据区存放n个数据,并增加一个异或数据区,该数据区的值由4个数据区对应位置异或得出。该方案虽然仅增加了一个异或数据区实现多端口读写,但随着单周期所需访问数据量提升时也不可避免地出现访问冲突问题;同时,增加的异或数据区将会造成关键路径过长以及写数据将无法在单周期内完成,这无疑将造成系统性能的下降。
发明内容
本发明的目的在于提供一种基于分布式存储实现BRAM高效访问的数据重映射策略,用以解决背景技术中提及的多端口访问BRAM冲突的问题,同时,该策略不会引入数据冗余从而节省BRAM资源。本发明面向一般的N维线性索引且单次访问空间连续的BRAM存储架构,通过对BRAM存储空间进行重映射,在存储密度不变的前提下提升BRAM访问效率。
为了解决上述技术问题,本发明提出如下技术方案:
一种基于分布式存储实现BRAM高效访问的数据重映射策略,其特征在于,该方法包括以下步骤:
步骤S1、判断当前原始数据存储表是否通过N维线性索引进行访问,如数据离散地排布于一维直线、二维矩阵或三维立方体等中。一般地,地址访问符合Addr=xn+a0*(xn-1+a1*(xn-2+a2*(xn-3+a3*(…))));
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210014828.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种血液科输液护理装置
- 下一篇:一种消防救援工作绳架设装置