Some necessary features of network processing never change. Here are some key attributes that have stood the test of time, fromastudy by Freescale (News - Alert) Semiconductor, Inc.:
Complete Programmability. For real platform usage, a network processor must be universally applicable across a wide range of interfaces, protocols, and product types. This requires programmability at all levels of the protocol stack. Protocol support must include packets, cells, and data streams (separately or in combination) across various interfaces.
Simple Programming Model.
The programmability of a network processor must be readily accessible to the developer in order to be useful. By far the most common software languages in real-time communications systems are C and C++, with millions of skilled programmers and many more lines of existing code.
Maximum System Flexibility
True network processors integrate all the functions implemented between the physical interfaces and the switching fabric, enabling an open approach for the PHY and fabric levels. This permits best-of-breed, multi-vendor solutions that allow vendors to offer true product differentiation and scalability.
High Functional Integration
Network processors need to provide a high level of system integration that dramatically reduces part count and system complexity, while simultaneously improving performance, as compared to using a design that incorporates multiple components.
Stable Programming Interfaces
A communication processor cannot deliver on software flexibility and portability if the programming interfaces are dependent on the processor. The network processor’s architecture must support generic “Communications Programming Interfaces” to simplify the programming task and allow future software reuse across generations of the network processor.
Third-Party Support
To realize the full potential of a software-driven environment, the network processor needs to be the foundation of a complete communications platform that takes advantage of industry-wide hardware extensions, software applications, and tool suites.
David Sims is a contributing editor for TMCnet. To read more of David’s articles, please visit his columnist page. He also blogs for TMCnet here.
Edited by Erin Monda