Software-controlled cache set management with software-generated class identifiers
First Claim
Patent Images
1. A computing system, comprising:
- a plurality of memory regions each having a different address range and a corresponding class identifier;
a range register coupled to receive an address and configured to produce;
(i) the class identifier corresponding to the memory region having an address range that includes the received address, or (ii) a default class identifier in the event that none of the memory regions has an address range that includes the received address;
a cache comprising a plurality of sets;
a replacement management table (RMT) having a plurality of entries, wherein each of the entries corresponds to one of the class identifiers and to one of the sets of the cache, and wherein the entries of the RMT are configured to store data that define the sets of the cache that may be used to store data retrieved from each of the memory regions, and wherein the RMT is coupled to receive the class identifier produced by the range register and configured to produce a tag replacement control indicia dependent on the received class identifier, and wherein the tag replacement control indicia is indicative of the sets of the cache that may be used to store data retrieved from one of the memory regions having the received class identifier; and
wherein the cache is coupled to receive data retrieved from one of the memory regions and the tag replacement control indicia, and configured to store the received data in one of the sets of the cache dependent upon the tag replacement control indicia.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for selectively overwriting sets of a cache as a function of a replacement management table and a least recently used function. A class identifier is created as a function of an address miss. A replacement management table is employable to read the class identifier to create a tag replacement control indicia. The cache, comprising a plurality of sets, is employable to disable the replacement of at least one of the plurality of sets as a function of the tag replacement control indicia.
-
Citations
19 Claims
-
1. A computing system, comprising:
-
a plurality of memory regions each having a different address range and a corresponding class identifier; a range register coupled to receive an address and configured to produce;
(i) the class identifier corresponding to the memory region having an address range that includes the received address, or (ii) a default class identifier in the event that none of the memory regions has an address range that includes the received address;a cache comprising a plurality of sets; a replacement management table (RMT) having a plurality of entries, wherein each of the entries corresponds to one of the class identifiers and to one of the sets of the cache, and wherein the entries of the RMT are configured to store data that define the sets of the cache that may be used to store data retrieved from each of the memory regions, and wherein the RMT is coupled to receive the class identifier produced by the range register and configured to produce a tag replacement control indicia dependent on the received class identifier, and wherein the tag replacement control indicia is indicative of the sets of the cache that may be used to store data retrieved from one of the memory regions having the received class identifier; and wherein the cache is coupled to receive data retrieved from one of the memory regions and the tag replacement control indicia, and configured to store the received data in one of the sets of the cache dependent upon the tag replacement control indicia. - View Dependent Claims (2, 3, 4, 5, 6, 7, 18, 19)
-
-
8. A method of configuring replacement eligibility of at least one set in a cache comprising a plurality of sets, the method comprising:
-
creating a class identifier for each of a plurality of memory regions having a different address range by class identifier creation software; receiving an address; using the address to produce;
(i) the class identifier corresponding to the memory region having an address range that includes the received address, or (ii) a default class identifier in the event that none of the memory regions has an address range that includes the received address;using the produced class identifier to create a tag replacement control indicia through employment of a replacement management table, wherein the tag replacement control indicia is indicative of the sets of the cache that may be used to store data retrieved from one of the memory regions having the produced class identifier; and configuring the replacement eligibility of the at least one set in the cache as a function of the tag replacement control indicia. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for configuring replacement eligibility of at least one set in a cache comprising a plurality of sets, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:
-
computer code for creating a class identifier for each of a plurality of memory regions, wherein each of the memory regions has a different address range; computer code for using a received address to produce;
(i) the class identifier corresponding to the memory region having an address range that includes the received address, or (ii) a default class identifier in the event that none of the memory regions has an address range that includes the received address;computer code for using the produced class identifier to create a tag replacement control indicia through employment of a replacement management table, wherein the tag replacement control indicia is indicative of the sets of the cache that may be used to store data retrieved from one of the memory regions having the produced class identifier; and computer code for configuring the replacement eligibility of the at least one set in the cache as a function of the tag replacement control indicia. - View Dependent Claims (16)
-
-
17. A processor comprising:
-
a plurality of memory regions each having a different address range; a cache comprising a plurality of sets; computer code for creating a class identifier for each of the memory regions; computer code for using a received address to produce;
(i) the class identifier corresponding to the memory region having an address range that includes the received address, or (ii) a default class identifier in the event that none of the memory regions has an address range that includes the received address;computer code for using the produced class identifier to create a tag replacement control indicia through employment of a replacement management table, wherein the tag replacement control indicia is indicative of the sets of the cache that may be used to store data retrieved from one of the memory regions having the produced class identifier; and computer code for configuring the replacement eligibility of the at least one set in the cache as a function of the tag replacement control indicia.
-
Specification