General purpose register file architecture for aligned simd
First Claim
Patent Images
1. An apparatus comprising:
- a register pair adapted to store two grouped words comprising in aggregate up to 2n operands, the register pair including a first register and a second register;
a control unit operative to;
prime the apparatus for aligning a plurality of grouped words in a data array by loading first and second grouped words from said plurality of grouped words into the register pair and determining an alignment state of at least one of said first and second grouped words in a first alignment operation; and
load a next one of said plurality of grouped words into one of said first and second registers in each of a plurality of subsequent alignment operations andan operand selector adapted to select n operands from the two grouped words in said register pair and output an aligned grouped word comprising said n operands in response to a control signal indicative of the alignment state of said two grouped words in each of the first and said subsequent alignment operations,whereinthe operand selector is connected to one or more execution units such that the aligned group word is output from the operand selector directly to the execution units, andin each of the subsequent alignment operations, the control unit loads only one grouped word from said plurality of grouped words into the register pair and the operand selector outputs one aligned grouped word from said register pair.
3 Assignments
0 Petitions
Accused Products
Abstract
A register file architecture in a general purpose digital signal processor (DSP) supports alignment independent SIMD (Single Instruction/Multiple Data) operations. The register file architecture includes a register pair and an alignment multiplexer. Two 32 bit grouped words may be loaded into the register pair. Each grouped word includes four 8 bit operands. The alignment state of the 32 bit words may be determined by the two least significant bits (LSBs) of the pointer addresses of the grouped words. These LSBs are used to control the alignment MUX to select n operands from the two 32 bit grouped words and output an aligned 32 bit grouped word to execution units for parallel processing.
21 Citations
35 Claims
-
1. An apparatus comprising:
-
a register pair adapted to store two grouped words comprising in aggregate up to 2n operands, the register pair including a first register and a second register; a control unit operative to; prime the apparatus for aligning a plurality of grouped words in a data array by loading first and second grouped words from said plurality of grouped words into the register pair and determining an alignment state of at least one of said first and second grouped words in a first alignment operation; and load a next one of said plurality of grouped words into one of said first and second registers in each of a plurality of subsequent alignment operations and an operand selector adapted to select n operands from the two grouped words in said register pair and output an aligned grouped word comprising said n operands in response to a control signal indicative of the alignment state of said two grouped words in each of the first and said subsequent alignment operations, wherein the operand selector is connected to one or more execution units such that the aligned group word is output from the operand selector directly to the execution units, and in each of the subsequent alignment operations, the control unit loads only one grouped word from said plurality of grouped words into the register pair and the operand selector outputs one aligned grouped word from said register pair. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A video processor comprising:
-
a memory to store instructions to perform video processing operations; a digital signal processor comprising; a register pair adapted to store two grouped words comprising in aggregate up to 2n operands, the register pair including a first register and a second register; a control unit operative to; prime the apparatus for aligning a plurality of grouped words in a data array by loading first and second grouped words from said plurality of grouped words into the register pair and determining an alignment state of at least one of said first and second grouped words in a first alignment operation; and load a next one of said plurality of grouped words into one of said first and second registers in each of a plurality of subsequent alignment operations; and an operand selector adapted to select n operands from the two grouped words in said register pair and output an aligned grouped word comprising said n operands in response to a control signal indicative of the alignment state of said two grouped words in each of the first and said subsequent alignment operations, wherein the operand selector is connected to one or more execution units such that the aligned group word is output from the operand selector directly to the execution units, and in each of the subsequent alignment operations, the control unit loads only one grouped word from said plurality of grouped words into the register pair and the operand selector outputs one aligned grouped word from said register pair. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method comprising:
-
loading a first grouped word comprising n operands into a register pair; loading a second grouped word comprising n operands into the register pair; determining an alignment state of said first and second words; selecting n operands from the 2n operands in the first and second grouped words in the register pair in response to the determined alignment state, the n operands selected by an operand selector; outputting from the operand selector directly to one or more execution units an aligned grouped word comprising n operands; loading a third grouped word comprising n operands; selecting n operands from the 2n operands in the second and third grouped words in response to the determined alignment state; and outputting from the operand selector directly to the execution units a second aligned grouped word comprising n operands. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. An apparatus, including instructions residing on a machine-readable medium, for use aligning operands in a grouped word, the instructions causing the machine to:
-
load a first grouped word comprising n operands into a register pair; load a second grouped word comprising n operands into the register pair; determine an alignment state of said first and second words; select n operands from the 2n operands in the first and second grouped words in the register pair in response to the determined alignment state, the n operands selected by an operand selector; output from the operand selector directly to one or more execution units an aligned grouped word comprising n operands; load a third grouped word comprising n operands; select n operands from the 2n operands in the second and third grouped words in response to the determined alignment state; and output from the operand selector directly to the execution units a second aligned grouped word comprising n operands. - View Dependent Claims (32, 33, 34, 35)
-
Specification