Method for proactive synchronization within a computer system
First Claim
1. A method comprising:
- a processor that implements an x86 architecture requesting exclusive access to one or more memory resources, wherein each request includes one or more mov instructions each specifying an address associated with a respective one of the memory resources, and wherein each mov instruction includes an x86 LOCK instruction prefix;
comparing each address specified in the one or more mov instructions to each address of a plurality of sets of addresses, wherein each address of the plurality of sets of addresses corresponds to a respective memory resource to which a requestor has been granted exclusive access;
in response to any address specified in the one or more mov instructions matching any address in the plurality of sets of addresses, returning a count value associated with the matching address, wherein the count value is indicative of a number of requestors contending for the matching address; and
using the count value to avoid interference on any subsequent synchronization attempt to access the requested memory resources, and to select one or more different memory resources in subsequent operations.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for providing proactive synchronization in a computer system includes a processor requesting exclusive access to a given memory resource. The request may include one or more addresses associated with the given memory resource. The method also includes comparing each of the addresses in the request to each address in a plurality of sets of addresses. Each address in the sets of addresses may correspond to a respective memory resource to which a requestor has exclusive access. In addition, in response to any address of the one or more addresses matching any address in the plurality of sets of addresses, the method includes returning a count value associated with the set including the matching address. The count value may be indicative of the number of requestors contending for the matching address. Software may utilize this count value to proactively choose an item with lower contention probabilities in subsequent attempts.
23 Citations
25 Claims
-
1. A method comprising:
-
a processor that implements an x86 architecture requesting exclusive access to one or more memory resources, wherein each request includes one or more mov instructions each specifying an address associated with a respective one of the memory resources, and wherein each mov instruction includes an x86 LOCK instruction prefix; comparing each address specified in the one or more mov instructions to each address of a plurality of sets of addresses, wherein each address of the plurality of sets of addresses corresponds to a respective memory resource to which a requestor has been granted exclusive access; in response to any address specified in the one or more mov instructions matching any address in the plurality of sets of addresses, returning a count value associated with the matching address, wherein the count value is indicative of a number of requestors contending for the matching address; and using the count value to avoid interference on any subsequent synchronization attempt to access the requested memory resources, and to select one or more different memory resources in subsequent operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system comprising:
-
one or more processors that implement an x86 architecture and are coupled together and to one or more memories, wherein each of the one or more processors is configured to execute instructions to request exclusive access to one or more memory resources, wherein each request includes one or more mov instructions each specifying an address associated with a respective one of the memory resources, and wherein each mov instruction includes an x86 LOCK instruction prefix; and an arbitration unit coupled to compare each address specified in the one or more mov instructions to each address of a plurality of sets of addresses, wherein each address of the plurality of sets of addresses corresponds to a respective memory resource to which a requestor has been granted exclusive access; wherein the arbitration unit is configured to return a count value associated with the matching address in response to any address specified in the one or more mov instructions matching any address in the plurality of sets of addresses, wherein the count value is indicative of a number of requestors contending for the matching address; and wherein each of the processors is configured to use the count value to avoid interference on any subsequent synchronization attempt to access the requested memory resources, and to select one or more different memory resources in subsequent operations. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification