System and software for catenated group shift instruction
First Claim
Patent Images
1. A data processing system comprising:
- (a) a bus coupling components in the data processing system;
(b) an external memory coupled to the bus;
(c) a programmable microprocessor coupled to the bus and capable of operation independent of another host processor, the microprocessor comprising;
a virtual memory addressing unit;
an instruction path and a data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
a cache operable to retain data communicated between the external interface and the data path;
at least one register file configurable to receive and store data from the data path and to communicate the stored data to the data path; and
an execution unit coupled to the instruction and data paths and operable to decode and execute instructions received from the instruction path, wherein in response to decoding a single instruction specifying both a shift amount and a register having a register width, the number of data elements in the first plurality of data elements being inversely related to the elemental width, the register containing a first plurality of data elements having an elemental width smaller than the register width, the shift amount configurable to an amount inclusively between zero and one less than the elemental width, the execution unit is operable to;
(i) shift a subfield of each of the first plurality of data elements by the shift amount to produce a second plurality of data elements; and
(ii) provide the second plurality of data elements as a catenated result.
0 Assignments
0 Petitions
Accused Products
Abstract
A programmable processor and method for improving the performance of processors by incorporating an execution unit operable to decode and execute single instructions specifying both a shift amount and a register containing a plurality of data elements, wherein the execution unit is operable to shift a subfield of each of the plurality of data elements by the shift amount to produce a second plurality of data elements; and provide the second plurality of data elements as a catenated result.
-
Citations
39 Claims
-
1. A data processing system comprising:
-
(a) a bus coupling components in the data processing system;
(b) an external memory coupled to the bus;
(c) a programmable microprocessor coupled to the bus and capable of operation independent of another host processor, the microprocessor comprising;
a virtual memory addressing unit;
an instruction path and a data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
a cache operable to retain data communicated between the external interface and the data path;
at least one register file configurable to receive and store data from the data path and to communicate the stored data to the data path; and
an execution unit coupled to the instruction and data paths and operable to decode and execute instructions received from the instruction path, wherein in response to decoding a single instruction specifying both a shift amount and a register having a register width, the number of data elements in the first plurality of data elements being inversely related to the elemental width, the register containing a first plurality of data elements having an elemental width smaller than the register width, the shift amount configurable to an amount inclusively between zero and one less than the elemental width, the execution unit is operable to;
(i) shift a subfield of each of the first plurality of data elements by the shift amount to produce a second plurality of data elements; and
(ii) provide the second plurality of data elements as a catenated result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium:
-
having instructions that cause a computer system to perform operations, wherein at least some of the instructions comprise a group shift instruction for shifting data in a programmable processor, the group shift instruction;
specifying both a shift amount and a register having a register width, the register containing a first plurality of data elements having an elemental width smaller than the register width, the number of data elements in the first plurality of data elements being inversely related to the elemental width, the shift amount configurable to an amount inclusively between zero and one less than the elemental width;
shifting a subfield of each of the first plurality of data elements by the shift amount to produce a second plurality of data elements; and
providing the second plurality of data elements as a catenated result. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer data signal, embodied in a transmission medium:
-
having instructions that cause a computer system to perform operations, wherein at least some of the instructions comprise a group shift instruction for shifting data in a programmable processor, the group shift instruction;
specifying both a shift amount and a register having a register width, the register containing a first plurality of data elements having an elemental width smaller than the register width, the number of data elements in the first plurality of data elements being inversely related to the elemental width, the shift amount configurable to an amount inclusively between zero and one less than the elemental width;
shifting a subfield of each of the first plurality of data elements by the shift amount to produce a second plurality of data elements; and
providing the second plurality of data elements as a catenated result. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification