The com- mands it understands pass the source address, the destination address, and the number of bytes needed to encode the string. Policy Coprocessor This examines the flow control and information, and checks to make sure everything conforms to preallocated bandwidth. Counter Coprocessor This interfaces threads with the Counter Manager. It updates counts and manages an eight-level command queue. 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™ IBN POWERNPTM Semaphore Coprocessor This controls access to shared resources such as tables. It grants access based on a handshake mode that issues Request Order and Dispatch Order pairs of signals. TSE Coprocessor This handles all table searches and updates. Almost every frame that is processed by the system uses this coprocessor. The search engine retrieves forwarding decisions from the local routing tables in each NPU. If these local tables need to be updated, the CP proces- sor will do it through the use of guided frames. The TSE Coprocessor provides tree search and mod- ification functions for requests issued by picocode threads. As two coprocessor locations are used, every thread can execute two searches simultaneously. The NP4GS3 relies heavily on searching tree structures for issues such as layer 3 IP address routing tables, layer 3 and higher frame filtering, layer 2 MAC address port mapping, flow control, and SO on. It supports three types of tree search algorithms: full match (FM), longest prefix match (LPM), and software-managed trees (SMTs), which is an IBM algorithm invention that allows multiple leaves that can be chained in a linked list. The TSEs can perform 8.5 million searches per second for layer 3 routing (using the LPM algo- rithm) and 12 million searches per second for layer 4 classification (using the five-tuple approach). These numbers can be improved with the ext