Back to results
US 12,498,925 B2Granted
Register file structures combining vector and scalar data with global and local accesses
AssigneeTexas Instruments Incorporated
InventorsTimothy David Anderson, Duc Quang Bui, Mel Alan Phipps, Todd T. Hahn, Joseph Zbiciak
Life of this patent
Estimating the term…
Abstract
The number of registers required is reduced by overlapping scalar and vector registers. This allows increased compiler flexibility when mixing scalar and vector instructions. Local register read ports are reduced by restricting read access. Dedicated predicate registers reduce requirements for general registers, and allows reduction of critical timing paths by allowing the predicate registers to be placed next to the predicate unit.
Claims20
A processing device comprising:
- a global register file that includes an output;
- a data forwarding structure coupled to the output of the global register file;
- a set of arithmetic units that each includes a respective input coupled to the data forwarding structure and a respective output;
- a multiply unit that includes an input coupled to the data forwarding structure in parallel with the set of arithmetic units and an output;
- a first local register file coupled to:
- the respective output of each arithmetic unit of the set of arithmetic units to receive write data of a first width from a respective arithmetic unit;
- the output of the multiply unit to receive write data of the first width from the multiply unit;
- and
- the data forwarding structure to provide a first set of read data of the first width to the data forwarding structure;
- and
- a second local register file coupled to:
- the respective output of each arithmetic unit of the set of arithmetic units to receive write data of the first width from the respective arithmetic unit;
- the output of the multiply unit to receive write data of a second width from the multiply unit, wherein the second width is different from the first width;
- and
- the data forwarding structure to provide a second set of read data of the second width to the data forwarding structure,
- wherein the data forwarding structure is configured to:
- couple the output of the global register file to the set of arithmetic units and the multiply unit;
- and
- couple the first local register file to the set of arithmetic units and couple the second local register file to the multiply unit respectively such that the set of arithmetic units is permitted to read the first set of read data from the first local register file and not the second set of read data from the second local register file and the multiply unit is permitted to read the second set of read data from the second local register file and not the first set of read data from the first local register file.
16 more elements
A processing device comprising:
- a global register file that includes an output;
- a data forwarding structure that includes:
- a global register file input coupled to the output of the global register file, a first local register file input, a second local register file input, a set of arithmetic unit outputs, and a multiply unit output;
- a set of arithmetic units that each includes a respective input coupled to a respective output of the set of arithmetic unit outputs of the data forwarding structure, and a respective output;
- a multiply unit that includes an input coupled to the multiply unit output of the data forwarding structure and an output;
- a first local register file that includes:
- a multiply unit input coupled to the output of the multiply unit;
- a set of arithmetic unit inputs each coupled to the respective output of an arithmetic unit of the set of arithmetic units;
- and
- an output coupled to the first local register file input of the data forwarding structure to provide a first set of read data of a first width;
- and
- a second local register file that includes:
- a multiply unit input coupled to the output of the multiply unit;
- a set of arithmetic unit inputs each coupled to the respective output of an arithmetic unit of the set of arithmetic units;
- and
- an output coupled to the second local register file input of the data forwarding structure to provide a second set of read data of a second width, wherein the second width of the second set of read data is different from the first width of the first set of read data,
- wherein the data forwarding structure is configured to:
- couple the output of the global register file to the set of arithmetic units and the multiply unit;
- and
- couple the first local register file to the set of arithmetic units and couple the second local register file to the multiply unit respectively such that the set of arithmetic units is permitted to read the first set of read data from the first local register file and not the second set of read data from the second local register file and the multiply unit is permitted to read the second set of read data from the second local register file and not the first set of read data from the first local register file.
17 more elements
Dependencies are inferred from the claim text.