高效能Gigabit Ethernet子系统
针对需要支持100 Mbps以上TCP/IP流量的应用,您可以有效运用已预先内建于几款特定的Xilinx FPGA系列组件中的三模以太网络媒体存取控制组件硬式IP(如图3所示)。针对高阶应用所需的500 Mbps以上的流量,您必须运用像是分散/收集DMA(SGDMA)等许多先进的DMA技术,搭配像是数据重新配置引擎(DRE)与检查码处理分流(CSO)等FPGA硬件加速器。

有几款建置于Xilinx FPGA的高效能PowerPC? 405处理器,内建16-Kb指令,并以450MHz运作频率进行数据撷取,可支持各种软件平台,包括Linux、VxWorks、Integrity、以及QNX,让您能运用各种高效能网络界面来开发各类系统。
图4比较先前讨论的3种网络子系统TCP/IP负载流量。Y轴的流量数据是对数值,以方便比较差距极大的效能值。

影响TCP效能的因素
许多因素会影响TCP效能,包括硬件与软件方面。在一个系统中,这些相关因素会影响TCP的流量:
1. 处理器
频率频率:TCP/IP通信协议堆栈通常会先将使用者缓冲区的负载流量复制到由堆栈控制的缓冲区,然后再复制到以太网络媒体存取控制组件的FIFO组件。当在软件中进行作业时,部份的内存复制作业会用到处理器周期。处理器亦涉及到运算TCP的检查码,包括从内存中读取整个封包的数据。较快的处理器搭配较快的内存,能在更短的时间内执行两项作业,并跟上数据传输的速度。
特色:TCP/IP通信协议堆栈涉及到存取封包的表头与负载流量。表头处理作业中,典型的存取作业包括读取表头中特定的信息位,造成位移;且每个封包都须逐一处理加法、乘法的运算。在像MicroBlaze软式处理器这类可组态处理器中,您必须启用相关指令,来执行位移缓存器或乘法运算,才能调校出更高的效能。
快取:一旦封包从以太网络媒体存取控制组件复制到内存后,就会被传送至TCP/IP通信协议堆栈的各功能层进行处理。此时TCP/IP堆栈中的封包处理码则进入执行阶段。把程序代码与封包放在高速缓存的作法,能大幅提升处理器的效率,并增加Ethernet的频宽。
2. 内存
内存存取时间与延迟对系统效能有极大的影响。典型的TCP/IP通信协议堆栈应用,无法配合local memory程序与数据都是外部内存的一部份。存取数据与指令所耗费的时间,对效能有极大的影响。内存因素通常和快取容量有直接的关系。增加指令与数据的快取容量,将有助于缩短外部内存的传输延迟与存取时间。
3. 以太网络媒体存取控制组件
建置于FPGA的以太网络媒体存取控制组件的外围组件,在运作模式(无DMA与SGDMA相对问题)、封包FIFO的深度、DRE与CSO的支持能力、以及巨型讯框支持能力方面,都相当提供相当大的弹性。然而,上述每种选项被MAC组件所耗用的空间,将得以卸载处理器各项功能,进而增进效能。
4. TCP/IP通讯协议堆栈
最佳化与弹性的TCP/IP堆栈建置,是增进系统效能的重要因素。包括像在硬件中支持CSO、无复制作业的API(数据不必从应用程序复制到堆栈缓冲区)、以及配合应用软件需求的可组态堆栈选项等TCP/IP堆栈功能都有助于改进系统效能。
5. 信息大小
信息(应用数据)的大小是另一项影响效能的因素。信息愈小,TCP/IP通讯协议表头(像是TCP、IP、以及Ethernet表头)的耗用资源比例就愈高,能取得的资料流量也随之降低。
结论
各种嵌入式应用对网络效能的需求有很大的差距,且会随着产品生命周期的演进而有所改变。要设计出理想的产品来满足各式各样且持续演进的需求,您需要一种高弹性且可扩充的解决方案,针对您的应用需求进行客制化。
赛灵思针对PowerPC与MicroBlaze处理器所开发的嵌入式解决方案,搭配阵容完备的工具与可客制化IP,协助您开发可扩充的网络子系统,并针对差异悬殊的各类应用需求,自行规划适合的效能。