METHODS AND SYSTEMS FOR MANAGING SYNONYMS IN VIRTUALLY INDEXED PHYSICALLY TAGGED CACHES
First Claim
1. A method of managing virtual address synonyms in a virtually indexed physically tagged (VIPT) cache, comprising:
- receiving an access request to a VIPT cache that is associated with a first virtual address having a synonym virtual address (VA) bit that is the same as a synonym VA bit of a second virtual address associated with a previously received access request;
predicting a value of a bit of a physical address associated with said first virtual address in advance of determining the actual value of the bit of the physical address;
determining an actual value of the bit of the physical address;
providing an indication of a miss and updating a predictor, in response to the predicted value of the bit of the physical address provided in advance being different from the actual value of the bit of the physical address; and
retrying the access request using the actual value of the bit of the physical address.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for managing synonyms in VIPT caches are disclosed. A method includes tracking lines of a copied cache using a directory, examining a specified bit of a virtual address that is associated with a load request and determining its status and making an entry in one of a plurality of parts of the directory based on the status of the specified bit of the virtual address that is examined. The method further includes updating one of, and invalidating the other of, a cache line that is associated with the virtual address that is stored in a first index of the copied cache, and a cache line that is associated with a synonym of the virtual address that is stored at a second index of the copied cache, upon receiving a request to update a physical address associated with the virtual address.
5 Citations
19 Claims
-
1. A method of managing virtual address synonyms in a virtually indexed physically tagged (VIPT) cache, comprising:
-
receiving an access request to a VIPT cache that is associated with a first virtual address having a synonym virtual address (VA) bit that is the same as a synonym VA bit of a second virtual address associated with a previously received access request; predicting a value of a bit of a physical address associated with said first virtual address in advance of determining the actual value of the bit of the physical address; determining an actual value of the bit of the physical address; providing an indication of a miss and updating a predictor, in response to the predicted value of the bit of the physical address provided in advance being different from the actual value of the bit of the physical address; and retrying the access request using the actual value of the bit of the physical address. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A cache memory system, comprising:
-
memory components; and a memory controller, wherein said memory controller includes a system for managing synonyms that comprises; a cache line tracker to track cache lines using a directory; a synonym virtual address bit examiner to examines a bit of a virtual address; a physical address predictor coupled the cache line tracker and the synonym virtual address bit examiner, the physical address predictor to receive an access request to a VIPT cache that is associated with a first virtual address having a synonym virtual address (VA) bit that is the same as a synonym VA bit of a second virtual address associated with a previously received access request, and to predict a value of a bit of a physical address associated with said first virtual address in advance of determining the actual value of the bit of the physical address; a prediction accuracy determiner to determine an actual value of the bit of the physical address, and to provide an indication of a miss and update a predictor, in response to the predicted value of the bit of the physical address provided in advance being different from the actual value of the bit of the physical address; and request retry component to retry the access request using the actual value of the bit of the physical address. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor to execute instructions; a system interface to access machine resources; and a cache coupled to the processor, the cache to including, a memory controller, wherein said memory controller includes a system for managing synonyms, the memory controller including, a cache line tracker to track cache lines using a directory; a synonym virtual address bit examiner to examines a bit of a virtual address; a physical address predictor coupled the cache line tracker and the synonym virtual address bit examiner, the physical address predictor to receive an access request to a VIPT cache that is associated with a first virtual address having a synonym virtual address (VA) bit that is the same as a synonym VA bit of a second virtual address associated with a previously received access request, and to predict a value of a bit of a physical address associated with said first virtual address in advance of determining the actual value of the bit of the physical address; a prediction accuracy determiner to determine an actual value of the bit of the physical address, and to provide an indication of a miss and update a predictor, in response to the predicted value of the bit of the physical address provided in advance being different from the actual value of the bit of the physical address; and request retry component to retry the access request using the actual value of the bit of the physical address. - View Dependent Claims (16, 17, 18, 19)
-
Specification