Multithreaded programmable processor and system with partitioned operations
First Claim
Patent Images
1. A programmable processor comprising:
- a data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
a register file containing a plurality of registers each having a register width, the register file coupled to the data path and operable to support processing of a plurality of threads;
an execution unit coupled to the data path, the execution unit operable to execute a plurality of instruction streams from the plurality of threads, each instruction stream including a single instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result, each of the data elements having an elemental width smaller than the register width.
0 Assignments
0 Petitions
Accused Products
Abstract
A programmable processor and method 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.
99 Citations
24 Claims
-
1. A programmable processor comprising:
-
a data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
a register file containing a plurality of registers each having a register width, the register file coupled to the data path and operable to support processing of a plurality of threads;
an execution unit coupled to the data path, the execution unit operable to execute a plurality of instruction streams from the plurality of threads, each instruction stream including a single instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result, each of the data elements having an elemental width smaller than the register width. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A programmable processor comprising:
-
a data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
first and second register files containing a plurality of registers each having a register width, the first and second register files coupled to the data path and operable to support processing of first and second threads, respectively;
an execution unit coupled to the data path, the execution unit operable to execute first and second instruction streams from the first and second threads, respectively, the first and second instruction streams each including a single instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result, each of the data elements having an elemental width smaller than the register width. - View Dependent Claims (9, 10, 11, 12)
-
-
13. 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 data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
a register file containing a plurality of registers each having a register width, the register file coupled to the data path and operable to support processing of a plurality of threads;
an execution unit coupled to the data path, the execution unit operable to execute a plurality of instruction streams from the plurality of threads, each instruction stream including a single instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result, each of the data elements having an elemental width smaller than the register width. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. 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 data path;
an external interface operable to receive data from an external source and communicate the received data over the data path;
first and second register files containing a plurality of registers each having a register width, the first and second register files coupled to the data path and operable to support processing of first and second threads, respectively;
an execution unit coupled to the data path, the execution unit operable to execute first and second instruction streams from the first and second threads, respectively, the first and second instruction streams each including a single instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result, each of the data elements having an elemental width smaller than the register width. - View Dependent Claims (21, 22, 23, 24)
-
Specification