Back to results
US 8,019,947 B2Granted
Technique for thread communication and synchronization
AssigneeIntel Corporation
InventorsQuinn A. Jacobson, Hong Wang, John Shen, Per Hammarlund
Life of this patent
Estimating the term…
Abstract
A technique for thread synchronization and communication. More particularly, embodiments of the invention pertain to managing communication and synchronization among two or more threads of instructions being executing by one or more microprocessors or microprocessor cores.
Claims30
An apparatus comprising:
- a cache memory including one or more monitor bit fields to indicate whether a corresponding cache line is to be monitored for an event that may enable a thread to modify data corresponding to the cache line;
- detection logic to detect whether data has been written to the cache line if a monitor bit in the one or more bit fields is set, wherein the one or more monitor bit fields are to be set by a first instruction and wherein a store operation or potential store operation, by a first thread to the cache line, is to cause invocation of a handler to determine whether a second thread has updated the cache line and wherein the handler is to cause retrieval of information written to the cache line by the second thread so that the information may be delivered to a monitoring thread.
A system comprising:
- a cache memory including a plurality of monitor bit fields to indicate whether a corresponding cache line is to be monitored for an event that may enable a thread to modify data corresponding to the cache line by a transmitting thread;
- a first memory to store a first instruction to set bits within the plurality of monitor bit fields and a third instruction to enable detection logic to detect whether data has been written to the cache line by the transmitting thread, wherein a store operation or potential store operation, by a first thread to the cache line, is to cause invocation of a handler to determine whether a second thread has updated the cache line and wherein the handler is to cause retrieval of information written to the cache line by the second thread so that the information may be delivered to a monitoring thread.
A method comprising:
- enabling a cache line to be monitored for data written to the cache line by an instruction within a transmitting thread;
- enabling detection of the data written to the cache line;
- detecting an event that may enable another thread to modify data corresponding to the cache line;
- invoking a handler in response to detecting the data written to the cache line wherein the handler is to determine whether another thread has updated the cache line and wherein the handler is to cause retrieval of information written to the cache line by the other thread so that the information may be delivered to a monitoring thread;
- delivering the data to a receiving thread.
2 more elements
A non-transitory machine-readable medium having stored thereon a set of instructions,
- which if executed by a machine cause the machine to perform a method comprising:
- storing information to describe a variable corresponding to a cache line to be monitored;
- using a comparison rule to determine whether the variable has been set to a first value;
- specifying a pointer to at least one instruction to be performed if the comparison rule is satisfied, wherein the at least one instruction enables information to be shared among two or more threads in response to the comparison rule being satisfied, wherein a store operation or potential store operation, by a first thread to the cache line, is to cause invocation of a handler to determine whether a second thread has updated the cache line and wherein the handler is to cause retrieval of information written to the cache line by the second thread so that the information may be delivered to a monitoring thread.
1 more element
Dependencies are inferred from the claim text.