电路板人才网

内容可寻址存储器MCM69C232及其应用

发布于:08-31



通常情况下,MCM69C232通过写控制口数据和指令来准备匹配操作。一般步骤是把数据项装入4个I/O寄存器,然后往操作代码寄存器写入操作代码,即可完成一种指令的操作。指令完成后,CAM表的内容可能会被修改,标志寄存器的相应位会被置位,错误代码寄存器会返回错误码,当使能时,还会触发中断。芯片的操作指令如表1所列。





复位。复位同步于主时钟的上升沿,一个时钟周期的复位就能清空CAM表和输入数据项队列,置标志寄存器为1C,错误代码寄存器为FFFF,几乎满寄存器为FFF,并清除中断屏蔽。控制口时序。访问控制口如同处理器访问RAM一样,时序较为简单。



匹配口时序。访问匹配口分两种情况:一种是匹配字节小于等于32位,只用LH/SM信号装载匹配数据,LL信号无用;另一种是匹配字节大于32位,先用LL信号装载匹配数据低位部分,再由LH/SM信号装载高位部分。匹配结果由MC信号和MS信号指示,使能G信号读取匹配结果数据。匹配口时序见参考文献。



两口同时匹配。控制口模拟匹配和匹配口匹配同时进行时,匹配口优先权较高。另外控制口模拟匹配操作之前要求输入队列为空,以便接收结果。深度扩展。芯片简单级联即可扩展深度,具体的扩展连线方法请参见参考文献。



3?MCM69C232芯片的应用



3.1?MCM69C232在交换机中的应用



在以太网上.交换机维护一张用于二层交换的地址表(通常称为“CAM表”),该表维护MAC地址与出接口的对应关系。样每当接收到一个以太网数据帧,交换机就会进行判断。如果该数据帧不是发送给自己的,则根据数据帧的目的MAC地址查询CAM表;如果能命中(所谓命中,就是在CAM表中找到与该MAC地址对应的转发项),则根据查询的结果(通常是一个出接口列表)进行转发;如果不能命中,则向所有端口广播该数据帧。



交换机的这张CAM表可以通过多种方式获得,比如静态配置、动态学习。针对多播,还可以通过各种多播协议(如IGMP窥探、GMRP协议等方式)获得(多播转发表不能通过学习获得,而且多播转发项跟普通转发项不同,与其对应的出口可能不只一个,而是一个出口集合);但对于单播,最重要的一种建立方式是动态学习。



当交换机接收到一个数据帧时,提取出该数据帧的目的MAC地址,并以此为根据进行CAM表查询。如果能查找到结果,则根据结果进行数据帧的转发;如果不能命中,则对除接收端口外的所有端口进行复制。在进行数据转发的同时,交换机还进行一个学习的过程。它把数据帧的源MAC地址提取出来,查询CAM表,看CAM表中是否有针对该MAC地址的转发项。如果没有,则把该MAC地址和接收到该MAC地址的端口绑定起来,插入CAM表项。这样当接收到一个发送到该MAC地址的数据帧时,就不需要向所有端口广播,而仅向这个端口发送即可。需要注意的是,数据帧的转发是依据目的MAC地址查询CAM表,而CAM表的学习则是以源MAC地址为依据的。



之所以在交换机中使用CAM,是因为交换机对性能要求特别高。交换机中的嵌入式实时控制系统的性能主要取决于两方面:硬件平台的运算性能和算法的优越性。其中,硬件平台的运算性能最为关键,这一点在交换机中表现得尤为突出。按照设计要求,以太网帧的MAC地址的检索时间一般都是μs级,因此首先要保证数据检索任务的响应速度;除了十分繁重的数据检索任务外,交换机还必须完成SNMP(Simple?Network?Management?Pmtocol)协议处理、命令行处理等任务,所以还必须解决数据检索对系统资源的占用问题。利用软件实现对以太网帧的MAC地址检索并不复杂,但由于检索次数频繁,大量的系统资源被占用,致使系统的响应速度大大降低,满足不了大流量数据通信的要求。因此纯软件算法解决不了数据检索部分占用大量资源的问题,为提高系统的响应速度,



必须将这数据检索的任务分离出来由硬件实现,而协议处理部分仍由CPU完成。数据检索模块和协议处理模块并行工作,利用硬件实现数据检索还可以提高检索速度,降低系统资源的占用率。在这里CAM的优势就体现出来了。



3.2?检索操作



当进行MAC地址检索时,CPU首先以MAC地址为关键字通过MAC-CAM表的检索得到对应的索引值,然后再根据索引值找到RAM表中该MAC地址对应的相关信息的存储位置,并由此地址获得相关配置信息。在RAM中的相关配置信息中可以存放诸如MAC地址、用户端口、有效标志域等其他信息。CAM表与RAM的映射关系如图3所示。







按协议规定MAC地址占48位,表示为6字节的数组,故对于MAC地址的匹配操作,屏蔽字设为0x0000_0000_0000_FFFF,即48位匹配。屏蔽字的设定必须在CAM初始化时完成。在执行匹配操作前,CAM须进行初始化。MCM69C232上电后,默认工作模式为基本模式,因此不必再设置工作模式。前面已提到过,CAM中MAC表的形成是通过自学习得到的,因此无需向CAM表中写入数据项。



匹配操作通过对匹配口读/写来完成。匹配口数据线MQ只有32位。由于MAC地址占48位,因此需要两次写操作才能完整地将一个MAC地址表达出来。当进行MAC地址检索时,CPU先向匹配口写入MAC地址的低32位数据,其中高16位有效,低16位可以为任意值;紧接着CPU向匹配口写入高32位数据;随后CPU读匹配口,即可得到匹配结果。



结语



采用内容可寻址存储器MCM69C232,极大地提高了数据检索速度.而这是用纯软件检索算法所不能比拟的。设备的数据处理能力满足了大流量网络通信的要求,使产品获得了良好的社会效益和经济效益。



来源:http://www.eepw.com.cn/article/72539.htm






阅读 104