发明名称 HANDLING VIRTUAL MEMORY ADDRESS SYNONYMS IN A MULTI-LEVEL CACHE HIERARCHY STRUCTURE
摘要 Handling virtual memory address synonyms in a multi-level cache hierarchy structure. The multi-level cache hierarchy structure having a first level, L1 cache, the L1 cache being operatively connected to a second level, L2 cache split into a L2 data cache directory and a L2 instruction cache. The L2 data cache directory including directory entries having information of data currently stored in the L1 cache, the L2 cache being operatively connected to a third level, L3 cache. The first level cache is virtually indexed while the second and third levels are physically indexed. Counter bits are allocated in a directory entry of the L2 data cache directory for storing a counter number. The directory entry corresponds to at least one first L1 cache line. A first search is performed in the L1 cache for a requested virtual memory address, wherein the virtual memory address corresponds to a physical memory address tag at a second L1 cache line.
申请公布号 US2015032964(A1) 申请公布日期 2015.01.29
申请号 US201414335230 申请日期 2014.07.18
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 Habermann Christian;Jacobi Christian;Koch Gerrit;Recktenwald Martin;Tast Hans-Werner
分类号 G06F12/08 主分类号 G06F12/08
代理机构 代理人
主权项 1. A method for handling virtual memory address synonyms in a multi-level cache hierarchy structure, the multi-level cache hierarchy structure comprising a first level, L1 cache, the L1 cache being operatively connected to a second level, L2 cache split into a L2 data cache directory and a L2 instruction cache, wherein the L2 data cache directory comprises directory entries comprising information of data currently stored in the L1 cache, the L2 cache being operatively connected to a third level, L3 cache, the method comprising: allocating counter bits in a directory entry of the L2 data cache directory for storing a counter number, wherein the directory entry corresponds to at least one first L1 cache line, and wherein the first level cache is virtually indexed while the second and third levels are physically indexed; performing a first search in the L1 cache for a requested virtual memory address, wherein the requested virtual memory address corresponds to a physical memory address tag at a second L1 cache line; based on the first search resulting in a cache miss, performing a second search in the L2 cache to locate a synonym index of a synonym L1 cache line corresponding to the requested virtual memory address, wherein the synonym L1 cache line is the at least one first L1 cache line; based on the second search resulting in a cache hit: sending a fetch request to the L3 cache for fetching contents of the synonym L1 cache line from the L3 cache, wherein the counter number is incremented;invalidating the synonym L1 cache line in the directory entry and in a L1 directory entry of the L1 cache corresponding to the synonym L1 cache line; andcopying the fetched contents to the second L1 cache line; and based on a determination that the counter number is equal to a predetermined maximum number of synonyms: copying the contents of the synonym L1 cache line to the L2 instruction cache of the L2 cache, wherein a subsequent fetch request is redirected to the L2 instruction cache for fetching the contents of the synonym L1 cache line from the L2 instruction cache and for subsequently executing the invalidating the synonym L1 cache line and copying the fetched contents to the second L1 cache line.
地址 Armonk NY US