Data processor with multiple compare extension instruction
First Claim
1. A processor comprising:
- a first input receiving a first input data, a second input receiving a second input data, a third input receiving a third input data and a fourth input receiving a multiple compare instruction;
a logic unit coupled to the first input, the second input, the third input and the fourth input, the logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and which performs a comparison between the first input data and a series of predefined characters in the third input data, if the comparison results in the first input data being equal to any character in the series of predefined characters then a character match state is set;
a second logic unit coupled to the first input, the second input, the third input and the fourth input, the second logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and performs a comparison between the first input data and a predefined boundary, if the first input data is within the predefined boundary then a character boundary state is set if a mask bit in the second input data, at a position equal to the value in the first input data, is set on;
an output coupled to both the logic unit and the second logic unit, the output outputting the character match state and the character boundary state information; and
wherein the processor can be reprogrammed to execute a different one of many possible instructions.
0 Assignments
0 Petitions
Accused Products
Abstract
A programmable data communications device is provided to process multiple streams of data according to multiple protocols. The device is equipped with a co-processor including multiple, programmable processors allowing data to be operated on by multiple protocols. The programmable processors within the co-processor include extended instruction sets including instructions providing the operations of zero stuffing, CRC computation, partial compare, conditional move, and trie traversal. These instructions allow the processor(s) of the co-processor to more efficiently execute programs implementing data communications protocols. Since each processor is programmable, protocols standards which change may be accommodated. A network device equipped with the co-processor can handle multiple simultaneous streams of data and can implement multiple protocols on each data stream. The protocols can execute within the co-processor either independently of each other, or in conjunction with each other.
-
Citations
11 Claims
-
1. A processor comprising:
-
a first input receiving a first input data, a second input receiving a second input data, a third input receiving a third input data and a fourth input receiving a multiple compare instruction;
a logic unit coupled to the first input, the second input, the third input and the fourth input, the logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and which performs a comparison between the first input data and a series of predefined characters in the third input data, if the comparison results in the first input data being equal to any character in the series of predefined characters then a character match state is set;
a second logic unit coupled to the first input, the second input, the third input and the fourth input, the second logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and performs a comparison between the first input data and a predefined boundary, if the first input data is within the predefined boundary then a character boundary state is set if a mask bit in the second input data, at a position equal to the value in the first input data, is set on;
an output coupled to both the logic unit and the second logic unit, the output outputting the character match state and the character boundary state information; and
wherein the processor can be reprogrammed to execute a different one of many possible instructions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus comprising a computer readable medium having a multiple compare instruction recorded thereon, the multiple compare instruction comprising:
-
a first input receiving a first input data, a second input receiving a second input data, a third input receiving a third input data and a fourth input receiving a multiple compare instruction;
a logic unit coupled to the first input, the second input, the third input and the fourth input, the logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and which performs a comparison between the first input data and a series of predefined characters in the third input data, if the comparison results in the first input data being equal to any character in the series of predefined characters then a character match state is set;
a second logic unit coupled to the first input, the second input, the third input and the fourth input, the second logic unit including activatible multiple comparing circuitry which is activated upon receipt of the multiple compare instruction and performs a comparison between the first input data and a predefined boundary, if the first input data is within the predefined boundary then a character boundary state is set if a mask bit in the second input data, at a position equal to the value in the first input data, is set on;
an output coupled to both the logic unit and the second logic unit, the output outputting the character match state and the character boundary state information; and
wherein the processor can be reprogrammed to execute a different one of many possible instructions.
-
-
7. A method of processing data in a processor comprising the steps of:
-
coupling a first input data, a second input data, a third input data and a fourth input multiple compare instruction to a first logic unit and a second logic unit;
activating multiple comparing circuitry in the first logic unit upon receipt of the multiple compare instruction;
comparing the first input data and a series of predefined characters in the third input data;
if the comparison results in the first input data being equal to any character in the series of predefined characters then setting a character match state if a mask bit in the second input data, at a position equal to the value in the first input data, is set on;
activating multiple comparing circuitry in the second logic unit upon receipt of the multiple compare instruction;
comparing the first input data with a predefined boundary;
if the first input data is within the predefined boundary then setting a character boundary state;
outputting the character match state and the character boundary state; and
reprogramming the processor to execute one of many possible different instructions. - View Dependent Claims (8, 9, 10, 11)
-
Specification