Methods and systems for managing synonyms in virtually indexed physically tagged caches
First Claim
1. A non-transitory computer readable medium having stored therein a set of instructions, which when executed by a computing device cause the computing device to perform a set of operations, the operations comprising:
- tracking lines of level 1 cache that are copied to a level 2 cache using a directory in a cache controller of the level 2 cache;
examining a specified bit of a virtual address that is associated with a load request at the cache controller and determining its status;
making an entry in one of a plurality of parts of said directory based on the status of the specified bit of the virtual address that is examined; and
changing, in a single clock cycle, only a data value, of one of, and invalidating the other of in the single clock cycle, a cache line that is associated with said virtual address that is stored in a first index of the level 2 cache, and a cache line that is associated with a synonym of said virtual address that is stored at a second index of the level 2 cache, upon receiving a request to update a physical address associated with said virtual address, where the synonym is another virtual address that maps to the physical address of a memory component.
2 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.
18 Citations
17 Claims
-
1. A non-transitory computer readable medium having stored therein a set of instructions, which when executed by a computing device cause the computing device to perform a set of operations, the operations comprising:
-
tracking lines of level 1 cache that are copied to a level 2 cache using a directory in a cache controller of the level 2 cache; examining a specified bit of a virtual address that is associated with a load request at the cache controller and determining its status; making an entry in one of a plurality of parts of said directory based on the status of the specified bit of the virtual address that is examined; and changing, in a single clock cycle, only a data value, of one of, and invalidating the other of in the single clock cycle, a cache line that is associated with said virtual address that is stored in a first index of the level 2 cache, and a cache line that is associated with a synonym of said virtual address that is stored at a second index of the level 2 cache, upon receiving a request to update a physical address associated with said virtual address, where the synonym is another virtual address that maps to the physical address of a memory component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A cache memory system, comprising:
-
memory components including a main memory, a level 1 cache and a level 2 cache; and a memory controller in the level 2 cache, wherein said memory controller includes a system for managing synonyms that comprises; a tracking component that tracks copied lines of the level 1 cache in the level 2 cache using a directory; an examining component that examines a specified bit of a virtual address that is associated with a load request and determining its status; an entry making component that makes an entry in one of a plurality of parts of said directory based on the status of the specified bit of the virtual address that is examined; and a cache line updating and invalidating component that changes only a data value, in a single clock cycle, of one of, and invalidates the other of in the single clock cycle, a cache line in the level 2 cache that is associated with said virtual address that is stored in a first index of the level 2 cache, and a cache line that is associated with a synonym of said virtual address that is stored at a second index of the level 2 cache, upon receiving a request to update a physical address associated with said virtual address, where the synonym is another virtual address that maps to the physical address in the main memory. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification