Value-based memory coherence support
First Claim
1. A processor comprising:
- a store queue configured to store addresses to be written in response to stores and store data, and wherein the store queue is coupled to a load data path that delivers load data to a destination of the load, the store queue coupled to the load data path to forward store data for a matching load address;
a coherence trap unit coupled to the load data path prior to a point at which the store data from the store queue is merged with other data to receive memory data accessed in response to the processor executing a load memory operation, wherein the coherence trap unit is configured to detect whether the memory data matches a designated value indicating that a coherence trap is to be initiated to coherently perform the memory operation; and
trap logic coupled to the coherence trap unit and configured to trap to a designated software routine responsive to the coherence trap unit detecting the designated value.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a processor comprises a coherence trap unit and a trap logic coupled to the coherence trap unit. The coherence trap unit is also coupled to receive data accessed in response to the processor executing a memory operation. The coherence trap unit is configured to detect that the data matches a designated value indicating that a coherence trap is to be initiated to coherently perform the memory operation. The trap logic is configured to trap to a designated software routine responsive to the coherence trap unit detecting the designated value. In some embodiments, a cache tag in a cache may track whether or not the corresponding cache line has the designated value, and the cache tag may be used to trigger a trap in response to an access to the corresponding cache line.
-
Citations
19 Claims
-
1. A processor comprising:
-
a store queue configured to store addresses to be written in response to stores and store data, and wherein the store queue is coupled to a load data path that delivers load data to a destination of the load, the store queue coupled to the load data path to forward store data for a matching load address; a coherence trap unit coupled to the load data path prior to a point at which the store data from the store queue is merged with other data to receive memory data accessed in response to the processor executing a load memory operation, wherein the coherence trap unit is configured to detect whether the memory data matches a designated value indicating that a coherence trap is to be initiated to coherently perform the memory operation; and trap logic coupled to the coherence trap unit and configured to trap to a designated software routine responsive to the coherence trap unit detecting the designated value. - View Dependent Claims (2, 3, 4)
-
-
5. A cache comprising:
-
a data memory configured to store a plurality of cache lines of data; a tag memory configured to store a plurality of cache tags corresponding to the plurality of cache lines, wherein each of the plurality of cache tags comprises an indication of whether or not the corresponding cache line is storing one or more data values that match a designated value, the designated value indicating that an access to the corresponding cache line causes a trap to software to ensure cache coherence; and a control unit coupled to the data memory and the tag memory, wherein the control unit is configured to detect the indication responsive to a cache access and to signal a processor coupled to the cache to cause the trap. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
detecting that data corresponding to a memory operation has a designated value that indicates a trap to software to ensure coherence is to be performed; trapping to the software responsive to the detecting; and programming a register to indicate that a given cache line contains the designated value but is not to cause a trap. - View Dependent Claims (14, 15, 16)
-
-
17. A processor comprising:
-
trap detection logic configured to detect whether coherence activity is necessary to obtain a coherent copy of data accessed by a memory operation being performed by the processor, wherein the trap detection logic is configured to detect whether coherence activity is necessary at a granularity that is no larger than a cache line, and wherein the trap detection logic is configured to detect whether coherence activity is necessary responsive to cache tag data corresponding to a cache line that includes the data accessed by the memory operation; and trap logic coupled to the trap detection logic and configured to trap to a designated software routine responsive to the trap detection logic detecting that the coherence activity is necessary. - View Dependent Claims (18, 19)
-
Specification