CAM(Content-Addressable Memory)介绍

1.CAM介绍

标准存储器RAM查找方式为通过地址查找相应地址的数据,而CAM为通过数据查找相应地址,实现了更快的数据搜索。
CAM中,每个地址只能存储唯一数据,但特定的数据可以存在多个地址中。
当写入发现地址冲突时,删除原来的旧数据。

2.实现方法

共两种主流实现方法,基于SRL16E和基于RAM实现,本文主要介绍基于RAM的实现方式。
基于RAM的实现思路其实就是将地址与内容互换,将内容作为地址,将地址转换为独热码表示的内容存于RAM(这是为了保证同一数据内容可以同时存在不同地址中,同时保证可以进行CAM并联),假设原RAM位宽为10,深度为32,则相应CAM需要深度为210=1024,宽度也为32。
如下图所示为CAM存储结构。
在这里插入图片描述
此图中,CAM数据000存储在地址1
CAM数据000存储在地址1
CAM数据001存储在地址5
CAM数据011存储在地址3
CAM数据100存储在地址0和7
CAM数据110存储在地址2
CAM数据010、111、101没有被存储在任何地址
CAM地址4、6没有存储任何数据。
注意,CAM的存储宽度和深度不是位宽和位深,CAM输入端口位宽为1,位深为总数据量,这样的目的是当地址为{RAM数据,RAM地址}时,便可实现定位功能。举例说明,在上图中,CAM中在地址{000,1}的数据为1’b1时即可表示RAM中地址1存储数据为000,CAM中在地址{001,5}的数据为1’b1时即可表示RAM中地址5存储数据为001。通过这种方式即可实现数据与地址的互换。

2.1电路实现

电路主要有两个RAM实现,分别是RraseRAM和RAMB,其中RraseRAM存储内容即为查找表内容,RAMB存储为CAM。<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值