twork processor has 28 GDHs. SOFTWARE AND SYSTEMS DEVELOPMENT AROUND THE NP4GS3 Figure 4.7 shows how the various software components are combined in a system that comprises mul- tiple NPUs to produce a modular and flexible solution. The customer's applications can communicate through special facilities. The NPU runs control picocode, management picocode, and forwarding pic- ocode. Through special low-level APIs, the CP interfaces its NPAS environment with the network- processor realm. NPAS with high-level APIs interfaces for instance a local SNMP agent or exception forwarding code with other vendor applications, such as routing table management, an OSPF routing protocol, and SO on. Customers' applications, which must execute on the CP processor, can communicate through the Network Processor Application Services (NPAS) (application services) high-level C-language API. IBM supports Linux and WindRiver's VxWorks. Customers can develop and test their application code under various versions of Windows, Sun Solaris and Red Hat Linux. IBM offers a developer's toolkit, which provides a series of development tools that start from a Core Simulation Model, a net- work-processor-specialized assembler (NPASM), a C compiler, an interpreter of the picocode binary image file, a debugger, a network simulator, a performance profiler, a test-case generator, and scripts IBM PRS Packet Routing Switch (fabric) Ethernet or PCI Application IBM NPAS Data packets/frames os Layer FIGURE 4.7 Software structure for a system based on multiple NP4GS3 chips. (Source: IBM) Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. IBM POWERNP 72 NETWORK PROCESSORS that can be extended by engineers via the use of Tool Control Language/Toolkit (TCL/Tk). Network- processor code can be developed and tested without even having access to hardware prototypes of a new system. The C compiler, 