 performance. We revisit this context and the language's advantages in Chapter 16 where we discuss systems engineering considerations and trade-offs regarding the cost of development over the entire lifetime of a project or product. Communication protocols are described in FPL, and the processor ends up "learning" pattern- matching processes. The software engineer does not have to write exhaustive code that explains how to seek out specific bits and what to do with them. In the case of Agere's network-processing solution, code must be written in FPL to create a pro- gram in order to handle the PDUs. The code is then compiled and an image (executable) is loaded into the FPP. Every time a PDU arrives at the FPP input, a program must run. Typical examples of code written in FPL would perform operations such as layer 2 and above protocol processing, SARing of ATM cells, checking the size of programmable PDUs, performing timeout checks on ATM cells, han- dling CRC and checksum processing, and determining the PDU output queue and the PDU's corre- sponding CoS. Code written in FPL must start from one of two possible entry points (program statements) called roots. These actually stipulate which FPL function should be invoked first. For example, the ROOT function will receive a data stream either from the framer or from the internal queue inside the FPP. We commonly say, "A PDU is being replayed from queue." The principle of replaying a PDU mani- fests itself in the FPL computing model. This requires a two-pass process when handling a PDU: 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. AGERE PAYLOADPLUS FAMILY OF NETWORK PROCESSORS AGERE PAYLOAD PLUSTM FAMILY OF NETWORK PROCESSORS 119 1. An initial processing pass must be performed, while the PDU data stream is read into the queue engine memory in blocks of 64 bytes at a time. For instance, this occ