IP Library › Granted Patent US 11,620,229
Granted Patent B2
US 11,620,229 · App. 16/797,476 · Granted Apr 4, 2023

Data cache with prediction hints for cache hits

Inventors: John Ingalls (Sunnyvale, CA); Josh Smith (San Francisco, CA)
Assignee: SiFive, Inc.
G06F12/0888G06F12/0862G06F2212/603G06F2212/6028
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,620,229
App. No.
16/797,476
Granted
Apr 4, 2023
Kind
B2
Abstract

Described is a data cache with prediction hints for a cache hit. The data cache includes a plurality of cache lines, where a cache line includes a data field, a tag field, and a prediction hint field. The prediction hint field is configured to store a prediction hint which directs alternate behavior for a cache hit against the cache line. The prediction hint field is integrated with the tag field or is integrated with a way predictor field.

Claims (35)

1. A data cache comprising:

a plurality of cache lines, at least one cache line comprising:

a data field;

a tag field;

a way predictor field; and

a prediction hint field, wherein the prediction hint field stores an alternate instruction behavior and an instruction of a pre-determined instruction type, wherein the alternate instruction behavior is performed responsive to a determination that an issued instruction matches the instruction.

2. The data cache of claim 1 , wherein the prediction hint field is integrated with the tag field.

3. The data cache of claim 1 ,

wherein the prediction hint field is integrated with the way predictor field.

4. The data cache of claim 1 , wherein the data cache is a LI data cache.

5. The data cache of claim 1 , wherein the pre-determined instruction type is an instruction which is repeatedly being re-executed.

6. The data cache of claim 1 , wherein the at least one cache line is a subset of the plurality of cache lines.

7. The data cache of claim 1 , wherein the alternate instruction behavior is a disable load data return in response to unknown Read-After-Write hazard.

8. The data cache of claim 1 , wherein the alternate instruction behavior is a speculative store bypass disable.

9. The data cache of claim 1 , wherein certain prediction hint fields are unpopulated.

10. A data cache comprising:

a data array;

a tag array;

a way predictor field; and

a prediction hint field, wherein the prediction hint field stores alternate instruction behavior and an instruction of a pre-determined instruction type, wherein the alternate instruction behavior is performed responsive to a determination that an issued instruction matches the instruction.

11. The data cache of claim 10 , wherein each entry of the tag array has an integrated prediction hint field.

12. The data cache of claim 11 , wherein certain prediction hint fields are unpopulated.

13. The data cache of claim 10 ,

wherein each entry in the way predictor array has an integrated prediction hint field.

14. The data cache of claim 10 , wherein the alternate instruction behavior is a disable load data return in response to unknown Read-After-Write hazard.

15. The data cache of claim 10 , wherein the alternate instruction behavior is a speculative store bypass disable.

16. The data cache of claim 10 , wherein the alternate instruction behavior is an alternate instruction.

17. A method for providing prediction hints using a data cache, the method comprising:

storing alternate instruction behavior and an instruction of a pre-determined instruction type in a prediction hint element for certain cache lines in a way predictor of the data cache;

comparing an issued instruction to the instruction stored in the prediction hint element; and

performing the alternate instruction behavior responsive to a determination that an issued instruction matches the instruction.

18. The method of claim 17 , wherein the alternate instruction behavior is a disable load data return in response to unknown Read-After-Write hazard.

19. The method of claim 18 , wherein the alternate instruction behavior is a speculative store bypass disable.

20. The method of claim 19 ,

wherein the pre-determined instruction type is an instruction which is repeatedly being re-executed.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT APPLICATION NUMBER 16/787,476 PREVIOUSLY RECORDED ON REEL 051888 FRAME 0307. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 14, 2023
From: INGALLS, JOHN; SMITH, JOSH
To: SIFIVE, INC.
Reel/Frame 063348/0336 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 51888 FRAME: 307. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 1, 2020
From: INGALLS, JOHN; SMITH, JOSH
To: SIFIVE, INC.
Reel/Frame 052281/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2020
From: INGALLS, JOHN; SMITH, JOSH
To: SIFIVE, INC.
Reel/Frame 051888/0307 →
Continuity (1)
Related Publication 20210263854A1 · Aug 26, 2021