内容可寻址存储器CAM在交换机中的应用
信元经协议处理后,包含在ATM信元中的以太网帧被提取出来。交换机接着对以太网帧的源MAC地址进行检索,判断该以太网帧是否来自已知的用户。如果在系统内嵌的MAC-VP/VC表中检索到该MAC地址,则表明该以太网帧来自已知的用户,系统随即刷新老化标记,将其转发至以太网接口;如果不存在,则系统将在MAC-VP/VC表中添加该MAC地址并设置老化标记,而后交换机将该以太网帧转发至以太网接口。
下行方向,系统首先以输入以太网帧的目的MAC地址为关键字在MAC-VP/VC表中进行检索,该地址就是上文提到的源MAC地址。如果目的MAC地址不存在,则将输入的以太网帧转换为ATM信元,向所有用户端口广播;如果匹配成功,交换机获得与该MAC地址对应的VPI/VCI,将以太网帧转换为ATM信元,并根据VPI/VCI通道表,从指定的用户端口转发至ADSL终端,最后送达用户主机。
嵌入式实时控制系统的性能主要取决于两方面:硬件平台的运算性能和算法的优越性。其中硬件平台的运算性能最为关键,这一点在交换机中表现得由为突出。按照设计要求,ATM信元的VPI/VCI检索必须在1/4~1/2的信元接收时间内完成,即684ns~1.37μs,以太网帧的MAC地址的检索时间不能超过5.12
μs。因此首先要保证数据检索任务的响应速度;其次,由于交换机数据流量大,对于本系统的ATM端口,系统每秒必须处理约365,566帧ATM信元,数据检索任务十分繁重;另外,除了业务数据的ATM-Ethernet双向协议处理外,交换机还必须完成SNMP(SimpleNetworkManagementProtocol)协议处理、命令行处理等任务,所以还必须解决数据检索对系统资源的占用问题。
提高性能的方法一般有两种,最直接的方法就是采用高性能的硬件平台,如采用分布式控制系统,一个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表为例说明以太网侧 《内容可寻址存储器CAM在交换机中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145153.html
下行方向,系统首先以输入以太网帧的目的MAC地址为关键字在MAC-VP/VC表中进行检索,该地址就是上文提到的源MAC地址。如果目的MAC地址不存在,则将输入的以太网帧转换为ATM信元,向所有用户端口广播;如果匹配成功,交换机获得与该MAC地址对应的VPI/VCI,将以太网帧转换为ATM信元,并根据VPI/VCI通道表,从指定的用户端口转发至ADSL终端,最后送达用户主机。
嵌入式实时控制系统的性能主要取决于两方面:硬件平台的运算性能和算法的优越性。其中硬件平台的运算性能最为关键,这一点在交换机中表现得由为突出。按照设计要求,ATM信元的VPI/VCI检索必须在1/4~1/2的信元接收时间内完成,即684ns~1.37μs,以太网帧的MAC地址的检索时间不能超过5.12
μs。因此首先要保证数据检索任务的响应速度;其次,由于交换机数据流量大,对于本系统的ATM端口,系统每秒必须处理约365,566帧ATM信元,数据检索任务十分繁重;另外,除了业务数据的ATM-Ethernet双向协议处理外,交换机还必须完成SNMP(SimpleNetworkManagementProtocol)协议处理、命令行处理等任务,所以还必须解决数据检索对系统资源的占用问题。
提高性能的方法一般有两种,最直接的方法就是采用高性能的硬件平台,如采用分布式控制系统,一个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表为例说明以太网侧 《内容可寻址存储器CAM在交换机中的应用(第2页)》