转载


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器件的生产厂商主要有Cypress、IDT和Netlogic三家。这三家分别将TCAM器件称作Network Search Engine(NSE)、Network Search Accelerator(NSA)和Knowledge-based Processor(KBP)。

TCAM器件在通信领域种有非常广泛的应用,主要有:

  1. ATM Switching设备中的VCI/VPI转发和ATM-to-MPLS or ATM-to-TCP-Flow地址映射表项的存储和查找;
  2. Ethernet Switching设备中的二层MAC地址、ARP/RARP解析和三层IP路由表项的存储和查找;
  3. Emerging Protocols and functions方面的MPLS label表项的存储和查找;
  4. Packet Classification业务中的Enforce security、Enforce departmental policies和QOS检测表项的存储和查找;
  5. 安全防护设备中的FIB/LBT、MFIB及ACL表项存储和查找。

传统的表项查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAM的软件查找方法,共同特点是查找速度慢。线型查找法需要遍历表中的所有表项;二叉树查找法需要遍历树中大多数节点,而且查找速度受树的深度影响较大;哈希表查找法是软件查找中计较快的一种方法,它是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。虽然哈希表查找法相对来说比较快,但还是满足不了高速实时通信系统(如40G/100G POS)的极速查找需求。

基于硬件的TCAM查找法正是在这种背景下提出的,用此方法进行查找时,整个表项空间的所有数据在同一时刻被查询,查找速度不受表项空间数据大小影响,每个时钟周期完成一次查找,平均查找速度是基于SRAM算法查找的6倍,最坏情况下,能达到128倍。

TCAM器件的硬件设计方式一般有三种,如下图所示:

网络处理器NP从报文头中把需要查找的信息提取出来,这个待查找的信息要整理成跟TCAM所存表项的格式一致,称之为KEY。KEY作为TCAM的输入数据,经过与表项对照,如果有匹配的表项,就把该表项所在的地址作为输出,称之为Index。然后将Index作为RAM的地址输入,从RAM里得到所需查找的信息,称之为Data。最后将Data返回给发起查找操作的NP,至此完成一次查找操作。下图为TCAM在高端路由器中的应用及查找过程。

CAM和TCAM的基本存储单元如下图所示:

下面以Netlogic的TCAM器件NL101024为例,介绍下TCAM器件的各管脚功能:1).DBUS[71:0]:KEY输入总线,共72根,与TCAM表项宽度相同(TCAM基本表项位宽为72位,32位源IP地址+32位目的IP地址+8位端口地址),IDT公司已开始推出用于IPV6的80位宽度TCAM器件;2).RBUS[49:0]:查询结果Result返回总线,50位宽;3).IBUS[7:0]:指令总线;4).CLK:系统时钟,上升沿有效;5)CLK0:输出时钟,读数据和比较数据时使用;6).CE#:片选信号;7).RST#芯片复位信号;8).ODS-0/1:数据总线输出驱动选择信号;9).SMF[3:0]:系统匹配错误标识信号;10).RV:结果有效信号;11).RFSL:只在HSTL/SSTL-2电平时使用,此时,RFSL=0表示使用内部参考电压VDDQ/2,RFSL=1时表示由外部管脚VREF提供参考电压。使用LVCMOS电平时,该管脚直接接地;12).VREF[4:1]:参考电影,为HSTL/SSTL-2的I/O端口提供参考电压,内部有弱下拉,当使用LVCMOS电平时,这些管脚直接接地。有的TCAM器件对外提供LA-1接口,如NSE5512,LA-1的位宽较小,只有16位宽度,不过它在TCAM器件内部先转换

