微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于多核处理器设计网络接口卡

基于多核处理器设计网络接口卡

时间:05-05 来源:3721RD 点击:

在IP网络一统天下的时代,各种网络设备都需要以太网接口来实现与其他设备的互联互通,比如传统的TDM设备就通过伪线技术实现了以太网封装,具备了与IP网络对话的能力。对于服务器来讲,通常也需要配备网络接口卡(NIC)来实现与其他网络的数据对接与传送。网络接口卡可以帮助系统捕获报文,对网络性能进行监测并检测服务质量,实现必要的OAM功能;在保障安全的IPSec功能基础上,网络接口卡还可以通过对接收流量进行深度的报文检测,识别不同应用与业务,对不同业务类型进行分门别类的处理。

随着多核技术的发展,越来越多的网络接口卡开始采用多核处理器方案,通过分配不同的业务处理到不同的CPU核,多核架构可以灵活应对各种复杂的业务需求。不过,随着网络带宽的不断提升,纯CPU多核架构也面临一些问题。以网络接口卡基本的安全功能为例,通常在第一层保护中需要ACL、防火墙/NAT/PAT、ALG、L2TP和IPSec VPN等;第二级保护中需要对接收数据深度检测,进而识别应用、ToE、IPSec;第三级保护中需要MAC/URL过滤,端口 /MAC认证等。如果将这些处理完全交给CPU,不仅CPU的业务负荷过大,影响到单板功耗和系统软件设计,而且随着带宽需求的不断增加,CPU核会面临处理瓶颈的问题。

LSI公司推出的Axxia系列多核通信处理器,采用异构多核的方式,创新性的将多核与快速处理引擎通过专利技术虚拟管道(Virtual Pipeline)技术相连,解决了纯CPU多核以及同构多核在处理复杂业务时性能下降的问题,在保证业务线性处理的情况下仍然保留CPU核资源用于控制、管理、业务后处理等工作。


Axxia通信处理器

LSI公司第六代通信处理器的核心是高性能的多核处理器和一系列基于硬件的业务加速引擎,通过灵活的Axxia平台架构,处理器核可以有多种选择,如ARM、PowerPC或者MIPS。本文将对以PowerPC为主的Axxia通信处理器进行介绍,处理器的基本框图如图1所示。


图1:基于PowerPC的AXXIA通信处理器内部框图。

图1中PPC476核由IBM和LSI联合研发,兼容Power ISA Version 2.05,最高主频可以达到2GHz;用来提供快速处理通路的各加速引擎得益于LSI公司多年来的研发积累,技术成熟可靠,多代产品经过市场考验,这些引擎主要包括:报文处理、安全引擎、正则处理引擎、流量管理/调度器(六级调度)。

Axxia设计采用异构多核的架构,创新性的采用虚拟管道技术来实现各加速引擎,CPU核以及各子系统间的通信,这个全新的消息传递机制保障Axxia无论报文长短,系统负荷以及协议类型都可以提供确定性的处理性能,避免同构多核在核数目与系统性能提升间不成比例的问题。在虚拟化日益普及的情况下,低延时和可确定的处理性能已经成为网络设备的首选条件。

Axxia处理器提供一系列高速接口,包括8路基于SerDes的SGMII,2路基于XAUI的10GbE,3路PCIe接口,支持x1/x2/x4,同时它还支持IEEE1588v2协议。

网络接口卡的硬件设计

Axxia兼备灵活的数据处理和强大的主控CPU,单芯片方案提供丰富的高速接口和低速调试接口,由此非常适合应用于嵌入式的单板设计。图2为基于Axxia芯片的网络接口卡方案框图。Axxia芯片的快速处理引擎可以用来实现数据层面的加速,PowerPC核可以用来实现附加功能以及主控层面的处理。


图2:基于AXXIA芯片的网络接口卡方案框图。

单板设计采用Axxia系列中中端的ACP3423,配置了2G DDR3 SDRAM,背板侧PCIe x4 Gen2用做管理,6个SGMII和XAUI用做数据交换;网络侧为10GE SFP+;支持IEEE1588和同步以太网。

Axxia通信处理器为支持SGMII、XAUI、sRIO和PCIe等高速接口,芯片内部包含有多条SerDes PHY接口,这些协议可配置接口根据不同的发送和接收数据对被分成两大组:SGMII/XAUI和sRIO/PCIe。对单板的硬件设计来讲,这些高速接口的信号完整性非常重要,在设计过程中要保证PCB板、背板、线缆等有干净的供电,良好的接地,在布线过程中要对走线做阻抗匹配。LSI公司提供了详细的硬件设计文档和SerDes设计文档。

软件开发

如前文所述,Axxia确定性的性能来自于优良的硬件架构,同时,作为整个接口卡方案的"灵魂",LSI公司还为Axxia系列处理器的软件开发提供基于各种操作系统的软件包,包括Axxia运行开发环境RTE,Axxia软件环境ASE等。对于网络接口卡开发还提供完整的Linux BSP实现以及Axxia应用开发套件(ADK)。ADK由一系列针对特定协议的数据层和控制层软件模块组成,有了这些模块软件开发者无需关注底层细节,可以很灵活方便的直接用高级语言如C进行应用程序开发。软件基本框架如图3所示。


图3:Axxia软件开发框架。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top