Claims
- 1. A method for waiting until a specified location in a memory ceases to have a certain value;
wherein said method comprises:
A) testing the specified location in the memory; and B) waiting for a cache invalidate signal for a cache line including the location in the memory when the testing in step (A) fails.
- 2. The method in claim 1 which further comprises:
C) repeating step (A) after the waiting in step (B) is complete.
- 3. The method in claim 1 which further comprises:
C) decrementing a timer; D) testing whether the timer is exhausted; and E) repeating steps (C) and (D) if the timer in step (D) is not exhausted.
- 4. The method in claim 1 wherein:
the testing in step (A) comprises:
1) comparing the contents of the specified location in the memory against a register; and 2) indicating that step (A) failed when the contents of the specified location in the memory matches the contents of the register.
- 5. The method in claim 1 wherein:
step (A) further comprises:
1) ANDing the contents of the specified location in the memory with a mask to form a masked contents of the memory; 2) ANDing the contents of the register with the mask to form a masked contents of the register; 3) comparing the masked contents of the memory against the masked contents of the register; and 4) indicating that step (A) failed when the masked contents of the register are the same as the masked contents of the register.
- 6. The method in claim 1 wherein:
the testing in step (A) comprises:
1) testing whether a contents of the specified location in the memory are in a gate open state or a gate closed state; and 2) indicating that step (A) failed when the contents of the location in the memory are in the gate closed state.
- 7. A processor comprising:
A) a first register; B) a means for decoding a Wait for Change instruction; and C) a means for executing a Wait for Change instruction in response to decoding the Wait for Change instruction, wherein:
execution of the Wait for Change instruction terminates when either a contents of a specified location in a memory differs from a contents of the first register or a specified time period has elapsed.
- 8. The processor in claim 7 wherein:
means (C) comprises:
1) a means for comparing the specified location in the memory to the contents of the first register; 2) a means for receiving a cache invalidate signal; and 3) a means for waiting for the cache invalidate signal for a cache line that includes the specified location in the memory when the comparing in means (1) fails.
- 9. A processor comprising:
A) a means for decoding a Lock instruction; and B) a means for executing a Lock instruction in response to decoding the Lock instruction, wherein:
execution of the Lock instruction terminates when either a lock value is written to a specified location in a memory overwriting a non-lock value in the specified location or a specified time period has elapsed.
- 10. The processor in claim 9 wherein:
means (B) comprises:
1) a means for testing the specified location in the memory for containing the non-lock value; 2) a means for writing the lock value to the specified location in the memory when the specified location in the memory contains the non-lock value; 3) a means for receiving a cache invalidate signal; and 4) a means for waiting for the cache invalidate signal for a cache line that includes the specified location in the memory when the testing in means (1) fails.
- 11. A processor comprising:
A) a means for testing a specified location in a memory for a specified value; B) a means for receiving a cache invalidate signal; and C) a means for waiting for the cache invalidate signal for a cache line that includes the specified location in the memory when the testing in means (A) fails.
- 12. The processor in claim 11 which further comprises:
D) a means for repeating means (A) after the waiting in means (C) is complete.
- 13. The processor in claim 11 which further comprises:
D) a means for decrementing a timer; E) a means for testing whether the timer is exhausted; and F) a means for repeating means (D) and (E) if the timer in means (E) is not exhausted.
- 14. The processor in claim 13 which further comprises:
G) a register for providing a timer value for use as the timer in means (D) and (E).
- 15. The processor in claim 11 wherein:
means (A) further comprises:
1) a means for ANDing the contents of the specified location in the memory with a mask to form a masked contents of the memory; 2) a means for ANDing the contents of the register with the mask to form a masked contents of the register; 3) a means for comparing the masked contents of the memory against the masked contents of the register; and 4) a means for indicating that means (A) failed when the masked contents of the register are the same as the masked contents of the register.
- 16. The processor in claim 15 which further comprises:
a register for providing the mask for use in means (1) and (2) of means (A).
- 17. The processor in claim 11 wherein:
means (A) comprises:
1) a means for comparing the contents of the specified location in the memory against a register; and 2) a means for indicating that means (A) failed when the contents of the specified location in the memory is the same as the contents of the register.
- 18. The processor in claim 11 wherein:
means (A) comprises:
1) a means for testing whether a contents of the specified location in the memory are in a gate open state or a gate closed state; and 2) a means for indicating that means (A) failed when the contents of the specified location in the memory are in the gate closed state.
- 19. The processor in claim 11 which further comprises:
D) a means for decoding a Lock instruction; and E) a means for executing the Lock instruction in response to the decoding of the Lock instruction, wherein:
execution of the Lock instruction utilizes means (C).
- 20. The processor in claim 11 which further comprises:
D) a means for decoding a Wait for Change instruction; and E) a means for executing the Lock instruction in response to the decoding of the Wait for Change instruction, wherein:
execution of the Wait for Change instruction utilizes means (A) and (C).
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is related to our copending patent applications assigned to the assignee hereof:
[0002] “GATE CLOSE FAILURE NOTIFICATION FOR FAIR GATING IN A NONUNIFORM MEMORY ARCHITECTURE DATA PROCESSING SYSTEM” by William A. Shelly et al., filed Sep. 30, 1999, with Ser. No. 09/409,456; and
[0003] “GATE CLOSE BALKING FOR FAIR GATING IN A NONUNIFORM MEMORY ARCHITECTURE DATA PROCESSING SYSTEM” by David A. Egolf et al., filed Sep. 30, 1999, with Ser. No. 09/409,811.