内容寻址存储器单元、点云范围搜索电路及方法

文档序号:38290795发布日期:2024-06-12 23:39阅读:28来源:国知局
内容寻址存储器单元、点云范围搜索电路及方法

本发明涉及内容寻址存储器,具体涉及一种内容寻址存储器单元、点云范围搜索电路及方法。


背景技术:

1、点云中的邻域关系是许多算法的基础,但是点云数据结构其本身是缺乏顺序的。因此,各种点云处理流程中都需要引入范围搜索操作以获得邻域关系,即在点云中找到与给定点相邻的若干点。例如,在基于点的神经网络中,从相邻点得到的信息被用作特征计算的输入,在点云去噪中,用于确定一个点是否是异常点。在处理一帧点云数据时,范围搜索算法往往会被执行数十亿次。因此,稍微增加每个调用的执行时间可以显著影响整体效率。最近的研究表明,点云范围搜索的延迟占点云处理流水线的50%以上。面对日益增长的高吞吐量需求,点云范围搜索的性能已成为一个重要问题。

2、具体来说,点云是一组点的集合p,每个点都包括其空间位置信息(x,y,z)。点云通常存储在一维的列表中,它们的数据结构是无序的,缺乏直接的空间近邻信息。因此,为了从点云集中提取空间信息,需要在点云处理流程中引入范围搜索。点云的范围搜索是点云处理的核心算子。对于给定的点云p,中心点云pc,和一个范围r,范围搜索的目标是找到相邻的点集n,使得其中的点对于pc之间的距离小于r。

3、针对上述问题,目前已提出了多种方案,包括暴力搜索(bf)、使用二维网格或三维体素进行空间划分,以及基于kd树/八叉树的方案。其中,bf搜索算法必须遍历整个点云,导致时间复杂度较高,为o(n)。基于树的搜索算法的时间复杂度为o(log2n),但这些算法本质上是顺序的,需要频繁和不规则的内存访问。

4、2015年,shengren li等人使用了高度优化的nvidia cuda库来实现暴力搜索。他们把搜索任务划分为两个步骤。首先,计算一个距离矩阵d2(q,r),给出每个q∈q到每个r∈r的平方距离。为了实现这一步,他们修改并使用了magma库中的sgemm内核。在第二步中,对于每个查询,搜索它的距离矩阵行来寻找若干个最小的平方距离。他们的实现使用了来自modern gpu库的合并路径函数,这个函数被用来实现一个截断的合并排序,其中只有k个最小的项从一个合并级别移动到下一个级别。但是使用gpu往往会需要比较大的功耗和硬件开销,在算力紧张的领域,例如自动驾驶等领域,并不一定合适。(li,shengren,and ninaamenta."brute-force k-nearest neighbors search on the gpu."similarity searchand applications:8th international conference,sisap 2015,glasgow,uk,october12-14,2015,proceedings 8.springer international publishing,2015.)

5、2020年,reid pinkham等人针对搜索中存在大量的随机访问和极少的数据重用机会,采用了多种内存优化方案,包括:1)将k-d树数据结构划分为树节点和点桶两个集合,根据树节点和点桶的不同特点,对具有高重用性的树节点进行终生缓存以方便搜索,而对重用性较低的点桶则在外部内存中组织成规则的连续段,以方便有效的突发访问;2)增加写入和读取缓存以收集随机访问,将其转换为顺序访问;3)树构造和树搜索进行交织以切断冗余访问流。此外,通过优化内存带宽,点云搜索可以通过两种新的处理方案进一步加速:1)利用最小的树重复开销的多个工作者的并行树遍历;2)通过动态更新树而不是每次从头构建树来最小化树构建开销的增量树构建。基于分区的knn搜索受到随机外部内存访问开销的影响,并且在体系结构并行性方面仍然受到限制。(pinkham,reid,shuqing zeng,andzhengya zhang."quicknn:memory and performance optimization of kd tree basednearest neighbor search for 3d point clouds."2020ieee international symposiumon high performance computer architecture(hpca).ieee,2020.)

6、2023年,pedro becker等人利用kd树的数据结构中的值相似性来压缩内存中的数据。此外还了利用有限的点云值范围,使用更少的浮点表示来压缩数据。为了便于集成到现在的系统中,他们通过一组新的cpu指令来压缩、解压缩和操作点云。为了保持基线安全水平,精心设计了指令扩展方案,以检测压缩引起的精度损失。并且,如果需要的话,可以重新进行完精确的计算。然而,此方案仍然需要一定的内存访问,并且无法满足实时性的要求。(e.becker,pedro h.,josé-maría arnau,and antonio gonzález."kd bonsai:isa-extensions to compress kd trees for autonomous driving tasks."proceedings ofthe50th annual international symposium on computer architecture.2023.)

7、2023年,faquan chen等人为了打破外部带宽瓶颈的限制,提出了一种高度并行的体系结构,用于高效处理高吞吐量点云的knn搜索。首先,他们优化了基于高带宽存储器和片上存储器的多通道缓存,以提供大的外部带宽。然后,提出了一种新的并行深度优先八叉树构造算法,并将其映射到具有跟踪编码构造队列的多个构造分支上,该算法可以正则化随机访问,有效地进行多分支八叉树的构造。此外,在搜索阶段,提出了算法架构的协同优化,包括基于并行关键帧的调度和多分支灵活的搜索引擎,为参考点提供无冲突访问和最大限度的重用机会。然而,此方案需要高带宽的存储器,在功耗和成本方面无法达到最优。(chen,faquan,et al."parallelnn:aparallel octree-based nearest neighbor searchaccelerator for 3d point clouds."2023ieee international symposium on high-performance computer architecture(hpca).ieee,2023.)

8、内容寻址存储器(content-addressable memory,cam)可以从整个存储器中快速搜索输入的搜索数据,并在单个时钟周期内通知数据的地址。经典nand型二进制cam(bcam)结构如图6所示。在bcam中,当数据匹配时,匹配线左侧(mll)和匹配线右侧(mlr)连接。当所有位相同时,预充电的节点将通过连接的匹配线放电到地。cam目前的主要商业应用是在网络路由器中对互联网协议(ip)数据包进行分类和转发。由于cam的快速搜索能力,它是实现搜索操作的好选择。然而针对点云搜索任务,传统的cam无法胜任,因为其无法实现快速的比较操作。


技术实现思路

1、本发明是为解决上述问题而进行的,目的在于提供一种能够实现快速的比较操作、从而能够应用于点云范围搜索任务的内容寻址存储器单元、由该单元构成的点云范围搜索电路以及相应的方法,本发明采用了如下技术方案:

2、本发明提供了一种内容寻址存储器单元,用于点云范围搜索,其具有这样的技术特征,包括:存储器,用于存储参考点云数据;比较器,分别与所述存储器、搜索线以及反向搜索线相连,用于判断由所述搜索线和/或所述反向搜索线输入的目标点云数据与所述参考点云数据是否相等;反相器,与所述比较器相连,用于对所述比较器输出的结果进行反相;传输门,分别与所述反相器以及匹配线相连,并用于控制匹配线左端和匹配线右端是否连通;以及调节器件,分别与所述匹配线右端以及信号线相连,用于将所述匹配线右端的电压调节至所述信号线的电压。

3、本发明提供的内容寻址存储器单元,还可以具有这样的技术特征,其中,所述存储器为sram存储器,具有q端以及qb端,所述比较器包含nmos n1和nmos n2,所述nmos n1的栅极与所述sram存储器的q端相连,所述nmos n1的源极与所述搜索线相连,所述nmos n1的漏极与所述nmos n2的漏极相连且连接位置具有match节点,所述nmos n2的栅极与所述sram存储器的qb端相连,所述nmos n2的源极与所述反向搜索线相连,所述传输门包含nmos n3以及pmos p2,所述nmos n3的栅极与所述match节点相连,所述nmos n3的源极与所述pmosp2的源极相连且与所述匹配线左端相连,所述nmos n3的漏极与所述pmos p2的漏极相连且与所述匹配线右端相连。

4、本发明提供的内容寻址存储器单元,还可以具有这样的技术特征,其中,所述调节器件为pmos p1,所述pmos p1的栅极与所述match节点相连,所述pmos p1的源极与所述信号线相连,所述pmos p1的漏极与所述匹配线右端相连。

5、本发明提供的内容寻址存储器单元,还可以具有这样的技术特征,其中,所述反相器的输入端与所述match节点相连,所述反相器的输出端与所述pmos p2的栅极连接且连接位置具有matchb节点。

6、本发明提供的内容寻址存储器单元,还可以具有这样的技术特征,其中,所述sram存储器为六管sram存储器,所述反相器为二管反相器。

7、本发明提供了一种点云范围搜索电路,其具有这样的特征,包括:呈阵列式排布的多个上述的内容寻址存储器单元。

8、本发明提供的点云范围搜索电路,还可以具有这样的技术特征,其中,同一列的所述内容寻址存储器单元连接至同一条所述搜索线、同一条所述反向搜索线以及同一条所述信号线,同一行中,相邻两个所述内容寻址存储器单元的对应侧的所述匹配线左端与所述匹配线右端相连,每一行中,作为最低有效位的所述内容寻址存储器单元的所述匹配线左端接地。

9、本发明提供了一种点云范围搜索方法,其具有这样的技术特征,包括以下步骤:步骤s1,点云范围搜索电路从外部存储设备读取包含多个参考点的参考点云数据;步骤s2,向所述点云范围搜索电路输入待搜索的目标点以及搜索条件,所述点云范围搜索电路输出满足所述搜索条件的所述参考点的地址,其中,所述点云范围搜索电路为上述的点云范围搜索电路。

10、本发明提供的点云范围搜索方法,还可以具有这样的技术特征,其中,步骤s2包括以下子步骤:步骤s2-1,在第一个时钟周期,向所述点云范围搜索电路输入所述目标点以及上界搜索条件,所述点云范围搜索电路输出所有满足所述上界搜索条件的所述参考点的第一地址;步骤s2-2,在第二个时钟周期,向所述点云范围搜索电路输入所述目标点以及下界搜索条件,所述点云范围搜索电路输出所有满足所述下界搜索条件的所述参考点的第二地址,并对所述第一地址和所述第二地址执行与运算,输出所有同时满足所述上界搜索条件以及所述下界搜索条件的所述参考点的地址。

11、本发明提供的点云范围搜索方法,还可以具有这样的技术特征,其中,步骤s2中,采用基于切比雪夫距离的比较算法进行所述目标点与所述参考点的比较。

12、发明作用与效果

13、根据本发明的内容寻址存储器单元、点云范围搜索电路及方法,每个内容寻址存储器单元包括用于存储参考点云数据的存储器、用于比较目标点云数据与参考点云数据的比较器、用于对比较器的输出进行反相的反相器、用于控制匹配线左右端是否连通的传输门以及用于调节匹配线右端电压的调节器件,因此采用多个该内容寻址存储器单元构成阵列时,因此能够利用各单元的传输门实现波纹比较,从而实现快速高效的三维点云范围搜索,并且由于无需将点云数据读出内容寻址存储器单元阵列,因此节省了数据搬移的能耗,可以达到很高的能效。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1