好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

内容可寻址存储器CAM在交换机中的应用.docx

10页
  • 卖家[上传人]:桔****
  • 文档编号:465135930
  • 上传时间:2022-09-11
  • 文档格式:DOCX
  • 文档大小:15.95KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 内容可寻址存储器 CAM 在交换机中的应用摘要介绍了内容可寻址存储器CAMMCM69C233的特点及 使用通过某交换机应用表明,可大幅度提高数据检索速度,增强系统可靠 性关键词数据检索嵌入式实时控制系统内容可寻址存储器CAMCo ntent Addressable Memory 是一种特殊的存储阵列它具有将输入数据与CAM中存储的所有数据项同时进行比较,迅速 判断输入数据是否与CAM中存储的数据项相匹配,并给出数据项对应地 址和匹配信息的特点,因而被广泛地应用于通信、模式识别等领域在某型号交换机的设计中,笔者应用MOTOROLA公司的CAM 芯片一一MCM69C 2 3 3实现数据检索功能,既提高了系统资源的利 用率,又保障了系统性能,大大缩短开发周期1MCM69C233功能简述CAM是一种基于RAM技术的存储器,数据项存储在CAM内部的 阵列中每个数据项的位数叫字宽,阵列内所有数据项的条数叫做CAM的深 度,CAM的容量通过字宽和深度来表征MCM69C 2 3 3可存储4 0 9 6条宽度为64位的数据项图1所示为MCM69C233的结构框图MCM69C233有两个数据端口控制端口Cont rolPo rt 和匹配端口Mat chPor t。

      控制端口用于CAM表CAMTable的操作,除用于数据项的增 加/删除、校验、统计外,还可以读取芯片内部状态寄存器的信息数据的检索通过匹配端口完成尽管基于RAM技术,CAM的存储机制却与RAM大相径庭如图1所示,MCM69C233没有用于确定内容存储地址的地址 总线,地址线A0〜A2用于对片内控制寄存器的寻址在写CAM模式下,MCM6 9C2 3 3从控制端口数据线DQ0〜DQ15读取需要写入的数据项,数据项的存储地址由芯片内部逻辑控制 用户可对MCM69C233的匹配规则进行编程,在读CAM模式查找匹配时,MCM6 9C2 3 3直接从匹配口数据线MQ0〜MQ3 1 读入数据,并按照预先定义的匹配规则将输入数据项与阵列中的所有数据 项进行并行比较如果数据项存在,匹配口输出该数据项的索引值,且MS为0;如果 数据项不存在,MS为1由于比较过程只需一个时钟周期,所以速度极快MCM69C233的最长匹配时间为2 10nsMCM69C233有两种工作模式ATM模式和基本模式ATM模式主要用于ATM交换机中对ATM信元的处理基本模式的应用十分灵活,由于匹配规则可编程,用户可根据不同的 应用场合实现检索功能。

      2应用实例2.1设计要求某型号交换机根据产品定义用于ATM网络和基于以态网的城域网 E—MANE therne tMet ropo lit anAreaNe t work的连接其ATM端口工作速率为15 5Mbps,以太网端口工作速率为1OOMbpSo系统数据流如图2所示图 2 交换机系统数据流图上行方向,交换机首先在系统内嵌的VP/VC通道表内检查每一个 ATM信元内的虚通路值/虚链接值VPI/VCIVir tu alP at hlndex/Vir tu alConnec tion Index, 标识一条虚通道/虚链接VP/VC是否存在如果存在,CPU获得该VP/VC的配置信息,准备下一步的协议处理如果输入信元的VPI/VCI不存在,则丢弃该信元输入的ATM信元经协议处理后,包含在ATM信元中的以太网帧被 提取出来交换机接着对以太网帧的源MAC地址进行检索,判断该以太网帧是 否来自已知的用户如果在系统内嵌的MAC-VP/VC表中检索到该MAC地址,则 表明该以太网帧来自已知的用户,系统随即刷新老化标记,将其转发至以 太网接口;如果不存在,则系统将在MAC-VP/VC表中添加该MA C地址并设置老化标记,而后交换机将该以太网帧转发至以太网接口。

      下行方向,系统首先以输入以太网帧的目的MAC地址为关键字在M AC-VP/VC表中进行检索,该地址就是上文提到的源MAC地址如果目的MAC地址不存在,则将输入的以太网帧转换为ATM信元, 向所有用户端□广播;如果匹配成功,交换机获得与该MAC地址对应的 VPI/VCI,将以太网帧转换为ATM信元,并根据VPI/VCI 通道表,从指定的用户端□转发至ADSL终端,最后送达用户主机嵌入式实时控制系统的性能主要取决于两方面硬件平台的运算性能 和算法的优越性其中硬件平台的运算性能最为关键,这一点在交换机中表现得由为突 出按照设计要求,ATM信元的VPI/VCI检索必须在1/4一1 /2的信元接收时间内完成,即6 8 4 ns_1.37 “s,以太网帧的 MAC地址的检索时间不能超过5.12“s因此首先要保证数据检索任务的响应速度;其次,由于交换机数据流 量大,对于本系统的ATM端□,系统每秒必须处理约3 6 5,5 6 6帧 ATM信元,数据检索任务十分繁重;另外,除了业务数据的ATM-E thernet双向协议处理外,交换机还必须完成SNMPSimpleNe tworkMana 呂 eme ntProtocol协议处理、命 令行处理等任务,所以还必须解决数据检索对系统资源的占用问题。

      提高性能的方法一般有两种,最直接的方法就是采用高性能的硬件平 台,如采用分布式控制系统,一个CPU用于协议处理,另一个CPU用 于网管等事务处理;或者协议处理部分由ASIC完成,事务处理部分由 CPU实现但这些方案会带来硬件成本的大幅提高 另外一种方案就是采用更优化的算法通过分析发现,尽管利用软件实现对ATM信元的VPI/VCI和 以太网帧的MAC地址检索并不复杂,但由于检索次数频繁,大量的系统 资源被占用,系统的响应速度大大降低,满足不了大流量数据通信的要求因此纯软件算法解决不了数据检索部分对资源占用的问题 为提高系统的响应速度,必须将这两部分数据检索的任务分离出来由 硬件实现,协议处理部分还由CPU完成数据检索模块和协议处理模块并行工作,两部分通过数据耦合,既可 以提高模块的内聚度,又增强了算法的健壮性;并且利用硬件实现数据检 索还可以提高检索速度,降低系统资源的占用率利用硬件进行数据检索,通常采用两种策略一种是利用FPGA或 CPLD等可编程逻辑器件定制数据检索单元本系统两种地址的数据结构并不复杂,定制简单数据结构的检索单元 体现不了可编程逻辑器件功能强大、灵活性强等优越性,并且这类器件的 开发难度相对较大,完成后还需要相当长一段时间进行测试。

      另一种策略是选择CAM实现数据检索两者比较,本系统采用CAM根据系统设计,本交换机采用两块CAM实现数据检索功能,MAC -CAM用于以太网帧的MAC地址检索,ATM—CAM用于ATM信 元的VPI/VCI检索,如图2所示2.2检索算法设计下面根据系统设计方案,以MAC-VP/VC表为例说明以太网侧 数据检索功能的实现如图3所示,MAC — VP/VC表由硬件、软件两个子模块构成MAC-CAM表实现MAC地址到偏移地址的查询,这部分由硬件 实现;RAM表实现偏移地址到配置信息的查询,这部分由软件实现;两 者通过偏移地址耦合本系统将每一个VP/VC认为是一个用户端口, VP/VC的值保 存在用户端口域当进行MAC地址检索时,CPU首先以MAC地址为关键字通过M AC-CAM表的检索得到对应的偏移地址a,然后再根据公式1得到R AM表中该MAC地址的存储位置,并由此地址获得相关配置信息RAM表中标志域1、标志域2分别表示用户MAC地址的状态信息, 限于篇幅这里不详述了RAM地址=基地址+a xbl公式1中,基地址是RAM表的起始地址;a是通过MAC — CAM 表查询得到的偏移量,即MAC地址的索引值;b表示RAM表中的一个 表项的宽度为多少字节。

      与MAC-VP/VC表的实现基本相同,VPI/VCI通道表的 实现也分为两部分,一部分由硬件CAM实现,另一部分由软件实现执行VPI/VCI检索时,CPU先通过CAM得到某VPI/VCI的偏移地址,然后再根据该偏移地址得到RAM表中保存的具体配置正是通过MAC — VP/VC表和VPI/VCI通道表,本系统实 现了ATM网络与E-MAN的交换2.3检索算法的实现按协议规定MAC地址占48位,表示为6字节的数组图4和图5分别表示了MAC — CAM表中MAC地址的高32位数据和低16位数据的数据结构图6所示为MAC地址索引项的数据结构,它分为两部分最高位为匹 配标志MS, 0表示匹配成功,1表示匹配失败;匹配输出的低16位为 MAC地址的索引macIndex,用户可按需要对其进行定义,如M AC地址0 0 — 3C — CD—17 — 6 5—AB的索引值为0x03E F不同的协议要求,VPI/VCI表的数据结构与MAC表的数据结 构并不相同但由于处理方式相近,这里就不赘述了MCM69C233的匹配规则由通用屏蔽字GlobalMas k制定进行检索时,MCM69C233将检索内容与通用屏蔽字进行按位 或运算,1表示屏蔽该位的值,0表示对该位敏感。

      从上文可看到,两种数据检索的数据结构大不相同,因此需要不同的 匹配规则根据本系统设计要求,ATM信元的检索只对VPI/VCI敏感, 因此通用屏蔽字为OxFFOO — OOOO—FFFF — FFFF,即忽 略GFC字段和PHY地址标识段对于MAC地址的匹配操作,通用屏蔽字为0 x 0 0 0 0 — 0 0 0 0_ 0 0 0 0 _FFFF,即48位匹配通用屏蔽字的设定必须在CAM初始化时完成在执行匹配操作前,CAM须进行初始化由于ATM-CAM和MAC — CAM的工作模式不同,因此两者的 初始化过程亦不尽相同下面以ATM—CAM为例,用伪码形式说明初始化过程at mCaml nit{Set ATM—CAMworkingonATMmode;Sett heGlobalmaskregis terforVPI/VC It ransla tion;Sett heATM—CAM to fas tent rymode;Inp utVPCt able;Initi alizeVPC table;对于ATM-CAM,首先必须设定工作模式,ATM—CAM工作 于ATM模式;然后对通用屏蔽字进行设置,以保证正确的匹配规则;紧 接着,将ATM-CAM设为快速输入模式Fas tent rymode , 当需要将大量数据写入CAM时,该模式能加快输入速度,将预先定义好 的VPI/VCI—ChannelCode表写入CAM ;最后执行表 初始化指令。

      至此,ATM—CAM能够正常工作了前面已提到,MAC表的形成是通过自学习得到的,因此MAC — C AM的初始化并不需要该过程另外,MAC-CAMX作在基本模式,MCM69C233上电后, 默认工作模式为基本模式因此MAC — CAM的初始化只需要两步,通用屏蔽字的设置和表初 始化图 4、图 5 和图 6匹配操作通过对匹配口读/写完成匹配口数据线只有32位由于MAC地址占4 8位,因此需要两次写操作才能完整地将一个M AC地址表达出来;而VPI/VCI只占24位,因此只需一次写操作 就可以了F面以MAC地址的检索为例说明CAM的匹配操作过程当进行MAC地址检索时,CPU先向匹配口写入如图4所示的低3 2位数据,其中高16位有效,低16位可以为任意值;紧接着CPU向 匹配口写入如图5所示的高3 2位数据;随后CPU读匹配口,就可得到 如图6所示的结果。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.