IP Library Granted Patent US 7,694,075
Granted Patent B1
US 7,694,075 · App. 11/076,323 · Granted Apr 6, 2010

System for enabling and disabling cache and a method thereof

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 7,694,075
App. No.
11/076,323
Granted
Apr 6, 2010
Kind
B1
Abstract

A second cache (e.g., L2 cache) is enabled or disabled based at least in part on an utilization of a first cache (e.g., L1 cache). The utilization of the first cache may be interpreted as an estimation of the likely utilization of the second cache. The utilization may be estimated by monitoring, for example, the eviction rates of the first cache or other caches, by monitoring the proportion of ways of the first cache used by an instruction stream, or by monitoring the duration between certain instructions executed by the processor, such as the duration between suspend operations.

Claims (41)

1. A method comprising:

determining a representative duration between occurrences of a predetermined instruction executed by a processor; and

disabling a cache of the processor when the representative duration exceeds a first predetermined threshold.

2. The method of claim 1 , wherein disabling the cache comprises clock gating the cache.

3. The method of claim 1 , wherein disabling the cache comprises isolating the cache from a power domain.

4. The method of claim 1 , further comprising:

enabling the cache when the representative duration exceeds a second predetermined threshold.

5. The method of claim 1 , wherein the cache comprises a L2 cache.

6. The method of claim 1 , wherein the predetermined instruction includes a suspend operation.

7. The method of claim 6 , wherein the suspend operation includes a suspend-on-halt operation.

8. The method of claim 1 , wherein the representative duration includes one of an average duration between the occurrences of the predetermined instructions or a count of the occurrences of the predetermined instructions within a predetermined sliding time window.

9. A method comprising:

disabling a second cache of a processor when an eviction rate of a first cache of the processor exceeds a first predetermined threshold; and

enabling the second cache when the eviction rate of the first cache exceeds a second threshold.

10. The method of claim 9 , wherein disabling the second cache comprises clock gating the second cache.

11. The method of claim 9 , wherein disabling the second cache comprises isolating the second cache from a power domain.

12. The method of claim 9 , wherein the first cache is accessed by the processor before the second cache.

13. The method of claim 12 , wherein the first cache is a L1 cache and the second cache is a L2 cache.

14. A processor comprising:

a cache; and

a cache controller operably coupled to the cache, the cache controller to:

determine a representative duration between a sequence of suspend operations executed by the processor; and

initiate a disablement of the cache when the representative duration exceeds a first predetermined threshold.

15. The processor of claim 14 , wherein initiating the disablement of the cache comprises initiating a clock gating of the cache.

16. The processor of claim 15 , wherein initiating the disablement of the cache comprises initiating an isolation of the cache from a power domain.

17. The processor of claim 15 , wherein the cache controller is further to:

initiate an enablement of the cache when the representative duration exceeds a second predetermined threshold.

18. The processor of claim 15 , wherein the cache comprises a L2 cache.

19. The processor of claim 15 , wherein the predetermined instruction includes a suspend operation.

20. The processor of claim 19 , wherein the suspend operation includes a suspend-on-halt operation.

21. The processor of claim 15 , wherein the representative duration includes one of an average duration between the occurrences of the predetermined instructions or a count of the occurrences of the predetermined instructions within a predetermined sliding time window.

22. A processor comprising:

a first cache having a plurality of ways;

a second cache; and

a cache controller operably coupled to the first cache and the second cache, the cache controller to:

initiate a disablement of the second cache when an eviction rate of the first cache exceeds a first predetermined threshold; and

initiate an enablement of the second cache when the eviction rate of the first cache exceeds a second threshold.

23. The processor of claim 22 , wherein initiating the disablement of the second cache comprises initiating a clock gating of the second cache.

24. The processor of claim 22 , wherein initiating the disablement of the second cache comprises initiating an isolation of the second cache from a power domain.

25. The processor of claim 22 , wherein the first cache is accessed by the processor before the second cache.

26. The processor of claim 25 , wherein the first cache is a L1 cache and the second cache is a L2 cache.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: GLOBALFOUNDRIES US INC.
To: MEDIATEK INC.
Reel/Frame 055173/0781 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →