EDN China > 技术文章 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 可扩展的嵌入式网络平台

来源:赛灵思产品营销经理 Navanee Sundaramoorthy?? 2007年07月22日 ?? 收藏0

  典型的快速Ethernet (10/100) 子系统

  通过对前面的最小系统做一定的修改,可以实现如图2所示的更为典型的10/100以及网解决方案,从而获得更高的TCP/IP吞吐能力(10-50兆比特/秒)。主要的变化有:

  为Ethernet MAC增加直接存储器访问(DMA)引擎,实现中断驱动方式。

  为系统增加外部存储器,为处理器增加缓存。

  利用更复杂的TCP/IP栈,如Linux (?Clinux)系统TCP/IP协议栈。

  利用XPS中的基本系统构建向导(Base System Builder wizard)可以容易地创建这样的MicroBlaze?设计。

  高性能千兆位以太网子系统

  对于需要100 兆比特/秒以及TCP/IP吞吐能力的应用,可以利用专用Xilinx FPGA系列器件中内建的三模式以太网MAC硬IP,如图3所示。为获得高端应用所需要的500+ 兆比特/秒吞吐能力,需要同时配合使用环形缓冲(scatter/gather)DMA(SGDMA)等高级DMA技术,以及数据对齐引擎(DRE)和校验和分流(CSO)等FPGA硬加速器。

  几款Xilinx FPGA器件上实现的高性能PowerPC? 405内建了运行在450 MHz 的16-Kb指令和数据缓存,可以支持Linux、VxWorks、Integrity和QNX等软件平台,因此可设计出带有高性能网络接口的系统。

  MicroBlaze 10/100 Ethernet Subsystem:MicroBlaze 10/100 以太网子系统

  Local Memory:本地存储器

  Cache:缓存

10/100以太网

  图 2. 10/100以太网

  MicroBlaze Processor:MicroBlaze 处理器

  External Memory Controller:外部存储器控制器

  Interrupt Controller:

中断控制器

  Timer:定时器

  PowerPC Gigabit Ethernet Subsystem:PowerPC千兆比特以太网子系统

  Local Memory:本地存储器

  Cache:缓存

  Timer:定时器

  External Memory Controller:外部存储器控制器

  Interrupt Controller:中断控制器

  1 TEMAC – 三模式 (10/100/1000) Ethernet MAC 硬 IP

–千兆比特以太网

  图 3 –千兆比特以太网

  Average TCP/IP Throughput(Logarithmic Scale):平均TCP/IP吞吐量(对数坐标)

  PowerPC Gigabit Ethernet Subsystem:PowerPC 千兆比特以太网子系统

  MicroBlaze 10/100 Ethernet ?Clinux

  MicroBlaze Ethernet Lite LwIP

  Sample Xilinx Networking Solutions:赛灵思网络解决方案实例

不同赛灵思网络解决方案性能比较

  图 4.不同赛灵思网络解决方案性能比较

  图4中的表对于前面所给出的三种网络子系统的TCP/IP载荷吞吐能力进行了比较。需要指出的是,由于三种子系统性能差异巨大,因此Y轴采用的是对数坐标。

  影响TCP性能的因素

  许多因素都会影响到TCP性能,包括硬件和软件。下面列出了这些会影响系统TCP吞吐能力的相关因素:

  1. 处理器

  a.频率:TCP/IP协议通常需要将载荷从用户缓存拷贝到协议栈控制的缓存,然后再将其拷贝到以太网MAC的FIFO中去。这些存储器拷贝操作有些是以软件方式完成的,因此需要处理器的处理周期。同时处理器还参与TCP校验和的计算,计算过程中需要将整个数据包从存储器读出。更快的处理器配合更快的存储器能在更短的时间内完成这些操作,从而可以保持较高的数据速率。

  b.功能:TCP/IP协议栈需要对数据包的头和载荷进行访问处理。做为头处理的一部分,典型的访问包括读取头信息的特定位。因此每个数据包的处理过程都需要一些移位、相加和简洁操作。在可配置的MicroBlaze这样的软处理器中,必须开户完成移位或乘法的指令才能获得更高的性能。

  c.缓存:数据包从以太网MAC被拷贝到存储器中之后,将会通过TCP/IP协议栈的不同层。然后TCP/IP栈中的数据包处理代码会被执行。将所有代码和数据包读到缓存中会大大提高处理器效率并提高以太网带宽。

  2. 存储器:存储器访问时间和延迟对于系统性能有巨大的影响。典型应用中,TCP/IP协议栈系统并不存储在本地存储器中,程序和数据存储在外部存储器中。存取数据和指令所花费的时间对于性能有很大影响。存储器因素通常与缓存大小有关。提高指令和数据缓存大小有助于减轻外部存储器延迟和存取时间所带来的影响。

  3. 以太网MAC:在FPGA中实现的以及网MAC外设提供了很大的灵活性,特别是在工作模式(无DMA与SGDMA)、数据包FIFO深度、DRE支持、CSO支持以及巨型帧(jumbo frame)支持方面。这些功能中的每一项都会影响到MAC所需要的资源,以及其能够从处理器分流的功能多少,从而对整体性能造成影响。

  4. TCP/IP协议栈:灵活的优化TCP/IP协议栈是影响系统性能的重要因素。对硬件CSO和零拷贝API(数据不需要从应用拷贝到协议栈缓存)以及可配置栈选项等TCP/IP栈功能的支持都需要系统性能支持。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? FPGA? 处理器? IP?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