CPC G06F 9/30043 (2013.01) [G06F 9/30047 (2013.01); G06F 9/3834 (2013.01); G06F 9/3836 (2013.01); G06F 9/3861 (2013.01); G06F 12/0811 (2013.01)] | 17 Claims |
1. A method for validating cache coherence in a data processing system, the method comprising:
detecting a load instruction requesting a processing element to transfer data from a target cache line in a global memory location to a local memory location, the processing element being among a plurality of processing elements of the data processing system;
applying, in response to detecting the load instruction requesting the processing element to transfer the data from the target cache line in the global memory location to the local memory location, a delay in the global memory location to delay the transfer of the data from the target cache line in the global memory location to the local memory location, wherein applying the delay to the transfer of the data increases a window of opportunity for another processing element to make changes to the target cache line in the global memory location to create an out-of-order hazard for the data processing system, and wherein the delay is based on a distance between the processing element and other processing elements in the data processing system;
executing the load instruction and transferring the data from the target cache line in the global memory location to the local memory location with the applied delay; and
validating, in response to executing the load instruction and transferring the data with the applied delay, a cache coherence of the data processing system.
|