Cache reconfiguration based on run-time performance data or software hint
First Claim
1. A method for reconfiguring cache memory, comprising:
- analyzing one or more characteristics of an execution entity accessing a cache memory;
and reconfiguring the cache dynamically based on the one or more characteristics analyzed, the step of reconfiguring including modifying associativity of the cache memory, modifying amount of the cache memory available to store data, changing coherence granularity of the cache memory, or modifying line size of the cache memory, or combination thereof.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for reconfiguring a cache memory is provided. The method in one aspect may include analyzing one or more characteristics of an execution entity accessing a cache memory and reconfiguring the cache based on the one or more characteristics analyzed. Examples of analyzed characteristic may include but are not limited to data structure used by the execution entity, expected reference pattern of the execution entity, type of an execution entity, heat and power consumption of an execution entity, etc. Examples of cache attributes that may be reconfigured may include but are not limited to associativity of the cache memory, amount of the cache memory available to store data, coherence granularity of the cache memory, line size of the cache memory, etc.
-
Citations
20 Claims
-
1. A method for reconfiguring cache memory, comprising:
-
analyzing one or more characteristics of an execution entity accessing a cache memory; and reconfiguring the cache dynamically based on the one or more characteristics analyzed, the step of reconfiguring including modifying associativity of the cache memory, modifying amount of the cache memory available to store data, changing coherence granularity of the cache memory, or modifying line size of the cache memory, or combination thereof. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for reconfiguring cache memory, comprising:
a means for analyzing one or more characteristics of an execution entity accessing a cache memory; and
a means for reconfiguring the cache dynamically based on the one or more characteristics analyzed, the means for reconfiguring including a means for modifying associativity of the cache memory, modifying amount of the cache memory available to store data, changing coherence granularity of the cache memory, or modifying line size of the cache memory, or combination thereof.- View Dependent Claims (16, 17)
-
18. A system for reconfiguring cache memory, comprising:
-
lower-level cache memory comprising at least a plurality of cache lines, at least one of the cache lines divided into a plurality of sectors; an access bit associated with each of the plurality of sectors of the lower-level cache memory, the access bit representing whether data of a sector associated with the access bit was used; higher-level cache memory comprising at least a plurality of cache lines, at least one of the cache lines divided into a plurality of sectors; a granularity bit associated with each of the plurality of sectors of the higher-level cache memory, the granularity bit representing whether data of a sector associated with the granularity bit should be cached when one or more of other sectors in the same cache line are cached into the lower-level cache memory; a processor operable to use data of one or more sectors of the lower-level cache memory, the processor further operable to update one or more access bit respectively associated with the one or more sectors; and means operable to update one or more granularity bits. - View Dependent Claims (19, 20)
-
Specification