Mode-based castout destination selection
First Claim
1. A method of data processing in a data processing system including a system memory and an interconnect fabric coupled to plurality of processing units each including a respective processor core and associated upper and lower level caches, said method comprising:
- in response to a data request of the processor core of a first processing unit among the plurality of processing units;
selecting a victim cache line to be castout from a first lower level cache of the first processing unit;
determining as candidates for an intended destination of the victim cache line;
a second lower level cache selected from a first set containing exclusively lower level caches in the first processing unit; and
a third lower level cache selected from a second set of lower level caches including at least one lower level cache within one of the plurality of processing units other than the first processing unit, wherein all of the first, second and third lower level caches are at a same level of cache hierarchy;
determining whether a mode is set for the first processing unit;
selecting the second lower level cache as the intended destination if the mode is set, and if not, selecting the third lower level cache as the intended destination;
the first processing unit issuing a lateral castout (LCO) command on the interconnect fabric, wherein the LCO command identifies the victim cache line to be castout from the first lower level cache of the first processing unit and indicates the selected intended destination of the victim cache line; and
in response to a coherence response to the LCO command indicating success of the LCO command, removing the victim cache line from the first lower level cache of the first processing unit and holding the victim cache line elsewhere in the data processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
In response to a data request of a first of a plurality of processing units, the first processing unit selects a victim cache line to be castout from the lower level cache of the first processing unit and determines whether a mode is set. If not, the first processing unit issues on the interconnect fabric an LCO command identifying the victim cache line and indicating that a lower level cache is the intended destination. If the mode is set, the first processing unit issues a castout command with an alternative intended destination. In response to a coherence response to the LCO command indicating success of the LCO command, the first processing unit removes the victim cache line from its lower level cache, and the victim cache line is held elsewhere in the data processing system. The mode can be set to inhibit castouts to system memory, for example, for testing.
120 Citations
14 Claims
-
1. A method of data processing in a data processing system including a system memory and an interconnect fabric coupled to plurality of processing units each including a respective processor core and associated upper and lower level caches, said method comprising:
-
in response to a data request of the processor core of a first processing unit among the plurality of processing units; selecting a victim cache line to be castout from a first lower level cache of the first processing unit; determining as candidates for an intended destination of the victim cache line; a second lower level cache selected from a first set containing exclusively lower level caches in the first processing unit; and a third lower level cache selected from a second set of lower level caches including at least one lower level cache within one of the plurality of processing units other than the first processing unit, wherein all of the first, second and third lower level caches are at a same level of cache hierarchy; determining whether a mode is set for the first processing unit; selecting the second lower level cache as the intended destination if the mode is set, and if not, selecting the third lower level cache as the intended destination; the first processing unit issuing a lateral castout (LCO) command on the interconnect fabric, wherein the LCO command identifies the victim cache line to be castout from the first lower level cache of the first processing unit and indicates the selected intended destination of the victim cache line; and in response to a coherence response to the LCO command indicating success of the LCO command, removing the victim cache line from the first lower level cache of the first processing unit and holding the victim cache line elsewhere in the data processing system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data processing system, comprising:
-
an interconnect fabric; and a plurality of processing units coupled to the interconnect fabric, the plurality of processing units each including a respective processor core and associated upper and lower level caches, wherein the plurality of processing units includes at least first, second and third processing units; wherein the first processing unit, responsive to a data request; selects a victim cache line to be castout from a first lower level cache of the first processing unit; determines as candidates for an intended destination of the victim cache line; a second lower level cache selected from a first set containing exclusively lower level caches in the first processing unit; and a third lower level cache selected from a second set of lower level caches including at least one lower level cache within one of the plurality of processing units other than the first processing unit, wherein all of the first, second and third lower level caches are at a same level of cache hierarchy; and determines whether a mode is set for the first processing unit; selects the second lower level cache as the intended destination if the mode is set, and if not, selects the third lower level cache as the intended destination; wherein the first processing unit issues a lateral castout (LCO) command on the interconnect fabric, the LCO command identifying the victim cache line to be castout from the lower level cache of the first processing unit and indicating the selected intended destination of the victim cache line; wherein responsive to a coherence response to the LCO command indicating success of the LCO command, the first processing unit removes the victim cache line from first lower level cache and the victim cache line is held elsewhere in the data processing system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A processing unit for a data processing system including a plurality of processing units coupled by an interconnect fabric, the plurality of processing units including the processing unit as a first processing unit and additional second and third processing units, said first processing unit comprising:
-
at least a first processor core and associated first upper and first lower level caches; wherein the first processing unit, responsive to a data request; selects a victim cache line to be castout from the first lower level cache; determines as candidates for an intended destination of the victim cache line; a second lower level cache selected from a first set containing exclusively lower level caches in the first processing unit; and a third lower level cache selected from a second set of lower level caches including at least one lower level cache within one of the plurality of processing units other than the first processing unit, wherein all of the first, second and third lower level caches are at a same level of cache hierarchy; determines whether a mode is set for the first processing unit; selects the second lower level cache as the intended destination if the mode is set, and if not, selects the third lower level cache as the intended destination; wherein the first processing unit issues a lateral castout (LCO) command on the interconnect fabric, the LCO command identifying the victim cache line to be castout from the lower level cache of the first processing unit and indicating the selected intended destination of the victim cache line; and wherein responsive to a coherence response to the LCO command indicating success of the LCO command, the first processing unit removes the victim cache line from the first lower level cache and the victim cache line is held elsewhere in the data processing system. - View Dependent Claims (12, 13, 14)
-
Specification