Today’s legacy network implementations are based on Field Programmable Gate Arrays (FPGAs) for lower layer processing and General Purpose Processors (GPPs) for higher layer processing. Neither of these solutions meets all the requirements that network processing demands. Consider the broad categories of alternatives for system implementation:
ASIC (Application Specific Integrated Circuit) – any hardwired solution.
ASIP (Application Specific Instruction Processor) – an instruction set processor specialized for a particular application domain.
Co-processor – a hardwired, possibly configurable solution with a limited programming interface.
FPGA (Field Programmable Gate Array) – a device that can be reprogrammed at the gate level.
GPP (General Purpose Processor) – a programmable processor for general purpose computing.
There are two main requirements for all these solutions - flexibility and performance. ASICs are the most hardwired (least flexible), but provide the highest performance. GPPs are the most general (flexible) at the cost of the lowest performance. An ASIP for networking provides the right balance of hardware and software to meet all the requirements like:
Performance – by executing key computational kernels in hardware, NPs are able to perform many applications at wire speed.
Flexibility – having software as a major part of the system allows network equipment to easily adapt to changing standards and applications.
Fast TTM – designing software is much faster (and cheaper) than designing hardware of equivalent functionality.
A network processor is an ASIP for the networking application domain – a software programmable device with architectural features and/or special circuitry for packet processing. Main players in the NP market space are AMCC, Agere, Intel, Broadcom, Cisco and Vitesse.
A very detailed analysis of NPs is available in Understanding NPs. Another good article on NPs is from Netrino.
No comments:
Post a Comment