Wake-and-Go Mechanism with Data Exclusivity
First Claim
1. A method, in a data processing system, for determining data exclusivity for wake-and-go engines, the method comprising:
- detecting on a system bus requests to access data at a target address with data exclusivity from at least one wake-and-go engine;
determining a winning wake-and-go engine from the at least one wake-and-go engine that obtains a lock for the target address;
generating a combined snoop response, wherein the combined snoop response identifies the winning wake-and-go engine; and
sending the combined snoop response to the at least one wake-and-go engine on the system bus such that each remaining wake-and-go engine within the at least one wake-and-go engine places an entry in its respective wake-and-go storage array to spin on a lock for the target address.
1 Assignment
0 Petitions
Accused Products
Abstract
Snoop response logic on a system bus is configured to detect on the system bus requests to access data at a target address with data exclusivity from at least one of a plurality of wake-and-go engines. The snoop response logic is further configured to determine a winning wake-and-go engine from the at least one wake-and-go engine that obtains a lock on the target address and generate a combined snoop response. The combined snoop response identifies the winning wake-and-go engine. The snoop response logic sends the combined snoop response to the at least one wake-and-go engine on the system bus. Each remaining wake-and-go engine within the at least one wake-and-go engine places an entry in its respective wake-and-go storage array to spin on a lock for the target address.
-
Citations
20 Claims
-
1. A method, in a data processing system, for determining data exclusivity for wake-and-go engines, the method comprising:
-
detecting on a system bus requests to access data at a target address with data exclusivity from at least one wake-and-go engine; determining a winning wake-and-go engine from the at least one wake-and-go engine that obtains a lock for the target address; generating a combined snoop response, wherein the combined snoop response identifies the winning wake-and-go engine; and sending the combined snoop response to the at least one wake-and-go engine on the system bus such that each remaining wake-and-go engine within the at least one wake-and-go engine places an entry in its respective wake-and-go storage array to spin on a lock for the target address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data processing system, comprising:
-
a plurality of wake-and-go engines, wherein each of the plurality of wake-and-go engines is associated with a processor and has a respective wake-and-go storage array; a system bus; and snoop response logic on the system bus, wherein the snoop response logic is configured to; detect on the system bus requests to access data at a target address with data exclusivity from at least one of the plurality of wake-and-go engines; determine a winning wake-and-go engine from the at least one wake-and-go engine that obtains a lock on the target address; generate a combined snoop response, wherein the combined snoop response identifies the winning wake-and-go engine; and send the combined snoop response to the at least one wake-and-go engine on the system bus such that each remaining wake-and-go engine within the at least one wake-and-go engine places an entry in its respective wake-and-go storage array to spin on a lock for the target address. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification