hash算法在FPGA中的实现(三)——hash表项的插入

本文转载自: FPGA的现今未微信公众号

在前面的文章中主要介绍了hash表及其链表的结构,同时说明了如何读取表项。那表项是如何写入的了?前期的文章中有少量的提及,这里单独写一篇,介绍两种常见的方案。

CPU写入表项

当表项由CPU写入的时候,FPGA只进行读取(查表)的时候,那么表项的插入就和FPGA没有什么关系了。唯一要注意的就是表项要有一个CPU的写接口。以hash表为例,如果hash表在内部ram中,那么该ram就是CPU写,逻辑读;如果hash表在DDR中,那只需要给DDR留一个CPU的读写接口即可。

FPGA写入表项
FPGA写入表项的情况相对就要复杂一些,总体来说,不管什么场景,它都是用key计算hash值,然后查表,命中就返回命中结果,不命中就把key写入表中的过程,用一个流程图表示,如下图所示:

hash表的写入
根据前面hash表的构建,我们讨论一种情况,hash桶中存放多个key的场景,其他情况都是相似的处理方式。如下表所示:

当key6来查表时,如果计算出hash值为3,如果读取addr3,发现里面已经有key6,所以查表得到的结果是key6命中的;

当key10来查表时,如果计算出的hash值也是3,读取addr3,发现里面没有key10,返回的结果是不命中,同时还需要把key10和已经存在的其他的key一起写入addr3中,变成如下表:

hash链表的写入
hash链表的写入比hash表的写入要复杂,因为除了key的写入,还涉及到链表地址的回写。以一个具体的例子说明插入链表的过程。

假定hash桶的内容如下图所示,此时假定hash桶已经满了,但是还没有链表,hash桶中具体存放什么key,如何存放key不影响hash链表的写入,所以不在这里说明。

现在来了一个keyA,其hash值对应到上述hash桶,且没有命中,由于hash桶已经满了,无法继续写入hash桶中,必须写入链表了。因为将该keyA给到链表处理模块,链表处理模块会返回一个地址,addr1,表示当前的keyA,已经写入链表,位置在addr1,这时需要把addr1这个地址写回到hash桶中,这样链表才能建立,如下图所示,这样在查表的时候,就可以根据hash桶中的addr1,得到keyA。

同理,如果继续来一个keyB,hash值和keyA相同,在进行key比较的时候,发现hash桶中没有命中,同时链表addr1中也没有命中,即keyB没有命中,需要写入hash桶或者hash链表中。我们在查表的时候得知addr1是最后一链(NULL),因此将keyB送给链表处理模块,链表处理模块返回一个地址,假定为addr2,表示keyB已经写入addr2中,这次也需要把地址addr2写入地址addr1中,实现链表在尾部的插入。如下图所示:

当有key需要继续插入时,以此类推。

对于链表插入的位置,可以在尾部插入外,也可以在头部插入。当链表处理模块返回keyB写入的地址addr2后,将该地址写入hash桶中,同时将hash桶中的地址addr1和keyB写入到addr2中。如下图所示:

无论是从链表头插入还是链表尾插入,都不影响最终结果,可以根据自己设计,选择相对简单的实现方案。

总结
hash链表的插入,一般就是CPU写入和逻辑自己写入。逻辑写入的时候,无论hash桶或者链表每一链的结构如何,都可以采用上述的方式插入链表。

  • hash算法
  • FPGA

最新文章

  • 高出GPU服务器30倍,前NASA项目的超算大拿要做FPGA性能的颠覆者
  • P4 Suite for FPGA面市,优势何在?
  • 工程师经验分享——FPGA如何入门
  • 高云半导体成功举办22nm产品及方案研讨会
  • 金融交易,你迟早也是要用FPGA的
  • 【FPGA数学运算】乘法运算的N种实现方法

最新文章

瑞苏盈科FPGA核心板在实时仿真与测试(HIL)中的应用
面向FPGA的DSR路由表项设计与实现方法
面向工业应用的FPGA图像处理
一种适配Xilinx FPGA的时钟芯片--Microchip ZL30265/7
FPGA跨异步时钟ASYNC_REG和XPM_CDC处理
FPGA频率测量如何实现?

玻璃钢生产厂家广场玻璃钢雕塑定制淮安商场户外美陈玻璃钢雕塑报价生产厂家四川玻璃钢人物雕塑定制楚雄玻璃钢雕塑价格贵阳多彩玻璃钢雕塑订做价格迪士尼玻璃钢雕塑机器雕刻玻璃钢雕塑仿铜效果图片南昌步行街玻璃钢雕塑玻璃钢莲花公仔雕塑玻璃钢雕塑 上海商场美陈甜品屋宁波玻璃钢景观雕塑厂家银川动物玻璃钢雕塑厂家玻璃钢易拉罐雕塑镇江句容美陈商场铜玻璃钢卡通雕塑制作厂家辽宁玻璃钢花盆生产厂家福州户外玻璃钢雕塑批发昆明人物玻璃钢雕塑价位南通玻璃钢大象雕塑霍州玻璃钢关公雕塑玻璃钢雕塑保多少年玻璃钢雕塑钢铁侠玻璃钢雕塑怕低温吗萍乡玻璃钢雕塑加工新密彩绘玻璃钢雕塑抽象玻璃钢景观雕塑定做山东校园玻璃钢雕塑秀洲玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化