CAM是Content Addressable Memory的缩写,即“内容寻址存储器”的意思,它是在传统的存储技术的基础上实现的联想记忆存储器,关于CAM的基本操作有三种:
1).写操作:输入地址和数据,将数据写到指定的地址上,写入速度与RAM相同;
2).读操作:输入地址,返回该地址上的数据,读取速度与RAM相同;
3).查找操作:输入待查数据,返回该数据被存储的地址。这也是CAM的最主要用途,它能够从巨大的数据库中进行快速查找,并且返回最佳的匹配地址,最快查找速度能达到每秒一亿次以上。
TCAM是Ternary Content Addressable Memory的缩写,即“三态内容寻址存储器”的意思,它是从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。
TCAM的实现除了有ASIC芯片外,还可以在FPGA上用IP核实现。
参考文献:
[1] 三态内容寻址存储器(TCAM)工作原理. http://blog.sina.com.cn/s/blog_b16cbfbd01018lzw.html
[2] TCAM. 百度百科.
[3] Parameterizable Content-Addressable Memory. xapp1151_Param_CAM.pdf