Patent ID: 7370150
Filing Date: 2008-05-06
Classification: G06F

Abstract:
1. A method of searching a string of data for a match with a data string, the method comprising: routing a series of assembly instructions to a processor having a first execution circuit for executing arithmetic and logic instructions, wherein the instructions are performed out of an original program order for at least one predicted branch that has not yet been taken; analyzing the series of assembly instructions to detect a search instruction to perform a search operation, the search instruction comprising a data string and a starting address for the search operation; routing the search instruction undecoded to a data string manipulation circuit, independent of the first execution circuit, for performing string manipulation instructions; routing the starting address for the search operation from the data string manipulation circuit to a cache memory array; comparing portions of the data string with consecutive portions of data stored in the cache memory array; generating a match signal for each portion of the data stored in the cache memory array that matches a respective compared portion of the data string; identifying a plurality of match signals indicating the consecutive portions of the data stored in the cache memory array that together match the data string; monitoring data dependencies among the instructions; and routing an address of cached data matching the data string to the data string manipulation circuit, wherein the routing the address of cached data matching the data string is performed after any instructions are performed that modify data within the address.