Method and software for multithreaded processor with partitioned operations
First Claim
Patent Images
1. A method of executing a plurality of threads within a single programmable processor, the method comprising:
- storing a plurality of data elements in partitioned fields of at least one register having a register width, each of the data elements having an elemental width smaller than the register width;
receiving an instruction stream for each one of the plurality of threads at an execution unit; and
executing instructions from each instruction stream received at the execution unit in a multistage pipeline such that, at a given time, the multistage pipeline includes instructions from different ones of the instruction streams in different stages of the multistage pipeline, the instructions including a single instruction that specifies an operation to cause multiple instances of the operation to be performed, each instance of the operation to be performed using a different one of the plurality of data elements in partitioned fields of the at least one register to produce a catenated result.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and software for improving the performance of processors by incorporating an execution unit configurable to execute a plurality of instruction streams from the plurality of threads, wherein each instruction stream includes a group instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result.
201 Citations
10 Claims
-
1. A method of executing a plurality of threads within a single programmable processor, the method comprising:
-
storing a plurality of data elements in partitioned fields of at least one register having a register width, each of the data elements having an elemental width smaller than the register width; receiving an instruction stream for each one of the plurality of threads at an execution unit; and executing instructions from each instruction stream received at the execution unit in a multistage pipeline such that, at a given time, the multistage pipeline includes instructions from different ones of the instruction streams in different stages of the multistage pipeline, the instructions including a single instruction that specifies an operation to cause multiple instances of the operation to be performed, each instance of the operation to be performed using a different one of the plurality of data elements in partitioned fields of the at least one register to produce a catenated result. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium:
-
encoded with instructions includina an instruction stream for each one of a plurality of threads that instruct a computer system to perform operations comprising, storing a plurality of data elements in partitioned fields of at least one register having a register width, each of the data elements having an elemental width smaller than the register width; receiving an instruction stream for each one of the plurality of threads at an execution unit; executing instructions from each instruction stream received at the execution unit in a multistage pipeline such that, at a given time, the multistage pipeline includes instructions from different ones of the instruction streams in different stages of the multistage pipeline, the instructions including a single instruction that specifies an operation to cause multiple instances of the operation to be performed, each instance of the operation to be performed using a different one of the plurality of data elements in partitioned fields of the at least one register to produce a catenated result. - View Dependent Claims (7, 8, 9, 10)
-
Specification