网络处理器软件开发模型的研究

网络处理器软件开发模型的研究

ID:10742401

大小:55.50 KB

页数:5页

时间:2018-07-08

网络处理器软件开发模型的研究_第1页
网络处理器软件开发模型的研究_第2页
网络处理器软件开发模型的研究_第3页
网络处理器软件开发模型的研究_第4页
网络处理器软件开发模型的研究_第5页
资源描述:

《网络处理器软件开发模型的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、网络处理器软件开发模型的研究

2、第1内容显示中摘要:网络处理器的高速处理和灵活的可编程性,使它成为当今网络中数据处理的有效解决方案。本文深入探讨网络处理器的软件开发模型。首先,介绍IntelIXP2400网络处理器硬件结构和软件开发平台,然后给出基于网络处理器的路由转发系统的设计实例,阐述网络处理器开发的关键环节,最后提出网络处理器软件开发所面临的主要问题和挑战。关键词:网络处理器软件开发模型微引擎微模块核心组件引言随着当今网络规模和性能迅速增长,Inter主干网络流量的指数性增长及新业务接连的出现,这就要求网络设备具有线速和智能的处理能力。网络处理器NP(Ne

3、tonChip)的思想。如图1所示,它的内部主要包括8个完全可编程的4线程微引擎(Mev2)和1个XScale核。此外,还有用于连接外部MAC设备的MSF单元、连接各种存储器和总线的接口单元等。这些单元通过内部的高速数据总线和控制总线彼些协作。XScale核(core)是ARM系列处理器的一种,它在IXP2400中起控制和管理作用。具体包括:对系统初始化;提供系统的时钟;建立并管理路由表;提供一个对应于IXP2400各寄存器、存储器和外部存储器的地址映射表等。XScale核在系统启动时,从BootROM开始执行引导程序,对整个IXP2400系统进行初始化。IX

4、P2400中的每一个微引擎其它就是一个32位RISC处理器,可以由4个并行硬件线程共享。数据包的接收、处理和发送等任务,均由微引擎中的各线程并行执行微引擎指令存储区中的微代码程序来完成。网络处理器数据的高速转发正是因为充分利用了硬件的并行性,来弥补线速转发中的内存访问的延迟。IXP2400嵌在开发板的中心,周围通过数据线连接着各种设备,如SRAM,SDRAM等。SDRMA主要用来存放需要处理和转发的数据包等,也作为XScale核的内存;SRAM主要存放对数据包包头进行处理所需的重要信息和数据包的队列描述等内容。通过IXP2400的数据单元是一个64字节的MAC

5、包(MPKT),在每收到一个包的时候,MAC将一个数据分成若干个MPKT,MPKT就是网络处理器处理数据的单位。综上所述,IXP2400拥有网络处理的一般特点,从系统角度看,IXP2400属于一个并行式的多算是器共享总线的计算机系统。对于网络处理器的程序设计和一般计算机的程序设计有很大不同。2网络处理器软件开发模型网络设备性能和可编程能力最终由运行在网络处理器平台上的软件决定,其中,选择何种编程模式是关键。评价网络处理器编程模式有两个基本准则:一个是编程模式所能涉及的层,即哪些功能能够编程以及编程能达到的层;另一个重要方面就是处理器衬淫的编程模型。由于网络处理

6、器平台服务于软件功能需要,所以编程方法的关键是在不牺牲设备性能的前提下,使用成熟技术和现有软件模式,保证产品的可靠性,加快开发速度。基于运行在核心处理器和协处理器的不同硬件之上,网络处理器可分成数据平面与控制平台。数据平面主要运行在微引擎处理之上,是实现输入端口和输出端口间高速转发数据包的处理功能,具有线速执行特点,并充分利用数据包的无关性,采取并行处理方式。控制平面一般运行在网络处理器核上,处理路由表更新、管理数据平面任务与状态、完成高层的QoS控制等。这些操作的性能要求低于数据层面,因此通常采用高性能通用处理器硬件平台。为了有效支持网络处理功能,控制平面与

7、数据平面之间存在复杂的信息交互与依赖关系。IXP2400的软件开发也分为内核程序和微代码两部分。XScale内核的开发通常可以使用基于ARM平台嵌入式操作系统开发工具链,如AC器件接收数据,放入MSD单元的接收缓存当中,向微引擎发出信号,表示数据已经收到,微引擎将接收缓存中数据传输到SDRAM,微引擎通过对MSF总线单元的访问命令将前几个字节(分组头)传送到传输寄存器中,微引擎对分组的以太网头进行修改,而将数据分组写入发送队列,然后通知MSF单元将数据分组传送给适当的MAC器件。图3所示为典型路由器应用系统中的数据流。在图3所示的处理转发结构中,每一个模块代表

8、一个微模块。发送和接收模块和MSF硬件紧密相关。处理器芯片的MSF总线接口单元中有一对BUFFER,即输入BUFFER和输出BUFFER,分别用作接收和发送的缓冲区。开发者通过用这些相应的硬件寄存器,硬件设备可自动进行相应的转发处理。图3接收线程将自己的信息写入MSF的FREELIST单元控制豁口,其中包括了线程号、微引擎号与存放接收控制字(RSSF的信号将数据从RBUFFER中移入SDRAM。发送微模块要选择并等待一个有效的TBUFFER,再将数据从SDRAM中移入TBUFFER,并写入相应的控制寄存器,标识分组要发送的端口,分组的发送由TSM硬件自动完成。

9、在中间处理包的各个模块中,代码首先从便

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。