![]() |
![]() |
![]() |
![]() |
![]() |
![]() | |||||||||||||||||||
![]() |
June 25, 2001 | |||||||||||||||||||||||
![]() | ||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||
![]() ![]() |
![]() |
![]()
![]() | ||||||||||||||||||||||
![]() |
![]() ![]() |
|||||||||||||||||||||||
NPUs seek out softwareBy Linley
Gwennap
After all, one of the key advantages of NPUs over ASICs is reducing time-to-market. Find a bug during testing? With an NPU, just change a line of code. With an ASIC, kiss your market window goodbye. But someone still has to write the original code for that network processor, which may not be simple. Most current NPUs must be programmed in assembly code instead of a high-level language such as C or C++. This isn't like programming a Z80. IBM's Rainier, for example, has 16 picoengines and 60 coprocessors (of eight different types) on the chip. Optimal performance is achieved only by efficiently using all of those processing elements. C-Port (now a Motorola subsidiary) was the first to realize this problem. Its packet engines use a MIPS-like instruction set, making it straightforward to port a C/C++ compiler to the NPU. Customers can develop their software in a high-level language, using assembly code only when needed to optimize performance. Lucent has also developed a compiler for its Agere NPU. MMC Networks recently announced a compiler for its nP family of NPUs. Virtually every new NPU startup-including EZchip and Lexra-plans to deploy a compiler along with their chips. That leaves the old guard, primarily Intel and IBM, in the assembly-code camp. They argue that the data-plane code that runs on NPUs is not that extensive-only a few thousand lines of code. That may be true today, but data-plane code is becoming more complex as equipment makers add features to their products. Those vendors also point out that data-plane code must be hand-optimized for best performance. But writing that code in a high-level language enables portability and rapid prototyping. Optimization can come later, perhaps even after the product has been released. The best solution is to give customers the choice of writing assembly or C code. That requires supplying a complete set of development tools, including a compiler. I expect Intel and perhaps even IBM to acquiesce within the next year and offer their customers the tools they want. If they don't, OEMs may start shopping elsewhere for their NPUs. Linley Gwennap, coauthor of "A Guide to Network Processors" (www.linleygroup.com/npu), is principal analyst of the linley group.
![]()
![]()
![]()
|
|