TCAM

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TCAM基础知识培训Htc328课程内容第一章:TCAM基础第二章:TCAM芯片介绍第三章:附录课程内容第一章:TCAM基础第1节:什么是CAM和TCAM第2节:TCAM的查找第3节:TCAM的优势第4节:TCAM的基本组成第5节:“三态”和最高优先级匹配什么是CAMCAM:ContentAddressableMemory,内容寻址存储器。一个并行比较处理器,也被称作NSE(NetworkSearchEngine)能够象RAM一样进行写操作:输入地址和数据,将数据写到指定的地址上。能够象RAM一样进行读操作:输入地址,返回该地址上的数据。查找操作:输入(待查)数据,返回该数据被存储的地址。这是CAM的主要用途,它能够从巨大的Database中进行快速查找,并返回最佳匹配的地址。什么是TCAMTCAM:TernaryContentAddressableMemory,三态内容寻址存储器。一般CAM存储器中每一bit的状态只有两个,非“0”即“1”;TCAM中每bit数据还有第三种状态“don’tcare”,所以称为“三态”,它是通过掩码来进行实现的。目前主要的供应商有:Netlogic、Cypress、IDT。查找系统CAM在系统中的位置:PHYFramerTrafficManagerASIC或者NPUTCAMAssociatedDataRAM(optional)CAM和网络处理器(NP)一起完成数据包的分类、路由查找等功能,充当搜索引擎单元.课程内容第一章:TCAM基础第1节:什么是CAM和TCAM第2节:TCAM的查找第3节:TCAM的优势第4节:TCAM的基本组成第5节:“三态”和最高优先级匹配TCAM子系统的查找过程NPU/ASICRAMTCAMKEYINDEXDATA一个典型的TCAM子系统的查找过程:准备查找:NP从报文头提取信息,整理成与TCAM中待查表一致的数据格式,称为Key。查找:将Key送入TCAM与待查表中的所有表项对照,匹配到后将对应地址INDEX送到RAM中。查找后的处理:最后RAM将对该报文的处理信息DATA返回给NP。TCAM的应用范围之一ATMswitchingVCI/VPItranslationATM-to-MLPSorATM-to-TCP-FlowmappingEthernetswitchinglayer2MACaddresssearchesAddressResolutionProtocol(ARP)EmergingProtocolsandfunctionsMPLSlabelsearches两个典型应用之路由查找IPPACKETROUTER?ROUTERROUTERROUTERR3R5R4IPPACKETPROTOCOLTYPEIPSRCADDRIPDESTADDRSRCPORT#DESTPORT#DATA查找Key:192.10.12.9167.10.0.0R3路由表:192.10.0.0192.11.0.0R4R5根据目的地址查找下一跳:下一跳?TCAMRAMINDEXPACKETTOR4TCAM的应用范围之二PacketClassification:EnforcesecurityEnforcedepartmentalpoliciesQualityofService包的分类可以决定这个包是否应该被转发,如果要被转发,要给予什么样的优先级。两个典型应用之包分类处理报文处理策略选择:Telnet和FTP给予了不同的服务等级;SMTP(email)被某一个特定的服务器截收了(安全问题);*202.176.145.12***225.142.11.*TCP252321LowpriorityDenyLowlatency源地址目的地址协议端口处理策略TCPTCPIPPACKETROUTERTelnetFTPSMTPIPPACKETIPPACKET?如何处理?TCAMSRAMTCAM基础知识培训第一章:TCAM基础第1节:什么是CAM和TCAM第2节:TCAM的查找第3节:TCAM的优势第4节:TCAM的基本组成第5节:“三态”和最高优先级匹配为什么需要TCAM疑问:上面所说的功能不用TCAM就能实现,为什么要还要TCAM呢?答案就是:速度!传统的查找方法基于SRAM的的查找方法:软件算法的实现方式1.线性查找AFCD1122CCDDAAAASRAMaddressdata2.二叉树查找345678953.HASH查找……..基于CAM的查找基于TCAM的查找:基于硬件的实现,整个表空间Database在同一时刻被查询:1*0101*0110000111011100111000010101011000010*11031245110110***Keyword:TCAM:Add=4AssociatedDATARAM匹配4DATATCAM的优势TCAM的优势:单周期查找;平均查找速度是基于SRAM算法查找的6倍;最坏情况下,查找速度提高128倍;TCAM基础知识培训第一章:TCAM基础第1节:什么是CAM和TCAM第2节:TCAM的查找第3节:TCAM的优势第4节:TCAM的基本组成第5节:“三态”和最高优先级匹配CAM和Memory的基本单元SRAM的基本单元:CAM的基本单元CAM的基本单元:TCAM的基本单元TCAM的基本单元:TCAM基础知识培训第一章:TCAM基础第1节:什么是CAM和TCAM第2节:TCAM的查找过程第3节:TCAM的优势第4节:TCAM的基本组成第5节:“三态”和最高优先级匹配表项掩码表项掩码(三态的实现方式):TCAM的基本单元为待查找的表项,每个表项包括表项数据DataWord、表项掩码LocalMask。LocalMask某位为1(有的厂商规定是0)时,相对应的DataWord位被屏蔽,不参与比较。10010010DataWordLocalMask1*01001001000000表项:等效于*表示“donotcare”精确匹配精确匹配:不使用掩码,所有的掩码位是0,进行精确匹配。10010101110010111011100111000111101110000011011031245110110111Key:logicWinnerABCDEF最高优先级匹配1001010111001011101110011100011110111*000****11031245110110111Key:logicWinnerTCAM的最高优先级匹配功能:由于有“don’tcare”即三态的存在,所以一个Key值可能有多个匹配。当一个Key存在多个匹配的时候,匹配经过逻辑单元比较返回匹配程度最高的表项。(在IPV4路由中经常出现)ABCDEF课程内容第二章:TCAM芯片介绍第1节:几种TCAM芯片介绍第2节:NL3280介绍第3节:Netlogic和IDT的Roadmap几种TCAM芯片介绍生产厂商型号容量接口类型最大查找速度CypressNSE10K18MNSE266MSPSCypressNSE20K18MLA-1266MSPSNetlogicNL328018MNSE133MSPSNetlogicNSE551218MNSE133MSPSIDT75S10010A10MNSE250MLPSIDT75K7223418MLA-1250MLPS课程内容第二章:TCAM芯片介绍第1节:几种TCAM芯片介绍第2节:NL3280介绍第3节:Netlogic和IDT的RoadmapNL3280的结构NL3280是Netlogic公司生产的18Mbit的TCAM芯片,芯片结构图如下:NL3280与NP的连接结构TCAMRAMNPU/ASICKEYDATAADDRINDEX1、NP将要查找的数据Key送到TCAM中,2、TCAM找到匹配项后将地址INDEX直接返回给NP,3、NP再用地址ADDR(可能经过转换)在RAM中读取所需数据NL3280的信号NetlogicNL3280的主要接口信号有:数据总线DBUS[71:0]:数据(地址)的输入与输出指令总线IBUS[7:0]:指令输出。结果返回总线RBUS[24:0]:返回查找的结果。NetlogicNL3280几个特殊信号有:RD_ACK:读操作时指示数据总线上的数据有效。SMF_L[0]:系统匹配标志位。RV:结果有效位,指示RBUS上的数据有效NL3280的DatabaseNL3200内部可以分为16个独立的block,每个block可以配置成16Kx72bit,8Kx144bit,4Kx288bit,2kx576bit;DatabaserecordNL3280中的基本单元是表项,每个表项包括一个72bit的DataWord数据项和一个LocalMaskWord的掩码项。当掩码为“1”时相对应的数据位不参与比较。此外还有一位校验位Parity和一位有效位VBIT,当VBIT为1时表示此表项无效果,不参加比较操作。块结构每一个Block有8个块掩码寄存器,块掩码寄存器用来屏蔽所在列的数据,当块掩码寄存器设置为1时,相对应的整列都被屏蔽。NL3280的寄存器1.块设置寄存器BCR:用来设置逻辑表ID和位宽;2.块掩码寄存器BMR:用来设置块掩码;3.数据寄存器DR:用来写入搜索的关键字和数据,是个只写寄存器;4.设备ID寄存器DIR:用来设置设备的ID号;5.逻辑表寄存器LTR:用来设置逻辑表ID、逻辑表ID掩码、和选择块掩码;6.结果寄存器RR:保存返回的INDEX和ID号等,是个只读寄存器;7.设备配置寄存器DCR:存储版本号、容量等芯片相关信息。NL3200的主要寄存器有:NL3280的初始化初始化的要求步骤如下:Setp1保持RST_L信号为低至少200个时钟周期;Setp2将RST_L拉高,发出20,000个NOP命令;Setp3写器件ID寄存器;Setp4写器件配置ID寄存器;Setp5如果器件级联,则运行指令0X01(使能下个器件),和0X00(nop指令)Setp6重复第三到五步;Setp7写Block寄存器,设置逻辑表ID和位宽配置;Setp8写BlockMask寄存器;NL3200的初始化Step9写LogicalTable寄存器,设置逻辑表ID、逻辑表ID掩码和被选择的BlockMask;Step10写入并定义所有的表项数据和掩码;Step11发比较操作指令。NL3280的基本操作NL3280的基本操作:读操作:和RAM类似,地址和数据在DBUS总线上复用;写操作:和RAM类似;查找操作:TCAM的主要操作,用户提供待查数据,TCAM返回储存此数据的地址读操作读操作:可以分为三种类型,读寄存器,读表项数据,读表项掩码,对应IBUS[7:0]的值如下表。读操作主要用于从TCAM中读取表项和寄存器的内容,通过IBUS总线向TCAM发出读操作码,通过DBUS送地址到TCAM中,读的结果由DBUS返回读操作当LocalMaskWord位是1的时候,相应的DataWord位读出的数据总是0,如下表所示:读操作读操作的时序:写操作写操作:写操作比较特殊,分为寄存器、删除表项、写表项操作。对应的指令如下表所示:写操作写寄存器:写操作写表项:写操作删除表项:Compare操作每两个时钟周期,可一执行一次Compare操作,Rbus总线保持两个时钟周期Compare操作DataRegister[71:0]必须是最后一个被写入的DataSegment,其它DataSegment的写入次序随意。课程内容第二章:TCAM芯片介绍第1节:几种TCAM芯片介绍第2节:NL3280介绍第3节:Netlogic和IDT的RoadmapNetlogic的RoadmapIDT的Roadmap1IDT的Roadmap2课程内容附录:TCAM的选型要素TCAM未来的发展方向TCAM的选型依据TCAM选型的四个主要因素:容量查找速度功耗价格TCAM未来的发展方向未来对TCAM的要求:更大容量更低功耗更便宜的价格

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功