A switching device for forwarding network traffic to a desired destination on
a
network, such as a telephone or computer network. The switching device includes
multiple ports and uses a lookup table to determine which port to forward network
traffic over. The lookup table includes network addresses that are maintained in
ascending or descending order. The switching device includes multiple binary search
engines coupled in series including one or more precursor binary search engines
and a final stage binary search engine. Together, the binary search engines perform
an N iteration binary search. Additionally, a single search engine can perform
multiple concurrent searches so that source and destination addresses can be obtained
simultaneously and without wasted memory cycles.