基于FPGA的网络处理技术的性能和灵活性分析

http://tech.ddvip.com   2008年01月24日    社区交流 收藏本文

内容摘要:本文将重点讨论线路卡。每个线路卡的入口和出口信道上均带有数据通路和控制通路,数据通路负责以线速率处理和传送分组数据而不产生较大的延迟,而控制通路则负责提供处理智能、强化规则、处理意外情况并监控统计数字。

  选择适当的半导体器件

  网络处理可采用多种半导体解决方案,但可广义地归为ASIC和可编程器件两类。那么这两类器件是如何实现网络系统设计的呢?应用于网络处理的ASIC和可编程器件的主要原理与任何其他应用并无区别。从高端角度看,ASIC可为固定功能提供较高性能,但灵活度很有限。虽然ASIC的流片费用(NRE)较高并且产品的上市时间较长,但其高产量还是颇具成本效益。

  另一方面,可编程解决方案可提供较高的系统速率,包括复杂功能(特殊和异常处理)、灵活性和最短的产品上市时间。可编程器件无需流片费用,价格比相应的ASIC略为昂贵。因为可编程解决方案灵活度较高并可升级,因而具有比ASIC更长的产品寿命,由此降低了整体系统的成本。

  尽管上面对ASIC和可编程解决方案进行了区分,但目前还没有能综合两种半导体优势并满足各种需求的完美解决方案。器件的最终选择取决于特定需求,首先考虑应用于网络处理的可编程解决方案。

  1. 可编程解决方案

  可编程解决方案主要有两类:网络处理器(NPU)和FPGA,两者都是可编程的。NPU可提供以处理器为中心(即以软件为中心)的可编程特性,而FPGA则提供以硬件为中心的可编程特性。设计人员很快就能认识到以软件为中心的方法的性能将低于以硬件为中心的方法。理解网络处理和网络处理器之间的差异相当重要:网络处理是一种功能,而网络处理器则是一类可编程器件。

  2. 实现网络处理器

  网络处理器最初被用于设计网络设备中的现成器件,这些器件在各方面提供灵活性和扩展性的同时,还提供了充分的性能。几家大型和小型半导体公司参与了竞争,并推出带有极高灵活性和超短产品上市时间的线速网络处理器。大多数NPU均带有多种编程特性经过优化的嵌入式RISC CPU以及适用于通用分组处理功能的类ASIC硬件电路(图3)。每个RISC引擎经过优化以执行特定任务。该思想有利于在硬件电路中处理常规层2/层3功能,而RISC引擎则处理复杂和特殊情形。当然,所需的任何定制均可委托给RISC引擎。NPU通常采用汇编/微代码,有时也采用定制的C语言实现可编程特性。

来源:电子产品世界    作者:Anil Telikepalli    责编:豆豆技术应用

正在加载评论...