基于FPGA的网络处理技术的性能和灵活性分析
http://tech.ddvip.com 2008年01月24日 社区交流 收藏本文
内容摘要:本文将重点讨论线路卡。每个线路卡的入口和出口信道上均带有数据通路和控制通路,数据通路负责以线速率处理和传送分组数据而不产生较大的延迟,而控制通路则负责提供处理智能、强化规则、处理意外情况并监控统计数字。
采用集中处理器设计的主要优势在于软件。控制层软件是诸多OEM的关键增值业务,并能使他们与竞争对手的业务彼此区分。因此,代码复用功能对于产品的上市时间以及支持原有产品至关重要。C代码的开发相对较快并能轻松地升级/接口到新处理器。DSP设计人员和架构设计人员对此有深刻的理解,并当代码复用比性能更重要时采用DSP处理器。
然而NPU不具备代码复用,因为NPU的软件大多是不可移植的,即这些软件是专有的汇编代码或因定制程度过高而丧失移植性的C代码。汇编代码是处理器专用开发工具,通常开发周期较长,从而加大了设计商的开发风险。事实 上,一家公司为NPU设计的代码甚至难以移植到该公司后续开发的NPU中。NPU业界清醒地认识到这一点,因而正致力于行业的标准化,以使设计人员重拾信心。另一方面,虽然FPGA具有较强的软件升级功能,但在利用HDL或C代码开发数据层处理以及利用C代码开发控制层处理时,仍将面对诸多难题。采用专用的汇编代码修改特性比采用业界标准的HDL和C代码风险更高,也更困难。某些FPGA制造商提供了基于平台和工具集方法的工具,以实现软件在各代FPGA中的无缝移植。
3. 硬件可升级性
硬件的可升级特性确保了较长的产品寿命,因而成为可编程解决方案的一个关键特性。此外,可升级性还有助于网络设备跟踪标准和协议的持续变化。否则,该设备将很快落伍。NPU只在处理器中提供可编程特性,其类似ASIC的定制硬件并不能直接进行编程。因此,NPU在硬件升级上的劣势与ASIC非常相似。FPGA顾名思义就是现场可编程,因而能轻松升级,以很好地满足需求变化。
4. 复杂分类查询
像VPN(虚拟专用网)和IPSec这样的业务需要复杂查询功能。查询和分类可通过复杂的迭代算法实现,但迭代算法抑制了NPU中RISC引擎的效能 ,进而影响系统的整体性能。为此,NPU可采用两种策略:(a)增加NPU的时钟频率以获取净空范围。(b)增加多个NPU解决问题。过高的时钟频率将引发信号完整性问题并增加主板的复杂度,而多个NPU则将引发类似上述深层分组处理的问题。NPU的查询需要成本较高的内存子系统,而FPGA能在逻辑电路的状态机内实现查询,但这也并非总是有效的。或许查询协处理器和SDRAM正是不可或缺的。
来源:电子产品世界 作者:Anil Telikepalli 责编:豆豆技术应用