Data processor for performing a comparison instruction using selective enablement and wired boolean logic
First Claim
Patent Images
1. A data processor, comprising:
- storage means for storing a comparison instruction which specifies a number of bits to be compared;
an instruction decode circuit for decoding the comparison instruction to provide a plurality of control signals, the instruction decode circuit coupled to the storage means for receiving the comparison instruction;
instruction execution means for controlling execution of the comparison instruction in response to the plurality of control signals, the instruction execution means coupled to the instruction decode circuit for receiving the plurality of control signals;
a plurality of enabled processing elements wherein each one of the plurality of enabled processing elements stores a data value, each one of the enabled plurality of processing elements being coupled to the instruction execution means, the instruction execution means selecting each of the plurality of enabled processing elements to output a first portion of the data value stored therein during execution of the comparison instruction; and
a comparison conductor connected to each one of the plurality of enabled processing elements for receiving the first portion of the data value stored therein, the comparison conductor performing a comparison operation in response to execution of the comparison instruction, the comparison conductor being in a first logic state when the first portion of the data value provided by at least one of the plurality of enabled processing elements is in the first logic state, the comparison conductor being in a second logic state when the first portion of the data value provided by each of the plurality of enabled processing elements is in the second logic state.
4 Assignments
0 Petitions
Accused Products
Abstract
A data processing system (55) and method thereof includes one or more data processors (10). Data processor (10) is capable of performing both vector operations and scalar operations. Using a single microsequencer (22), data processor (10) is capable of executing both vector instructions and scalar instructions. Data processor (10) also has a memory circuit (14) capable of storing both vector operands and scalar operands.
-
Citations
57 Claims
-
1. A data processor, comprising:
-
storage means for storing a comparison instruction which specifies a number of bits to be compared; an instruction decode circuit for decoding the comparison instruction to provide a plurality of control signals, the instruction decode circuit coupled to the storage means for receiving the comparison instruction; instruction execution means for controlling execution of the comparison instruction in response to the plurality of control signals, the instruction execution means coupled to the instruction decode circuit for receiving the plurality of control signals; a plurality of enabled processing elements wherein each one of the plurality of enabled processing elements stores a data value, each one of the enabled plurality of processing elements being coupled to the instruction execution means, the instruction execution means selecting each of the plurality of enabled processing elements to output a first portion of the data value stored therein during execution of the comparison instruction; and a comparison conductor connected to each one of the plurality of enabled processing elements for receiving the first portion of the data value stored therein, the comparison conductor performing a comparison operation in response to execution of the comparison instruction, the comparison conductor being in a first logic state when the first portion of the data value provided by at least one of the plurality of enabled processing elements is in the first logic state, the comparison conductor being in a second logic state when the first portion of the data value provided by each of the plurality of enabled processing elements is in the second logic state. - View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
4. The data processor of clam 1 further comprising:
a first storage circuit for storing a pIurality of enable values, each of the plurality of enable values corresponding to one of the plurality of enabled processing elements.
-
21. A method of comparing a plurality of data values in a data processor, comprising the steps of:
-
receiving a comparison instruction which specifies a number of bits to be compared; decoding the comparison instruction to provide a plurality of control signals; determining which of a plurality of processing elements are enabled, each processing element of an enabled portion of the plurality of processing elements providing a first portion of a data value stored therein to a comparison line; providing the comparison line in a first logic state when at least one of the enabled portion of the plurality of processing elements provides the first portion of the data value stored therein in the first logic state; providing the comparison line in a second logic state when each of the enabled portion of the plurality of processing elements provides the first portion of the data value stored therein in the second logic state; and selectively modifying a plurality of enable bits in response to a logic state of the comparison line, each of the plurality of enable bits corresponding to one of the enabled portion of the plurality of processing elements. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A data processing system, comprising:
-
a plurality of data processors arranged in an array, each one of the plurality of data processors, comprising; storage means for storing a comparison instruction which specifies a number of bits to be compared; an instruction decode circuit for decoding the comparison instruction to provide a plurality of control signals, the instruction decode circuit coupled to the storage means for receiving the comparison instruction; instruction execution means for controlling execution of the comparison instruction in response to the plurality of control signals, the instruction execution means coupled to the instruction decode circuit for receiving the plurality of control signals; a plurality of enabled processing elements wherein each one of the plurality of enabled processing elements stores a data value, each one of the plurality of enabled processing elements being coupled to the instruction execution means, the instruction execution means selecting the plurality of enabled processing elements to output a first bit of the data value stored therein during execution of the comparison instruction; a comparison conductor connected to each one of the plurality of enabled processing elements for receiving the first bit of the data value stored therein, the comparison conductor performing a comparison operation in response to execution of the comparison instruction, the comparison conductor being in a first logic state when the first bit of the data value provided by at least one of the plurality of enabled processing elements is in the first logic state, the comparison conductor being in a second logic state when the first bit of the data value provided by each of the plurality of enabled processing elements is in the second logic state; and each one of the plurality of data processors being selectively coupled to an adjacent data processor to communicate information, the comparison conductor of a first one of the plurality of data processors being coupled to the comparison conductor of a second one of the plurality of data processors. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A data processor, comprising:
-
storage means for storing a comparison instruction; an instruction decode circuit for decoding the comparison instruction to provide a plurality of control signals, the instruction decode circuit coupled to the storage means for receiving the comparison instruction; instruction execution means for controlling execution of the comparison instruction in response to the plurality of control signals, the instruction execution means coupled to the instruction decode circuit for receiving the plurality of control signals; a plurality of enabled processing elements wherein each one of the plurality of enabled processing elements stores a data value, each one of the enabled plurality of processing elements being coupled to the instruction execution means, the instruction execution means selecting each of the plurality of enabled processing elements to output a first portion of the data value stored therein during execution of the comparison instruction; a comparison conductor connected to each one of the plurality of enabled processing elements for receiving the first portion of the data value stored therein, the comparison conductor performing a comparison operation in response to execution of the comparison instruction, the comparison conductor being in a first logic state when the first portion of the data value provided by at least one of the plurality of enabled processing elements is in the first logic state, the comparison conductor being in a second logic state when the first portion of the data value provided by each of the plurality of enabled processing elements is in the second logic state; a switch circuit which is coupled to the comparison conductor; and a first integrated circuit pin which is coupled to the switch circuit, the switch circuit selectively coupling the first integrated circuit pin to the comparison conductor in response to the comparison instruction, wherein the first integrated circuit pin is coupled to a first external integrated circuit pin of an external data processor, the first integrated circuit pin coupling the comparison conductor to the first external integrated circuit pin when the switch circuit selectively couples the first integrated circuit pin to the comparison conductor; and wherein the first integrated circuit pin transfers control information when the data processor is in a first mode of operation and the first integrated circuit pin is selectively coupled to the comparison conductor when the data processor is in a second mode of operation.
-
-
56. A method of comparing a plurality of data values in a data processor, comprising the steps of:
-
i) receiving a comparison instruction; ii) decoding the comparison instruction to provide a plurality of control signals; iii) determining which of a plurality of processing elements are enabled, wherein each of the plurality of data values stored in each one of the plurality of processing elements has a plurality of n bits, where n is a positive integer value and wherein each processing element of an enabled portion of the plurality of processing elements provides a first portion of a data value stored therein to a comparison line, the first portion of each of the plurality of data values being a most significant bit of the data value; iv) providing the comparison line in a first logic state when at least one of the enabled portion of the plurality of processing elements provides the first portion of the data value stored therein in the first logic state; v) providing the comparison line in a second logic state when each of the enabled portion of the plurality of processing elements provides the first portion of the data value stored therein in the second logic state; vi) selectively modifying a plurality of enable bits in response to a logic state of the comparison line, each of the plurality of enable bits corresponding to one of the enabled portion of the plurality of processing elements; vii) accessing a next one of the plurality of bits of the data value stored in each one of the enabled portion of the plurality of processing elements, each one of the enabled portion of the plurality of processing elements having a corresponding one of the plurality of enable values which is asserted; viii) providing the next one of the plurality of bits of the data value output by each one of the enabled portion of the plurality of processing elements to a comparison line; ix) providing the comparison line in the first logic state when at least one of the enabled portion of the plurality of processing elements provides the next one of the plurality of bits of the data value stored therein in the first logic state; providing the comparison line in the second logic state when each of the enabled portion of the plurality of processing elements provides the next one of the plurality of bits of the data value stored therein in the second logic state; xi) negating one of the plurality of enable values when the next one of the plurality of bits of the data value is in a different logic state than the comparison line; xii) repeating steps vii) through xi) for a predetermined number of repetitions; and xiii) inverting a portion of the plurality of bits of the data value provided by each of the plurality of processing elements before providing the portion of the plurality of bits to the comparison line, the portion of the plurality of bits not including the most significant bit of the data value.
-
-
57. A data processing system, comprising:
a plurality of data processors arranged in an array, each one of the plurality of data processors, comprising; storage means for storing a comparison instruction; an instruction decode circuit for decoding the comparison instruction to provide a plurality of control signals, the instruction decode circuit coupled to the storage means for receiving the comparison instruction; instruction execution means for controlling execution of the comparison instruction in response to the plurality of control signals, the instruction execution means coupled to the instruction decode circuit for receiving the plurality of control signals; a plurality of enabled processing elements wherein each one of the plurality of enabled processing elements stores a data value, each one of the plurality of enabled processing elements being coupled to the instruction execution means, the instruction execution means selecting the plurality of enabled processing elements to output a first bit of the data value stored therein during execution of the comparison instruction; a comparison conductor connected to each one of the plurality of enabled processing elements for receiving the first bit of the data value stored therein, the comparison conductor performing a comparison operation in response to execution of the comparison instruction, the comparison conductor being in a first logic state when the first bit of the data value provided by at least one of the plurality of enabled processing elements is in the first logic state, the comparison conductor being in a second logic state when the first bit of the data value provided by each of the plurality of enabled processing elements is in the second logic state; each one of the plurality of data processors being selectively coupled to an adjacent data processor to communicate information, the comparison conductor of a first one of the plurality of data processors being coupled to the comparison conductor of a second one of the plurality of data processors; a switch circuit which is coupled to the comparison conductor; a first integrated circuit pin; and a second integrated circuit pin, wherein the first integrated circuit pin of a first one of the plurality of data processors is coupled to a second integrated circuit pin of the second one of the plurality of data processors, the first integrated circuit pin coupling the comparison conductor to the second integrated circuit pin when the switch circuit selectively couples the first integrated circuit pin to the comparison conductor, and wherein the first integrated circuit pin transfers control information when the first one of the plurality of data processors is in a first mode of operation and the first integrated circuit pin is selectively coupled to the comparison conductor when the first one of the plurality of data processors is in a second mode of operation.
Specification