LRU pointer updating in a controller for two-way set associative cache
First Claim
1. A method of selecting a way within a cache directory for storing a received tag address, the received tag address being associated with data to be stored in a cache, associated with the cache directory, the cache directory comprising first and second ways each configured to store a tag address, the method comprising the steps of:
- automatically maintaining a pointer for identifying either the first or the second way as storing a tag address associated with data stored within the cache that has been least recently used; and
selecting the first way for storage of the received tag address if the first way is identified by the pointer.
0 Assignments
0 Petitions
Accused Products
Abstract
A cache controller tag random access memory (RAM) is configured into two ways, each way including tag and valid-bit storage for associatively searching a directory for cache data-array addresses. The two ways, a right way and a left way, each store tag addresses. There are two lines selected during a line fill to one of the ways. A least recently used (LRU) pointer selects which way to fill on a line fill cycle. The right way is selected for a line fill in response to right hit signal provided that the LRU pointer points to the right way. The LRU pointer is flipped to point to the left way upon the filling of the right line of the right way. The left way is selected for a line fill in response to a left hit signal provided that the LRU pointer points to the left way. The LRU pointer is flipped to point to the right way upon the filling of the left line of the left way.
-
Citations
20 Claims
-
1. A method of selecting a way within a cache directory for storing a received tag address, the received tag address being associated with data to be stored in a cache, associated with the cache directory, the cache directory comprising first and second ways each configured to store a tag address, the method comprising the steps of:
-
automatically maintaining a pointer for identifying either the first or the second way as storing a tag address associated with data stored within the cache that has been least recently used; and selecting the first way for storage of the received tag address if the first way is identified by the pointer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. Apparatus for selecting a way, within a cache directory, for storing a received tag address, the received tag address being associated with data to be stored in a cache associated with the cache directory and the cache directory comprising first and second ways each configured to store a tag address, the apparatus comprising:
-
means for automatically configuring a pointer for identifying either the first or the second way as storing a tag address associated with data stored within the cache that has been least recently used; and means for selecting the first way for storage of the received tag address if the first way is identified by the pointer. - View Dependent Claims (14, 15, 16)
-
-
17. Apparatus for selecting a way, within a cache directory, for storing a received tag address, the received tag address being associated with data to be stored in a cache associated with a cache directory and the cache directory comprising first and second ways each configured to store a tag address, the apparatus comprising:
-
first logic that automatically sets a pointer to identify either the first or the second way as storing a tag address associated with data that is stored within the cache and that has been least recently used; and second logic that selects the first way for storage of the received tag address if the first way is identified by the pointer. - View Dependent Claims (18, 19, 20)
-
Specification