本文基于网络处理器中微引擎在POS 口和千兆以太网口通信中的应用,详细叙述了千兆以太网端口和POS 端口通信中微引擎设计的关键技术——多线程接收,线程间互斥和同步。为网络处理器中微引擎的软件设计提供了一些参考方法。关键词: 网络处理器;微引擎;千兆以太网口;POS Internet 的发展使得传统的基于通用CPU 和基于ASIC(Application SpecificIntegrated Circuit,特定用途集成电路)的网络处理方案已不能同时满足处理速度和灵活性这两方面的要求。正是在这样的背景之下,网络处理器技术应运而生。它既能够满足网络高速发展的需求又可以兼顾网络业务多样化的发展趋势。IXP1200 网络处理器是Intel 公司推出的网络处理专用处理器,主要包括1 个主频最高可达232MHz 的处理核心StrongARM、6个RISC 结构的可编程微引擎(uE)。在现在网络通信中应用较为广泛。IXP1200 中的重要部件——可编程微引擎在网络通信应用中尤为重要。本文就微引擎编程技术中的关键技术:多线程接收和线程间互斥、同步进行了详细描述。 为了方便描述,文中以基于IXP1200 的千兆Ethernet 和POS 的直通转发为例,进行描述。硬件平台提供四路STM1 速率的POS(Packet over SONET)接口和两路千兆速率的以太网接口。主要实现PPP 数据包到SDH 网上传输的接口功能,为系统单板提供四路155M POS 和两路GE 的接入能力,见图1。 微引擎的直通代码主要用来实现POS 到POS 或POS 到GE 的直通功能。微码子系统运行于IXP1200 网络处理器的微引擎中。系统的主要设计思想是采用4 个微引擎使用邮箱机制接收4 口POS,每个微引擎收一个端口,根据目的端口入奇偶两个队列,目的端口可以在SRAM 中进行配置。接收到的包不作任何处理直接由发送微引擎转发出去。2 个微引擎发送,分别对应奇偶两个队列,1 线程调度,另外3 个线程依次发送。
猜您喜欢
评论