A system and method of handling access demands in a virtual cache comprising, by a processing system, checking if a virtual cache access demand missed because of a synonym tagged in the virtual cache; in response to the virtual cache access demand missing because of a synonym tagged in the virtual cache, updating the virtual address tag in the virtual cache to a new virtual address tag; searching for additional synonyms tagged in the virtual cache; and in response to finding additional synonyms tagged in the virtual cache, updating the virtual address tag of the additional synonyms to the new virtual address tag.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of handling access demands in a virtual cache comprising, by a processing system: checking if a virtual cache access demand missed because of a synonym tagged in the virtual cache; in response to the virtual cache access demand missing because of a synonym tagged in the virtual cache, updating the virtual address tag in the virtual cache to a new virtual address tag; searching for additional synonyms tagged in the virtual cache, wherein searching for additional synonyms tagged in the virtual cache comprises moving to another cache line on the page that corresponds to the virtual address of the virtual access demand that missed in the virtual cache; and in response to finding additional synonyms tagged in the virtual cache, updating the virtual address tag of the additional synonyms to the new virtual address tag.
2. The method of claim 1 , wherein checking if the virtual access demand missed because of a synonym tagged in the virtual cache comprises allocating a search algorithm to determine if the virtual address that missed in the virtual cache would have hit in the cache if it were a physical cache.
3. The method of claim 1 , wherein checking if the virtual access demand missed because of a synonym tagged in the virtual cache comprises determining whether the virtual address of the virtual access demand has the same physical address of any other virtual address tagged in the virtual cache.
4. The method of claim 1 , further comprising translating the virtual address of the virtual cache access demand that missed in the virtual cache to a real address.
5. The method of claim 1 , further comprising, in response to a virtual cache access demand missing in a virtual cache because of a synonym tagged in the virtual cache, updating the virtual address tag in the virtual cache directory to the virtual address tag of the virtual cache access demand.
6. The method of claim 1 , further comprising, in response to the virtual cache having additional synonyms in the virtual cache, updating the virtual address tag of at least one of the additional synonyms in the virtual cache to the virtual address tag corresponding to the virtual address of the virtual cache access demand that missed in the virtual cache.
7. The method of claim 1 , wherein searching for additional synonyms tagged in the virtual cache further comprises searching for other cache lines within the page corresponding to the virtual address tag of the virtual cache access demand that missed in the virtual cache.
8. The method of claim 7 , wherein a state machine is allocated to search for additional cache lines within the page.
9. The method of claim 7 , further comprising, in response to finding additional cache lines within the page corresponding to the virtual address of the virtual cache access demand that missed in the virtual cache, determining whether the additional cache lines are in the virtual cache.
10. The method of claim 9 , further comprising, in response to the additional cache lines being in the virtual cache, updating the virtual address of the additional cache lines.
11. The method of claim 10 , wherein the updating of the virtual address of the additional cache lines comprises renaming the virtual address of the additional cache lines to the virtual address of the virtual cache access demand that missed in the virtual cache.
12. The method of claim 1 , further comprising, in response to the virtual cache access demand missing in the virtual cache because of synonym tagged in the virtual cache, overruling the virtual cache eviction mechanism and renaming the virtual address tag of the real address with the virtual address tag of the virtual address that missed in the virtual cache.
13. The method of claim 1 , further comprising, in response to the access demand missing in the virtual cache because of a synonym tagged in the virtual cache, allocating a state machine that collects the virtual address and page size of the access that missed in the virtual cache.
14. The method of claim 1 , wherein checking if the virtual access demand missed because of a synonym tagged in the virtual cache comprises determining whether the virtual address of the virtual access demand has the same physical address of any other virtual address tagged in the virtual cache.
15. A method of handling access demands in a virtual cache comprising, by a processing system: checking if a virtual cache access demand missed because of a synonym tagged in the virtual cache; in response to the virtual cache access demand missing because of a synonym tagged in the virtual cache, updating the virtual address tag in the virtual cache to a new virtual address tag; searching for additional synonyms tagged in the virtual cache, wherein searching for additional synonyms tagged in the virtual cache further comprises searching for other cache lines within the page corresponding to the virtual address tag of the virtual cache access demand that missed in the virtual cache; in response to finding other cache lines within the page corresponding to the virtual address tag of the virtual cache access demand that missed in the virtual cache, determining whether the additional cache lines are in the virtual cache; and in response to determining that additional cache lines are in the virtual cache, updating the virtual address tag of the additional cache lines to the new virtual address tag.
16. The method of claim 15 , wherein checking if the virtual access demand missed because of a synonym tagged in the virtual cache comprises allocating a search algorithm to determine if the virtual address that missed in the virtual cache would have hit in the cache if it were a physical cache.
17. The method of claim 15 , further comprising, in response to a virtual cache access demand missing in a virtual cache because of a synonym tagged in the virtual cache, updating the virtual address tag in the virtual cache directory to the virtual address tag of the virtual cache access demand.
18. The method of claim 15 , wherein a state machine is allocated to search for additional cache lines within the page and wherein searching for additional synonyms tagged in the virtual cache comprises moving to another cache line on the page that corresponds to the virtual address of the virtual access demand that missed in the virtual cache.
19. The method of claim 15 , wherein the updating of the virtual address of the additional cache lines comprises renaming the virtual address of the additional cache lines to the virtual address of the virtual cache access demand that missed in the virtual cache.
20. The method of claim 15 , further comprising, in response to the virtual cache access demand missing in the virtual cache because of synonym tagged in the virtual cache, overruling the virtual cache eviction mechanism and renaming the virtual address tag of the real address with the virtual address tag of the virtual address that missed in the virtual cache.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 1, 2019
April 13, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.