IP Library › Granted Patent US 11,934,310
Granted Patent B2
US 11,934,310 · App. 17/581,162 · Granted Mar 19, 2024

Zero bits in L3 tags

Inventors: Douglas Raye Reed (Austin, TX); Al Loper (Austin, TX); Terry Parks (Austin, TX)
Assignee: CENTAUR TECHNOLOGY, INC.
G06F12/0811G06F12/0817G06F12/0853G06F12/0891
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,934,310
App. No.
17/581,162
Granted
Mar 19, 2024
Kind
B2
Abstract

In one embodiment, a microprocessor, comprising: plural cores, each of the cores comprising a level 1 (L1) cache and a level 2 (L2) cache; and a shared level 3 (L3) cache comprising plural L3 tag array entries, wherein a first portion of the plural L3 tag array entries is associated with data and a second portion of the plural L3 tag array entries is decoupled from data, wherein each L3 tag array entry comprises tag information and data zero information, the data zero information indicating whether any data associated with the tag information is known to be zero or not.

Claims (24)

1. A microprocessor, comprising:

plural cores, each of the cores comprising a level 1 (L1) cache and a level 2 (L2) cache; and

a shared level 3 (L3) cache comprising plural L3 tag array entries, wherein a first portion of the plural L3 tag array entries is associated with data in the shared L3 cache and a second portion of the plural L3 tag array entries is decoupled from data in the shared L3 cache and available in the L2 cache of one of the plural cores, wherein each L3 tag array entry comprises tag information and data zero information, the data zero information indicating whether any data associated with the tag information is known to be zero or not.

2. The microprocessor of claim 1 , wherein based on a load request hit in the shared L3 cache and the data zero information indicating that the data associated with the tag information is known to be zero, the shared L3 cache is configured to return a data value of zero without performing a data read.

3. The microprocessor of claim 1 , wherein each L3 tag array entry further comprises MESI information, core valid information, and one or a combination of data way information or data valid information, wherein based on a load request hit in the shared L3 cache and the data zero information not indicating that the data associated with the tag information is known to be zero, the shared L3 cache is configured to determine whether non-zero data is associated with the tag information or not.

4. The microprocessor of claim 3 , wherein based on determining that non-zero data is associated with the tag information, the shared L3 cache is configured to return the non-zero data.

5. The microprocessor of claim 3 , wherein determining whether non-zero data is associated with the tag information or not is based on an assessment of the data way information or the data valid information.

6. The microprocessor of claim 3 , wherein based on determining that non-zero data is not associated with the tag information, the shared L3 cache is configured to determine at least one of the plural cores to satisfy the load request.

7. The microprocessor of claim 1 , wherein based on a load request miss in the shared L3 cache, allocating into an invalid way or evicting a way.

8. The microprocessor of claim 1 , wherein the shared L3 cache comprises a non-inclusive cache, inclusive directory arrangement.

9. The microprocessor of claim 1 , wherein the plural L3 tag array entries correspond to plural ways, and wherein based on one of the plural cores performing a store or writeback of all zeroes, the shared L3 cache is configured to forego allocating data storage for a corresponding way and instead set a bit of the data zero information.

10. The microprocessor of claim 1 , wherein the data zero information consists of a single bit.

11. A method for handling zero valued data in a microprocessor comprising plural cores, each of the cores comprising a level 1 (L1) cache and a level 2 (L2) cache, the microprocessor further comprising a shared level 3 (L3) cache comprising plural L3 tag array entries, each of the plural L3 tag array entries comprising tag information, wherein a first portion of the plural L3 tag array entries is associated with data in the shared L3 cache and a second portion of the plural L3 tag array entries is decoupled from data in the shared L3 cache and available in the L2 cache of one of the plural cores, the method comprising:

receiving a load request at the shared L3 cache; and

returning a data value of zero without performing a data read based on a load request hit in the shared L3 cache.

12. The method of claim 11 , wherein returning a data value of zero is based on data zero information of one of the plural L3 tag entries indicating that the data associated with the tag information is known to be zero.

13. The method of claim 12 , wherein each of the plural L3 tag array entries further comprises MESI information, core valid information, and one or a combination of data way information or data valid information, wherein based on a load request hit in the shared L3 cache and the data zero information not indicating that the data associated with the tag information is known to be zero, determining whether non-zero data is associated with the tag information or not.

14. The method of claim 13 , wherein based on determining that non-zero data is associated with the tag information, returning the non-zero data.

15. The method of claim 13 , wherein determining whether non-zero data is associated with the tag information or not is based on an assessing the data way information or the data valid information.

16. The method of claim 13 , wherein based on determining that non-zero data is not associated with the tag information, determining at least one of the plural cores to satisfy the load request.

17. The method of claim 12 , wherein the data zero information consists of a single bit.

18. The method of claim 12 , wherein the plural L3 tag array entries correspond to plural ways, and wherein based on one of the plural cores performing a store or writeback of all zeroes, forego allocating data storage for a corresponding way and instead setting a bit of the data zero information.

19. The method of claim 11 , further comprising allocating into an invalid way or evicting a way based on a load request miss in the shared L3 cache.

20. The method of claim 11 , wherein the shared L3 cache comprises a non-inclusive cache, inclusive directory arrangement.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: REED, DOUGLAS RAYE; LOPER, AL; PARKS, TERRY
To: CENTAUR TECHNOLOGY, INC.
Reel/Frame 058725/0471 →
Continuity (1)
Related Publication 20230236972A1 · Jul 27, 2023