Method and software for group data operations
First Claim
1. A method of processing data in a programmable processor, the method comprising:
- decoding instructions for execution using an execution unit coupled to a register file comprising a plurality of registers, the execution unit operable to execute instructions by partitioning data stored in registers in the register file into multiple data elements, the instructions selected from an instruction set that includes group arithmetic instructions and group data handling instructions;
in response to decoding different group arithmetic instructions, executing a plurality of different group floating-point and group integer arithmetic operations that each arithmetically operates on multiple data elements stored in registers in the register file to produce a catenated result that is returned to a register in the register file, wherein the catenated result comprises a plurality of individual results; and
in response to decoding different group data handling instructions, executing group data handling operations that re-arrange data elements in different ways,wherein the group data handling instructions include a plurality of swap instructions that each operates on variable-size segments of data in an operand register, each segment consisting of a plurality of data elements, each swap instruction reversing the order of the plurality of data elements within each segment within the operand register, to produce a catenated result returned to a register in the register file.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and software are presented for processing data in a programmable processor, involving (a) decoding instructions for execution using an execution unit operable to execute instructions by partitioning data stored in registers in a register file into multiple data elements, the instructions selected from an instruction set that includes group arithmetic instructions and group data handling instructions, (b) in response to decoding different group arithmetic instructions, executing a plurality of different group floating-point and group integer arithmetic operations that each arithmetically operates on multiple data elements stored in registers in the register file to produce a catenated result that is returned to a register in the register file, wherein the catenated result comprises a plurality of individual results, and (c) in response to decoding different group data handling instructions, executing group data handling operations that re-arrange data elements in different ways.
-
Citations
22 Claims
-
1. A method of processing data in a programmable processor, the method comprising:
-
decoding instructions for execution using an execution unit coupled to a register file comprising a plurality of registers, the execution unit operable to execute instructions by partitioning data stored in registers in the register file into multiple data elements, the instructions selected from an instruction set that includes group arithmetic instructions and group data handling instructions; in response to decoding different group arithmetic instructions, executing a plurality of different group floating-point and group integer arithmetic operations that each arithmetically operates on multiple data elements stored in registers in the register file to produce a catenated result that is returned to a register in the register file, wherein the catenated result comprises a plurality of individual results; and in response to decoding different group data handling instructions, executing group data handling operations that re-arrange data elements in different ways, wherein the group data handling instructions include a plurality of swap instructions that each operates on variable-size segments of data in an operand register, each segment consisting of a plurality of data elements, each swap instruction reversing the order of the plurality of data elements within each segment within the operand register, to produce a catenated result returned to a register in the register file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable storage medium:
-
having instructions stored thereon that instruct a computer system to perform operations using an execution unit coupled to a register file comprising a plurality of registers, by partitioning data stored in registers in the register file into multiple data elements, the instructions selected from an instruction set that includes group arithmetic instructions and group data handling instructions, the instructions including different group arithmetic instructions for performing a plurality of different group floating-point and group integer arithmetic operations that each arithmetically operates on the multiple data elements stored in registers in the register file to produce a catenated result that is returned to a register in the register file, wherein the catenated result comprises a plurality of individual results, the instructions further including different group data handling instructions that cause the execution unit to re-arrange data elements in different ways, wherein the group data handling instructions include a plurality of swap instructions that each operates on variable-size segments of data in an operand register, each segment consisting of a plurality of data elements, each swap instruction reversing the order of the plurality of data elements within each segment within the operand register, to produce a catenated result returned to a register in the register file. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification