Victim Cache Replacement
First Claim
1. A method of data processing in a data processing system including a processor core having an associated upper level cache and a lower level victim cache, said method comprising:
- in response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, determining whether the memory access request hits or misses in a directory of the lower level victim cache;
in response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state;
the lower level victim cache providing the target coherency granule of the memory access request to the upper level cache; and
the lower level victim cache preserving the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and the lower level victim cache invalidating the target coherency granule if the memory access request is of a second type.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, a determination is made whether the memory access request hits or misses in a directory of the lower level victim cache. In response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache. The lower level victim cache preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type.
-
Citations
20 Claims
-
1. A method of data processing in a data processing system including a processor core having an associated upper level cache and a lower level victim cache, said method comprising:
-
in response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, determining whether the memory access request hits or misses in a directory of the lower level victim cache; in response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state; the lower level victim cache providing the target coherency granule of the memory access request to the upper level cache; and the lower level victim cache preserving the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and the lower level victim cache invalidating the target coherency granule if the memory access request is of a second type. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processing unit for a data processing system, the processing unit comprising:
-
a processor core; and a cache hierarchy coupled to the processor core to provide low latency data access, the cache hierarchy including an upper level cache coupled to the processor core and a lower level victim cache coupled to the upper level cache, each of the upper level cache and the lower level victim cache including a respective cache directory and a respective data array, wherein the lower level victim cache, responsive to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, determines whether the memory access request hits or misses in a directory of the lower level victim cache, and wherein responsive to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache and preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data processing system, comprising:
-
at least one system memory; and a plurality of processing units coupled to the system memory, wherein a processing unit among the plurality of processing units includes; a processor core; and a cache hierarchy coupled to the processor core to provide low latency data access, the cache hierarchy including an upper level cache coupled to the processor core and a lower level victim cache coupled to the upper level cache, each of the upper level cache and the lower level victim cache including a respective cache directory and a respective data array, wherein the lower level victim cache, responsive to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, determines whether the memory access request hits or misses in a directory of the lower level victim cache, and wherein responsive to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache and preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification