IP Library › Granted Patent US 11,989,072
Granted Patent B2
US 11,989,072 · App. 17/838,368 · Granted May 21, 2024

Controlling the number of powered vector lanes via a register field

Inventors: Timothy David Anderson (University Park, TX); Duc Quang Bui (Grand Prairie, TX)
Assignee: Texas Instruments Incorporated
G06F1/28G06F1/3206G06F1/3243G06F1/3287G06F9/30014G06F9/30018G06F9/30036G06F9/30072G06F9/30109G06F9/30112G06F9/3013G06F9/3887G06F13/26G06F9/3004G06F9/30105G06F9/3016Y02D10/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,989,072
App. No.
17/838,368
Granted
May 21, 2024
Kind
B2
Abstract

The vector data path is divided into smaller vector lanes. A register such as a memory mapped control register stores a vector lane number (VLX) indicating the number of vector lanes to be powered. A decoder converts this VLX into a vector lane control word, each bit controlling the ON of OFF state of the corresponding vector lane. This number of contiguous least significant vector lanes are powered. In the preferred embodiment the stored data VLX indicates that 2 VLX contiguous least significant vector lanes are to be powered. Thus the number of vector lanes powered is limited to an integral power of 2. This manner of coding produces a very compact controlling bit field while obtaining substantially all the power saving advantage of individually controlling the power of all vector lanes.

Claims (50)

1. A processor device comprising:

a vector data path that includes a set of vector lanes;

a register configured to store a set of data that specifies whether a subset of the set of vector lanes is powered on;

a decoder coupled to the register and the vector data path and configured to cause the subset of the set of vector lanes to be powered on based on the set of data stored in the register; and

a memory coupled to the decoder, wherein the processor device is configured to:

receive an interrupt;

based on the interrupt, copy the set of data from the register to the memory; and

service the interrupt; and

based on completion of servicing of the interrupt, copy the set of data from the memory to the register.

2. The processor device of claim 1 , wherein:

the subset of the set of vector lanes is a first subset; and

the decoder is configured to cause a second subset of the set of vector lanes to be powered on during servicing of the interrupt.

3. The processor device of claim 1 , wherein the set of data is configured to specify a number of lanes in the subset as a power of two.

4. The processor device of claim 1 , wherein the set of data has fewer bits than the number of lanes in the set of vector lanes.

5. The processor device of claim 1 , wherein the subset of the set of vector lanes is a contiguous set of least significant vector lanes.

6. The processor device of claim 1 , wherein the decoder is configured to cause the set of vector lanes to be powered on from least significant to most significant.

7. The processor device of claim 1 , wherein:

the register configured to store an instruction; and

the set of data that specifies whether the subset of the set of vector lanes is powered on is a field of the instruction.

8. The processor device of claim 1 , wherein the decoder is configured to cause the subset of the set of vector lanes to be powered on by providing a vector lane control word that includes a set of bits such that each bit of the set of bits corresponds to a respective lane of the set of vector lanes.

9. A method comprising:

storing a set of data in a register that specifies a subset of a set of vector lanes of a processor to power on;

causing the subset of the set of vector lanes to be powered on based on the set of data;

receiving an interrupt;

based on the interrupt, copying the set of data from the register to a memory;

servicing the interrupt; and

based on completion of servicing of the interrupt, copying the set of data from the memory to the register.

10. The method of claim 9 , wherein:

the subset of the set of vector lanes is a first subset; and

the method further comprises causing a second subset of the set of vector lanes to be powered on during servicing of the interrupt.

11. The method of claim 9 , wherein the set of data specifies a number of lanes in the subset by a power of two.

12. The method of claim 9 , wherein the set of data has fewer bits than the number of lanes in the set of vector lanes.

13. The method of claim 9 , wherein the subset of the set of vector lanes is a contiguous set of least significant vector lanes.

14. The method of claim 9 , wherein:

the method further includes receiving an instruction that includes a field that specifies the set of data that specifies whether the subset of the set of vector lanes is powered on; and

the storing of the set of data in the register includes storing the instruction.

15. The method of claim 9 , wherein the causing of the subset of the set of vector lanes to be powered on includes providing a control word that includes a set of bits such that each bit of the set of bits corresponds to a respective lane of the set of vector lanes.

16. A method comprising:

storing a set of data in a register that specifies a subset of a set of vector lanes of a processor to power on;

causing the subset of the set of vector lanes to be powered on based on the set of data;

receiving an interrupt;

based on the interrupt, copying contents of the register including the set of data from the register to a memory;

servicing the interrupt; and

based on completion of servicing of the interrupt, setting the register to a default value.

17. The method of claim 16 , wherein the default value specifies to power on one of the set of vector lanes or to power on all of the set of vector lanes.

18. The method of claim 16 , wherein:

the subset of the set of vector lanes is a first subset; and

the method further comprises causing a second subset of the set of vector lanes to be powered on during servicing of the interrupt.

19. The method of claim 16 , wherein the set of data specifies a number of lanes in the subset by a power of two.

20. The method of claim 16 , wherein the set of data has fewer bits than the number of lanes in the set of vector lanes.

Continuity (5)
Continuation 16983451 · Aug 3, 2020
Continuation 15638407 · Jun 30, 2017
Continuation In Part 14326928 · Jul 9, 2014
Provisional Application 61844124 · Jul 9, 2013
Related Publication 20220308648A1 · Sep 29, 2022
Cited By (2)
US 12,366,906 US 12,455,740