Cache management mechanism to enable information-type dependent cache policies
First Claim
Patent Images
1. A cache comprising:
- at least one congruence class that contains a plurality of sets;
a directory that specifies a partitioning of said plurality of sets into a plurality of groups according to which of a plurality of information types each set can store, wherein at least two of said groups include a same set among said plurality of sets and at least one set among said plurality of sets can store fewer than all of said plurality of information types; and
a cache controller that concurrently implements different cache policies for at least two of said plurality of groups, wherein said cache controller implements a particular cache policy for fewer than all of said plurality of groups in response to receipt of an indication that a particular instruction has been executed by the processor, and wherein said cache controller implements said particular cache policy by selecting one of a plurality of predetermined possible settings.
1 Assignment
0 Petitions
Accused Products
Abstract
A set associative cache includes a cache controller, a directory, and an array including at least one congruence class containing a plurality of sets. The plurality of sets are partitioned into multiple groups according to which of a plurality of information types each set can store. The sets are partitioned so that at least two of the groups include the same set and at least one of the sets can store fewer than all of the information types. The cache controller then implements different cache policies for at least two of the plurality of groups, thus permitting the operation of the cache to be individually optimized for different information types.
58 Citations
13 Claims
-
1. A cache comprising:
-
at least one congruence class that contains a plurality of sets;
a directory that specifies a partitioning of said plurality of sets into a plurality of groups according to which of a plurality of information types each set can store, wherein at least two of said groups include a same set among said plurality of sets and at least one set among said plurality of sets can store fewer than all of said plurality of information types; and
a cache controller that concurrently implements different cache policies for at least two of said plurality of groups, wherein said cache controller implements a particular cache policy for fewer than all of said plurality of groups in response to receipt of an indication that a particular instruction has been executed by the processor, and wherein said cache controller implements said particular cache policy by selecting one of a plurality of predetermined possible settings. - View Dependent Claims (2, 3, 4)
-
-
5. A data processing system, comprising:
-
a processor; and
a cache, coupled to said processor, that includes;
at least one congruence class that contains a plurality of sets;
a directory that specifies a partitioning of said plurality of sets into a plurality of groups according to which of a plurality of information types each set can store, wherein at least two of said groups include a same set among said plurality of sets and at least one set among said plurality of sets can store fewer than all of said plurality of information types; and
a cache controller that concurrently implements different cache policies for at least two of said plurality of groups,wherein said cache controller implements a particular cache policy for fewer than all of said plurality of groups in response to receipt of an indication that a particular instruction has been executed by the processor, and wherein said cache controller implements said particular cache policy by selecting one of a plurality of predetermined possible settings. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of managing the storage of information in a single set associative cache having a cache controller, a directory, and an array including at least one congruence class containing a plurality of sets, wherein said cache is associated with a processor, said method comprising:
-
partitioning said plurality of sets into a plurality of groups according to which of a plurality of information types each set can store, wherein at least two of said groups include a same set among said plurality of sets and at least one set among said plurality of sets can store fewer than all of said plurality of information types; and
utilizing a cache controller of said single set associative cache, concurrently implementing different cache policies for at least two of said plurality of groups, wherein said implementing comprises selecting one of a plurality of predetermined possible settings for a particular cache policy to be applied to fewer than all of said plurality of groups in response to execution of an instruction by the processor. - View Dependent Claims (11, 12, 13)
-
Specification