三态内容寻址存储器tacm介绍幻灯片_第1页
三态内容寻址存储器tacm介绍幻灯片_第2页
三态内容寻址存储器tacm介绍幻灯片_第3页
三态内容寻址存储器tacm介绍幻灯片_第4页
三态内容寻址存储器tacm介绍幻灯片_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TCAM基础知识培训,1,课程内容,第一章:TCAM基础 第二章:TCAM芯片介绍 第三章:附录,2,课程内容,第一章:TCAM基础 第1节:什么是CAM和TCAM 第2节:TCAM的查找 第3节:TCAM的优势 第4节:TCAM的基本组成 第5节:“三态”和最高优先级匹配,3,什么是CAM,CAM: Content Addressable Memory,内容寻址存储器。 一个并行比较处理器,也被称作NSE (Network Search Engine) 能够象RAM一样进行写操作: 输入地址和数据,将数据写到指定的地址上。 能够象RAM一样进行读操作: 输入地址,返回该地址上的数据。 查找操

2、作: 输入(待查)数据,返回该数据被存储的地址。 这是CAM的主要用途,它能够从巨大的Database中进行快速查找,并返回最佳匹配的地址。,4,什么是TCAM,TCAM:Ternary Content Addressable Memory ,三态内容寻址存储器。 一般CAM存储器中每一bit的状态只有两个,非“0”即“1” ;TCAM中每bit数据还有第三种状态“dont care”,所以称为“三态”,它是通过掩码来进行实现的。 目前主要的供应商有:Netlogic、Cypress、IDT。,5,查找系统,CAM在系统中的位置:,PHY,Framer,Traffic Manager,ASIC

3、或者 NPU,TCAM,Associated Data RAM (optional),CAM和网络处理器(NP)一起完成数据包的分类、路由查找等功能,充当 搜索引擎单元 .,6,课程内容,第一章:TCAM基础 第1节:什么是CAM和TCAM 第2节:TCAM的查找 第3节:TCAM的优势 第4节:TCAM的基本组成 第5节:“三态”和最高优先级匹配,7,TCAM子系统的查找过程,NPU/ASIC,RAM,TCAM,KEY,INDEX,DATA,一个典型的TCAM子系统的查找过程:,准备查找: NP从报文头提取信息,整理成与TCAM中待查表一致的数据格式,称为Key。 查找: 将Key送入TCA

4、M与待查表中的所有表项对照,匹配到后将对应地址INDEX送到 RAM中。 查找后的处理: 最后 RAM将对该报文的处理信息 DATA返回给NP 。,8,TCAM的应用范围之一,ATM switching VCI/VPI translation ATM-to-MLPS or ATM-to-TCP-Flow mapping Ethernet switching layer 2 MAC address searches Address Resolution Protocol (ARP) Emerging Protocols and functions MPLS label searches,9,两个

5、典型应用之路由查找,IP PACKET,ROUTER,?,ROUTER,ROUTER,ROUTER,R3,R5,R4,IP PACKET,PROTOCOL TYPE,IP SRC ADDR,IP DEST ADDR,SRC PORT#,DEST PORT#,DATA,查找Key:,,,R3,路由表:,,,R4,R5,根据目的地址查找下一跳:,下一跳?,TCAM,RAM,INDEX,PACKET TO R4,10,TCAM的应用范围之二,Packet Classification: Enforce security

6、 Enforce departmental policies Quality of Service 包的分类可以决定这个包是否应该被转发,如果要被转发,要给予什么样的优先级。,11,两个典型应用之包分类处理,报文处理策略选择: Telnet 和 FTP给予了不同的服务等级; SMTP(email)被某一个特定的服务器截收了(安全问题);,*,2,*,*,*,225.142.11.*,TCP,25,23,21,Low priority,Deny,Low latency,源地址 目的地址 协议 端口 处理策略,TCP,TCP,IP PACKET,ROUTER,Telnet

