基于FPGA的网络处理技术的性能和灵活性分析
http://tech.ddvip.com 2008年01月24日 社区交流 收藏本文
内容摘要:本文将重点讨论线路卡。每个线路卡的入口和出口信道上均带有数据通路和控制通路,数据通路负责以线速率处理和传送分组数据而不产生较大的延迟,而控制通路则负责提供处理智能、强化规则、处理意外情况并监控统计数字。

3. FPGA
FPGA是对数据进行高速并行处理的理想器件,具有极强的灵活性和扩展性。FPGA总是通过增添简单实用的网络设备,解决由NPU引发的问题并紧跟市场。例如, Virtex-II Pro FPGA包含高性能的可编程架构、嵌入式PowerPC处理器和3.125Gbps收发器,从而成为网络处理的理想选择。FPGA是OEM跨接层2/层3不同传输流并实现高速功能(如安全协处理器)的最佳选择。通过增强网络特性,FPGA可提供高性能的数据和控制处理功能。但与NPU不同,FPGA不带有内置的网络处理功能,因而必须通过编程以进行网络处理。对于NPU,OEM必须开发汇编代码(或某种层次的C代码)以实现网络处理功能;而对于FPGA,OEM必须采用硬件描述语言(HDL)、具有知识产权的内核和C语言实现FPGA中的数据通路和控制通路。
可编程解决方案如何解决网络处理问题?
首先考虑那些能从可编程解决方案(NPU或FPGA)中获得巨大利益的特定网络处理功能。
1. 深度分组处理
尽管层2和层3处理在ASIC中很容易实现,但为了在类似的传输流中区分不同的优先级,还需要在层4和层5中进行更深层的分组处理。可编程解决方案可更深入地处理这些分组。与需要多个NPU进行深层分组处理的NPU解决方案不同,FPGA解决方案只需一块FPGA,这是因为FPGA中的硬件并行处理完全可以同NPU中基于RISC的处理方法相媲美。多个NPU不仅为硬件和软件分区带来新挑战并增加了软件的复杂度,而且还增大了系统延迟和功耗。一般而言,如果采用NPU或FPGA进行更深层处理,则完全不需要ASIC。
2. 软件可升级性
来源:电子产品世界 作者:Anil Telikepalli 责编:豆豆技术应用