Multiple variable cache replacement policy
First Claim
1. A method for selecting a candidate to mark as overwritable in the event of a cache miss, comprising:
- receiving a cache access request, wherein said cache access request is associated with a main memory address;
determining whether the contents of said main memory address are present in a data cache;
associating, when the contents of said main memory address are not present in said data cache, said main memory address with a set within said data cache, wherein said set includes a plurality of ways;
determining whether any of said plurality of ways is an invalid way;
choosing, when said invalid way exists, said invalid way as the candidate;
where no said invalid way exists among said set, applying a cache replacement policy to select a way among said set as a preliminary candidate, wherein said cache replacement policy is based on the state of at least one affected resource.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for selecting a candidate to mark as overwritable in the event of a cache miss while attempting to avoid a write back operation. The method includes associating a set of data with the cache access request, each datum of the set is associated with a way, then choosing an invalid way among the set. Where no invalid ways exist among the set, the next step is determining a way that is not most recently used among the set. Next, the method determines whether a shared resource is crowded . When the shared resource is not crowded, the not most recently used way is chosen as the candidate. Where the shared resource is crowded, the next step is to determine whether the not most recently used way differs from an associated source in the memory and where the not most recently used way is the same as an associated source in the memory, the not most recently used way is chosen as the candidate. Where the not most recently used way differs from an associated source in the memory, the candidate is chosen as the way among the set that does not differ from an associated source in the memory. Where all ways among the set differ from respective sources in the memory, the not most recently used way is chosen as the candidate and the not most recently used way is stored in the shared resource.
-
Citations
18 Claims
-
1. A method for selecting a candidate to mark as overwritable in the event of a cache miss, comprising:
-
receiving a cache access request, wherein said cache access request is associated with a main memory address;
determining whether the contents of said main memory address are present in a data cache;
associating, when the contents of said main memory address are not present in said data cache, said main memory address with a set within said data cache, wherein said set includes a plurality of ways;
determining whether any of said plurality of ways is an invalid way;
choosing, when said invalid way exists, said invalid way as the candidate;
where no said invalid way exists among said set, applying a cache replacement policy to select a way among said set as a preliminary candidate, wherein said cache replacement policy is based on the state of at least one affected resource. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system for selecting a candidate to mark as overwritable in the event of a cache miss comprising:
-
a main memory;
a data cache that is shared by a plurality of processing units;
an address input for receiving a main memory address in said main memory;
a hit/miss circuit that determines whether the contents of said main memory address are present in said data cache;
a cache control circuit that associates said main memory address with a set within said data cache when the contents of said main memory address are not present in said data cache, wherein said set includes a plurality of ways;
an invalidity circuit that determines whether any of said plurality of ways is an invalid way and that selects said invalid way as the candidate;
a cache replacement circuit that, where no invalid ways exist among said set, applies a cache replacement policy to select a way among said set as a preliminary candidate, wherein said cache replacement policy is based on the state of at least one affected resource. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A circuit that selects a candidate to mark as overwritable in the event of a cache miss, comprising:
-
logic that receives a cache access request, wherein said cache access request is associated with a main memory address;
logic that determines whether the contents of said main memory address are present in a data cache;
logic that associates, when the contents of said main memory address are not present in said data cache, said main memory address with a set within said data cache, wherein said set includes a plurality of ways;
logic that determines whether any of said plurality of ways is an invalid way;
logic that selects, if said invalid way exists, said invalid way as the candidate;
where no said invalid way exists among said set, performing a cache replacement logic to select a way among said set as a preliminary candidate, wherein said cache replacement logic is based on the state of at least one affected resource. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification