System and method for performing a synchronization operation for multiple devices in a computer system
First Claim
1. An apparatus comprising:
- an observer; and
a central resource coupled to the observer, the central resource comprising;
a plurality of agents;
a plurality of busy bits, wherein each of the plurality of busy bits corresponds to a respective one of the plurality of agents, and wherein each of the plurality of busy bits is in either a busy state or an idle state during use; and
a plurality of counters, wherein each of the plurality of counters corresponds to a respective one of the plurality of agents;
wherein the observer is configured, in response to initiating a sync operation, to identify one or more busy agents of the plurality of agents responsive to the plurality of busy bits, and wherein the observer is configured to subsequently detect that a busy agent has cycled responsive to a corresponding busy bit of the plurality of busy bits being in the idle state; and
wherein the observer is configured to subsequently detect that a busy agent has cycled responsive to a corresponding counter of the plurality of counters changing value, and wherein the observer is configured to determine that the sync operation is complete in response to detecting that each busy agent has cycled.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing a sync operation for multiple devices in a computer system is provided. The computer system may include a plurality of devices and a plurality of agents. The agents may be configured to perform tasks on behalf of the devices. A busy bit and a counter may be included for each of the agents. One of the devices may become an observer by initiating a sync operation. In response to a sync operation, busy agents may be identified using the busy bit for each agent. The busy agents may then be monitored to determine when each one has cycled using the busy bit and the counter for each busy agent. A busy agent may be determined to have cycled in response to its busy bit indicating that it is no longer busy or in response to its counter value differing from the counter value at the time the sync operation was initiated. Once each of the busy agents have cycled, the observer may determine that the sync operation is complete.
-
Citations
10 Claims
-
1. An apparatus comprising:
-
an observer; and
a central resource coupled to the observer, the central resource comprising;
a plurality of agents;
a plurality of busy bits, wherein each of the plurality of busy bits corresponds to a respective one of the plurality of agents, and wherein each of the plurality of busy bits is in either a busy state or an idle state during use; and
a plurality of counters, wherein each of the plurality of counters corresponds to a respective one of the plurality of agents;
wherein the observer is configured, in response to initiating a sync operation, to identify one or more busy agents of the plurality of agents responsive to the plurality of busy bits, and wherein the observer is configured to subsequently detect that a busy agent has cycled responsive to a corresponding busy bit of the plurality of busy bits being in the idle state; and
wherein the observer is configured to subsequently detect that a busy agent has cycled responsive to a corresponding counter of the plurality of counters changing value, and wherein the observer is configured to determine that the sync operation is complete in response to detecting that each busy agent has cycled.- View Dependent Claims (2, 3, 4, 5)
-
-
6. In an apparatus comprising a plurality of agents;
- a plurality of busy bits, wherein each of the plurality of busy bits corresponds to a respective one of the plurality of agents, and wherein each of the plurality of busy bits is in either a busy state or an idle state during use; and
a plurality of counters, wherein each of the plurality of counters corresponds to a respective one of the plurality of agents;
a method comprising;in response to initiating a sync operation, identifying one or more busy agents of the plurality of agents responsive to the plurality of busy bits;
subsequently detecting that each busy agent has cycled responsive to the plurality of busy bits and the plurality of counters, wherein a given busy agent has cycled if a corresponding busy bit of the plurality of busy bits is in the idle state; and
wherein a given busy agent has cycled if a corresponding counter of the plurality of counters changes value; and
determining that the sync operation is complete in response to detecting that each busy agent has cycled. - View Dependent Claims (7, 8, 9, 10)
in response to one of the plurality of agents completing a task, changing the corresponding busy bit to the idle state; and
in response to the one of the plurality of agents completing the task, changing a value in the corresponding counter.
- a plurality of busy bits, wherein each of the plurality of busy bits corresponds to a respective one of the plurality of agents, and wherein each of the plurality of busy bits is in either a busy state or an idle state during use; and
-
9. The method as recited in claim 8 further comprising:
-
the one of the plurality of agents starting a new task; and
in response to the one of the plurality of agents starting the new task, changing the corresponding busy bit to the busy state.
-
-
10. The method as recited in claim 6 wherein each of the plurality of counters is a one bit counter.
Specification