首先,关于网络处理器的概念。个人感觉,所谓网络处理器是介于通用处理器和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(Co