三态内容寻址存储器(TCAM)工作原理相关推荐

  1. 三态内容寻址存储器(TCAM)概念

    CAM CAM是Content Addressable Memory的缩写,即"内容寻址存储器"的意思,它是在传统的存储技术的基础上实现的联想记忆存储器,关于CAM的基本操作有三种 ...

  2. 三态内容寻址寄存器(TCAM)

    三态内容寻址寄存器(TCAM) CAM(content addressable memory),内容寻址存储器.在传统的存储技术上实现的联想记忆存储器,CAM的基本操作有三种: 写操作:输入地址和数据 ...

  3. 计算机网络(二十三):路由器工作原理

    主要是网络层的转发功能,即实际将分组从一台路由器的入链路传送到适当的出链路. 输入端口:将一条输入的物理链路与路由器相连接的物理层功能:与位于人链路远端的数据链路层交互的数据链路层功能:通过查询转发表 ...

  4. 下面哪个字段是http请求中必须具备的_HTTP协议及其工作原理介绍

    HTTP,全称 HyperText Transfer Protocol,即超文本传输协议.它是互联网应用最为广泛的一种网络协议,我们平时浏览网页的时候就是使用HTTP协议.比如当你在浏览器中输入www ...

  5. AT88SC0104C加密芯片的工作原理

    转载自 f2k5 1. 加密芯片的功能和基本原理. 加密芯片主要用来保护烧进Flash里面的程序即使被盗版者读走, 在非法板上也不能运行, 从而达到保护自己劳动成果的目的. 本文主要内容: 一.    ...

  6. 时钟服务器工作原理,NTP时间服务器工作原理

    文章目录 [隐藏] NTP简介 NTP工作原理 NTP工作模式 NTP简介 NTP(Network Time Protocol, 网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间 ...

  7. AI智能音箱工作原理中应用的数字功放芯片

    AI智能音箱是一个音箱升级的产物,是家庭消费者用语音进行上网的一个工具,比如点播歌曲.上网购物,或是了解天气预报,它也可以对智能家居设备进行控制,比如打开窗帘.设置冰箱温度.提前让热水器升温等. 智能 ...

  8. arp 不同网段 相同vlan_ARP工作原理,相同网段和不同网段通信过程,代理ARP和ARP的区别,MAC地址为什么不能用来寻址...

    ARP 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上 ...

  9. 内容可寻址存储器CAM简介

    1.1 内容可寻址存储器CAM简介 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)内容可寻址存储器CAM简介: 5)结束语. 1.1.2 本节引言 "不积跬步 ...

最新文章

  1. 抵御故障引发系统性失控的基本原则:混沌工程
  2. python爬虫文件代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)...
  3. sym--数值矩阵转为符号矩阵
  4. 一个完整的 Web 请求到底发生了什么
  5. kettle 的表输出 table output
  6. Vue 使用 screenfull 实现全屏
  7. 【汇总】多种方法教你绕过 TPM 2.0 安装 Windows 11 操作系统
  8. 应用服务器web服务器_最受欢迎的应用服务器
  9. 电脑应用程序错误怎么办_遇到电脑桌面应用程序无法正常启动(0xc0000142)怎么办?0xc0000142解决方法...
  10. Seldom2.0: 如何更简单的实现HTTP接口测试
  11. Liferay layout_configuration 分析
  12. SVN迁移IP变更地址修改relocate
  13. 锻炼完美腹肌的7条原则
  14. 优质的草图大师素材 草图66!
  15. 计算机应用基础常见英语词汇,数学专业常用英语词汇.doc
  16. 尚硅谷_Spring5
  17. 湖南省计算机等级考试(二级)题库 第四部分
  18. 运营App渠道推广中,如何统计推广效果?
  19. pandas中的axis=0,axis=1,傻傻分不清楚
  20. 全国计算机考试励志语,鼓励考试的经典语句 为考试加油的暖心句子

热门文章

  1. 推荐系统[九]项目技术细节讲解z4:向量检索技术工程上实践,曝光去重实践以及检索引擎该如何选择:支撑亿级索引、5毫秒级的检索[elasticsearch、milvus]
  2. PostgreSQL集群方案-Postgres-XL
  3. xen(三)xl 工具使用
  4. tracking里面的性能图怎么画,类似ocean论文中的
  5. 文献阅读系列-2|TBC-Net: A real-time detector for infrared small
  6. java新手工资一般多少?java程序员的薪资是多少呢?
  7. java 16进制转int_java 16进制与int互转问题
  8. 拉普拉斯算子——matlab
  9. Python有证书吗?python证书是什么级别的呢?怎么才能达到python证书的考试条件呢?
  10. c语言中的pow(x, y)的使用