Wake-and-Go Mechanism with System Bus Response
First Claim
1. A method, in a data processing system, for performing a look-ahead operation in a wake-and-go mechanism, the method comprising:
- issuing a look-ahead load command on a system bus to read a data value from a target address;
performing a comparison operation to determine whether the data value at the target address indicates that an event for which a thread is waiting has occurred;
in response to the comparison resulting in a determination that the event has not occurred, populating a wake-and-go storage array with the target address and snooping the target address on the system bus without data exclusivity; and
in response to the comparison resulting in a determination that the event has occurred, issuing a load command on the system bus to read the data value from the target address with data exclusivity.
1 Assignment
0 Petitions
Accused Products
Abstract
A wake-and-go mechanism is provided for a data processing system. The wake-and-go mechanism is configured to issue a look-ahead load command on a system bus to read a data value from a target address and perform a comparison operation to determine whether the data value at the target address indicates that an event for which a thread is waiting has occurred. In response to the comparison resulting in a determination that the event has not occurred, the wake-and-go engine populates a wake-and-go storage array with the target address and snooping the target address on the system bus without data exclusivity. In response to the comparison resulting in a determination that the event has occurred, the wake-and-go engine issues a load command on the system bus to read the data value from the target address with data exclusivity.
-
Citations
20 Claims
-
1. A method, in a data processing system, for performing a look-ahead operation in a wake-and-go mechanism, the method comprising:
-
issuing a look-ahead load command on a system bus to read a data value from a target address; performing a comparison operation to determine whether the data value at the target address indicates that an event for which a thread is waiting has occurred; in response to the comparison resulting in a determination that the event has not occurred, populating a wake-and-go storage array with the target address and snooping the target address on the system bus without data exclusivity; and in response to the comparison resulting in a determination that the event has occurred, issuing a load command on the system bus to read the data value from the target address with data exclusivity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data processing system, comprising:
-
a wake-and-go mechanism; and a wake-and-go storage array, wherein the wake-and-go mechanism is configured to; issue a look-ahead load command on a system bus to read a data value from a target address; perform a comparison operation to determine whether the data value at the target address indicates that an event for which a thread is waiting has occurred; in response to the comparison resulting in a determination that the event has not occurred, populate a wake-and-go storage array with the target address and snoop the target address on the system bus without data exclusivity; and in response to the comparison resulting in a determination that the event has occurred, issue a load command on the system bus to read the data value from the target address with data exclusivity. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
issue a look-ahead load command on a system bus to read a data value from a target address; perform a comparison operation to determine whether the data value at the target address indicates that an event for which a thread is waiting has occurred; in response to the comparison resulting in a determination that the event has not occurred, populate a wake-and-go storage array with the target address and snoop the target address on the system bus without data exclusivity; and in response to the comparison resulting in a determination that the event has occurred, issue a load command on the system bus to read the data value from the target address with data exclusivity. - View Dependent Claims (20)
-
Specification