7、,FTP,SMTP,IP PACKET,IP PACKET,?,如何处理?,TCAM,SRAM,12,TCAM基础知识培训,第一章:TCAM基础 第1节:什么是CAM和TCAM 第2节:TCAM的查找 第3节:TCAM的优势 第4节:TCAM的基本组成 第5节:“三态”和最高优先级匹配,13,为什么需要TCAM,疑问: 上面所说的功能不用TCAM就能实现,为什么要还要TCAM呢? 答案就是: 速度!,14,传统的查找方法,基于SRAM的的查找方法: 软件算法的实现方式,1.线性查找,AFCD,1122,CCDD,AAAA,SRAM,address,data,2.二叉树查找,3,4,5,6,7,

8、8,9,5,3.HASH查找 .,15,基于CAM的查找,基于TCAM的查找: 基于硬件的实现,整个表空间Database在同一时刻被查询:,1,*,0,1,0,1,*,0,1,1,0,0,0,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,1,1,0,0,0,0,1,0,*,1,1,0,3,1,2,4,5,1,1,0,1,1,0,*,*,*,Keyword:,TCAM:,Add=4,Associated DATA,RAM,匹配4,DATA,16,TCAM的优势,TCAM的优势: 单周期查找; 平均查找速度是基于SRAM算法查找的6倍; 最坏情况下,

9、查找速度提高128倍;,17,TCAM基础知识培训,第一章:TCAM基础 第1节:什么是CAM和TCAM 第2节:TCAM的查找 第3节:TCAM的优势 第4节:TCAM的基本组成 第5节:“三态”和最高优先级匹配,18,CAM和Memory的基本单元,SRAM的基本单元:,19,CAM的基本单元,CAM的基本单元:,20,TCAM的基本单元,TCAM的基本单元:,21,TCAM基础知识培训,第一章:TCAM基础 第1节:什么是CAM和TCAM 第2节:TCAM的查找过程 第3节:TCAM的优势 第4节:TCAM的基本组成 第5节:“三态”和最高优先级匹配,22,表项掩码,表项掩码(三态的实现

10、方式): TCAM的基本单元为待查找的表项,每个表项包括表项数据Data Word、 表项掩码Local Mask。 Local Mask某位为1(有的厂商规定是0)时,相对应的 Data Word位被屏蔽,不参与比较。,1,0,0,1,0,0,1,0,Data Word,Local Mask,1,*,0,1,0,0,1,0,0,1,0,0,0,0,0,0,表项:,等效于,*表示“do not care”,23,精确匹配,精确匹配: 不使用掩码,所有的掩码位是0,进行精确匹配。,1,0,0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,

11、1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,3,1,2,4,5,1,1,0,1,1,0,1,1,1,Key:,logic,Winner,A,B,C,D,E,F,24,最高优先级匹配,1,0,0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,*,0,0,0,*,*,*,*,1,1,0,3,1,2,4,5,1,1,0,1,1,0,1,1,1,Key:,logic,Winner,TCAM的最高优先级匹配功能: 由于有“dont care”即三态的存在,所以一个Key值可能有多个匹

12、配。 当一个Key存在多个匹配的时候,匹配经过逻辑单元比较返回匹配程度最高的 表项。(在IPV4路由中经常出现),A,B,C,D,E,F,25,课程内容,第二章:TCAM芯片介绍 第1节:几种TCAM芯片介绍 第2节:NL3280介绍 第3节:Netlogic和IDT的Roadmap,26,几种TCAM芯片介绍,27,课程内容,第二章:TCAM芯片介绍 第1节:几种TCAM芯片介绍 第2节:NL3280介绍 第3节:Netlogic和IDT的Roadmap,28,NL3280的结构,NL3280是Netlogic公司生产的18Mbit的TCAM芯片,芯片结构图如下:,29,NL3280与NP的

13、连接结构,TCAM,RAM,NPU/ASIC,KEY,DATA,ADDR,INDEX,1、 NP将要查找的数据Key送到TCAM中, 2、TCAM找到匹配项后将地址INDEX直接返回给NP, 3、NP再用地址ADDR(可能经过转换)在RAM中读取所需 数据,30,NL3280的信号,Netlogic NL3280的主要接口信号有:,数据总线DBUS71:0:数据(地址)的输入与输出 指令总线IBUS7:0:指令输出。 结果返回总线RBUS24:0:返回查找的结果。,Netlogic NL3280几个特殊信号有:,RD_ACK:读操作时指示数据总线上的数据有效。 SMF_L0:系统匹配标志位。

14、RV:结果有效位,指示RBUS上的数据有效,31,NL3280的Database,NL3200内部可以分为16个独 立的block,每个block可以配置成 16K x 72bit,8K x 144bit, 4K x 288bit,2kx576bit;,32,Database record,NL3280中的基本单元是表项,每个表项包括一个72bit的Data Word数据项和一个 Local Mask Word的掩码项。当掩码为“1”时相对应的数据位不参与比较。 此外还有一位校验位Parity和一位有效位VBIT,当VBIT为1时表示此表项无效果, 不参加比较操作。,33,块结构,每一个Blo

15、ck有8个块掩码寄存器,块掩码寄存器用来屏蔽所在列的数据, 当块掩码寄存器设置为1时,相对应的整列都被屏蔽。,34,NL3280的寄存器,块设置寄存器BCR : 用来设置逻辑表ID和位宽 ; 块掩码寄存器BMR:用来设置块掩码; 数据寄存器DR:用来写入搜索的关键字和数据,是个只写寄存器; 设备ID寄存器DIR:用来设置设备的ID号; 逻辑表寄存器LTR:用来设置逻辑表ID、逻辑表ID掩码、和选择块掩码; 结果寄存器RR:保存返回的INDEX和ID号等,是个只读寄存器; 设备配置寄存器DCR:存储版本号、容量等芯片相关信息。,NL3200的主要寄存器有:,35,NL3280的初始化,初始化的要

16、求步骤如下: Setp1 保持RST_L信号为低至少200个时钟周期; Setp2 将RST_L拉高,发出20,000个NOP命令; Setp3 写器件ID寄存器; Setp4 写器件配置ID寄存器; Setp5如果器件级联,则运行指令0X01 (使能下个器件),和0X00( nop指令) Setp6重复第三到五步 ; Setp7 写Block 寄存器,设置逻辑表ID和位宽配置; Setp8 写Block Mask寄存器;,36,NL3200的初始化,Step9 写Logical Table 寄存器,设置逻辑表ID、逻辑表ID掩码和被选择的Block Mask; Step10 写入并定义所有的

17、表项数据和掩码; Step11 发比较操作指令。,37,NL3280的基本操作,NL3280的基本操作: 读操作:和RAM类似,地址和数据在DBUS总线上复用; 写操作:和RAM类似; 查找操作:TCAM的主要操作,用户提供待查数据,TCAM返回储存此数据 的地址,38,读操作,读操作: 可以分为三种类型,读寄存器,读表项数据,读表项掩码,对应IBUS 7:0的值如下表。,读操作主要用于从TCAM中读取表项和寄存器的内容,通过IBUS总线向TCAM 发出读操作码,通过DBUS送地址到TCAM中,读的结果由DBUS返回,39,读操作,当Local Mask Word位是1的时候,相应的Data Word位读出的数据总是0, 如下表所示:,40,读操作,读操作的时序:,41,写操作,写操作: 写操作比较特殊,分为寄存器、删除表项、写表项操作。对应的指令如下 表所示:,42,写操作,写寄存器:,43,写操作,写表项:,44,写操作,删除表项:,45,Compare操作,每两个时钟周期,可一执行一次Compare操作,Rbus总线保持两个时钟周期,46,Compare操作,Data Register71:0必须是最后一个被写入的Data Segment,其它Data Segment 的写入次序随意。,47,课程内容,第二章:TCAM芯片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论