hput of 5 Gbps (or 2 to 4 bidirectional Gigabit Ethernets) and consumes 9 watts. The 133 MHz version (targeted by Agere toward the realm of applications between OC-3 and 1 to 2 Gigabit Ethernets) has a throughput of 2.5 Gbps and consumes less than 6 watts. DEVELOPING SYSTEMS AND SOFTWARE FOR THE PAYLOADPLUS FAMILY OF NPUS The FPL is one of the key factors for the flexibility and versatility of the PayloadPlus family of Agere's network processors. It is a functional language, which is a computing model that is somewhat remi- niscent of the approach that the Lisp language implemented. It has nothing in common with the pro- gramming model of a procedural language, such as C. In a functional language, the programmer writes code that tells the underlying computer resources what to do, but not how to do it. Getting the code to do the latter is usually very tedious, excruciatingly detailed, and highly error prone. Worst of all, the code must be rewritten every time a slight modification of a protocol or operational procedure has to be implemented. As an illustrative example, contemplate the difficulty of coding the task of sorting a list of long bit patterns according to some criteria and reordering them accordingly. In the functional programming approach, the task is specified as the sorting of the original list. In a procedural language realm, how- ever, the programmer has to correctly code bit per bit all the manipulations that must occur in the appropriate order by properly monitoring and managing buffer usage. If the list of bit patterns changes, the procedural code must be rewritten. In the functional language, the same sorting code must be rerun, but this time it is simply applied on a different list of bit patterns. FPL provides an order of magnitude of reduction in the number of instructions needed to carry out task compared to C/C+ hence, it offers a significant improvement in productivity of software engineering. It also eliminates the need to hand-optimize assembly or microcode in order to achieve wire-speed