IP Library › Granted Patent US 11,467,972
Granted Patent B2
US 11,467,972 · App. 17/108,499 · Granted Oct 11, 2022

L1D to L2 eviction

Inventors: Douglas Raye Reed (Austin, TX); Colin Eddy (Austin, TX)
Assignee: CENTAUR TECHNOLOGY, INC.
G06F12/0891G06F9/30043G06F9/30047G06F12/0811G06F12/0817G06F12/0871
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,467,972
App. No.
17/108,499
Granted
Oct 11, 2022
Kind
B2
Abstract

In one embodiment, a microprocessor, comprising: a first data cache; and a second data cache configured to process both a miss in the first data cache resulting from a first load or store operation and an eviction from the first data cache to accommodate the first load or store operation, the second data cache configured to indicate to the first data cache that the eviction is complete before the eviction is actually complete based on a first state corresponding to the eviction.

Claims (28)

1. A microprocessor, comprising:

a first data cache; and

a second data cache configured to process both a miss in the first data cache resulting from a first load or store operation and an eviction from the first data cache to accommodate the first load or store operation, the second data cache configured to indicate to the first data cache that the eviction is complete before the eviction is actually complete based on a first state corresponding to the eviction.

2. The microprocessor of claim 1 , wherein the second data cache continues to process the eviction after sending the indication to the first data cache until an earlier of the eviction is actually complete by updating a directory in the second data cache or the eviction is overwritten.

3. The microprocessor of claim 1 , wherein the first state corresponds to an evicted cache line that has not been modified since its allocation into the first data cache.

4. The microprocessor of claim 1 , wherein the first state corresponds to an evicted cache line comprising an exclusive or shared MESI state.

5. The microprocessor of claim 1 , wherein the second data cache is further configured to process both a miss in the first data cache resulting from a second load or store operation and another eviction from the first data cache to accommodate the second load or store operation, the second data cache configured to indicate to the first data cache that the another eviction is pending until the another eviction is actually complete based on a second state corresponding to the another eviction.

6. The microprocessor of claim 5 , wherein the second state corresponds to an evicted cache line that has been modified and is allocated to the first data cache.

7. The microprocessor of claim 5 , wherein the second state corresponds to an evicted cache line that includes a modified MESI state.

8. A cache memory system, comprising:

an L1 data cache comprising an L1 data load queue, an L1 data store queue, and an L1 data fill queue, the L1 data fill queue configured to allocate an entry, corresponding to a first load or store operation in the L1 data store queue or the L1 data store queue, respectively, in the L1 data fill queue based on a miss in the L1 data cache and to evict first data from the L1 data cache to allocate room for the first load or store operation; and

an L2 data cache comprising an L2 data load queue configured to receive an L1 data cache allocation request for the first load or store operation and an L2 data evict queue configured to receive the first data, the entry mapped to respective entries of the L2 data load queue and the L2 data evict queue, the L2 data evict queue configured to indicate to the L1 data fill queue that the eviction of the first data is complete before the eviction is actually complete based on a first state corresponding to the first data.

9. The cache memory system of claim 8 , wherein the L2 data cache further comprises tag array and data array pipelines, wherein the L2 data evict queue is further configured to request access to the pipelines after sending the indication to the L1 data fill queue until an earlier of the eviction of the first data is actually complete by updating a directory in the L2 data cache or the eviction is overwritten by reallocated data to the same entry of the L1 data fill queue.

10. The cache memory system of claim 8 , further comprising a bus comprising a bit value configured to communicate the indication, wherein the bit value is asserted upon receiving the eviction and then immediately deasserted to enable the L1 data fill queue to evict second data when the entry is reallocated for another eviction for a second load or store operation based on another miss in the L1 data cache.

11. The cache memory system of claim 8 , wherein the first state corresponding to the first data comprises an indication that the first data has not been modified and is allocated to the L1 data cache.

12. The cache memory system of claim 8 , wherein the first state corresponding to the first data comprises an exclusive or shared MESI state.

13. The cache memory system of claim 8 , wherein the L1 data fill queue is further configured to allocate an entry, corresponding to a third load or store operation in the L1 data store queue or the L1 data store queue, respectively, based on a miss in the L1 data cache and to evict third data from the L1 data cache to allocate room for the third load or store operation, the L2 data load queue is further configured to receive an L1 data cache allocation request for the third load or store operation and the L2 data evict queue is further configured to receive the third data, the entry corresponding to the third load or store operation mapped to respective entries of the L2 data load queue and the L2 data evict queue, the L2 data evict queue configured to indicate to the L1 data fill queue that the eviction of the third data is pending until the eviction is actually complete based on a second state corresponding to the third data.

14. The cache memory system of claim 13 , wherein the second state corresponding to the third data comprises an indication that the third data has been modified and is allocated to the L1 data cache.

15. The cache memory system of claim 13 , wherein the second state corresponding to the third data includes a modified MESI state.

16. A method implemented in a cache memory system of a microprocessor, the method comprising:

processing by a second data cache both a miss in a first data cache resulting from a first load or store operation and an eviction from the first data cache to accommodate the first load or store operation; and

from the second data cache, indicating to the first data cache that the eviction is complete before the eviction is actually complete based on a first state corresponding to the eviction.

17. The method of claim 16 , further comprising the second data cache continuing to process the eviction after sending the indication to the first data cache until an earlier of the eviction is actually complete by updating a directory in the second data cache or the eviction is overwritten.

18. The method of claim 16 , wherein the first state corresponds to an evicted cache line that has not been modified and is allocated to the first data cache.

19. The method of claim 16 , further comprising the second data cache:

processing both a miss in the first data cache resulting from a second load or store operation and another eviction from the first data cache to accommodate the second load or store operation; and

indicating to the first data cache that the another eviction is pending until the another eviction is actually complete based on a second state corresponding to the another eviction.

20. The method of claim 19 , wherein the second state corresponds to an evicted cache line that has been modified and is allocated to the first data cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: REED, DOUGLAS RAYE; EDDY, COLIN
To: CENTAUR TECHNOLOGY, INC.
Reel/Frame 054506/0611 →
Continuity (1)
Related Publication 20220171712A1 · Jun 2, 2022