关于IXP2400的基本结构和功能(1)

来源:互联网 发布:java的线程sleep 编辑:程序博客网 时间:2024/06/01 07:47

首先,关于网络处理器的概念。个人感觉,所谓网络处理器是介于通用处理器和asic芯片之间的折中产品,通用性低于通用cpu而高于asic芯片,性能低于asic芯片而高于通用cpu,当然,反过来说也可以。可以说网络处理器同时具有较好的灵活性(即较低的开发成本)和性能,但是如果要求不是很高,使用通用cpu来实现网络产品未尝不可,而如果asic开发的技术有所进步,周期成本将下来,也许就是网络处理器的末日了吧。

上面一段的叙述有些乱,想说的就是,网络处理器为了获得它的高性能,就丧失了一定的灵活性;为了获得它的灵活性,同时也丧失了一部分性能。未来网络处理领域应当是网络处理器和asic的竞争:网络处理器的性能能否上去,asic的开发成本能否下来。

下面,一步步解说ixp2400的结构:

ixp通过增加硬件资源来达到高性能,而通过将这些硬件分解并用多总线连接以形成多主多从的结构以达到其灵活性。另外,软件商,通过ixa portability framework提供了可移植性,以及大量可以使用的底层函数

ixp的硬件资源主要包括:

 

xscale core:是ixp的高层控制,管理单元,在此上可以运行vxworks(好贵,还要学习bsp开发,回头再写关于bsp的东西),对整个ixp系统进行控制和管理。执行系统芯片初始化配置、系统控制/管理、运行路有协议栈、更新路由表等操作,还负责对异常数据包进行处理

 

Microengine:是ixp的核心部件,在其它硬件功能单元的支持下,执行快通道上的数据包处理任务。

ME中包括CAM(Context Access Memory),NNR(Next Neighbor),GTS(Generalized Thread Signalss),CRC Generator,Globle、Local Timers,Pseudo Random Number Generator,Reflector

 

MSF Media and Switch Fabric Interface:可以与MAC、Framer等网络接口连接,也可以与Switch Fabric连接。包含RBUF、TBUF,划分成不同的单元,简化操作

SRAM,两个,采用的QDR技术,集成了元操作,ring,list等硬件指令

DRAM,一个,采用DDR技术,用于存储数据包,路由表等大型数据

SHac:包括Scratch Memory(16K), Hash Unit和CAP

PCI:PCI version2.2,带宽64bit,66MHz

Chassis:总线结构,有多组数据总线、命令总线以及相应的总线仲裁单元组成

 

 

btw:写起来发现,好难写啊。今天到这了,软件和更细节的操作,以后再说吧

 

原创粉丝点击