Method for maintaining atomicity of instruction sequence to access a number of cache lines during proactive synchronization within a computer system
First Claim
1. A method comprising:
- a processor requesting exclusive access to a given memory resource, wherein the request includes executing a critical section of code having a one or more memory reference instructions each having a LOCK prefix followed by an ACQUIRE instruction, wherein during the specification phase, each memory reference instruction specifies a memory address associated with the given memory resource;
in response to execution of the ACQUIRE instruction, comparing each memory address specified in the critical section of code 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; and
in response to any memory address of the critical section of code matching any address of a plurality of sets of addresses, causing the ACQUIRE instruction to fail; and
inhibiting modifying data corresponding to any memory address in an atomic phase of the critical section of code.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for maintaining atomicity of a sequence of instructions includes a processor requesting exclusive access to a given memory resource. The request may include executing a critical section of code having memory reference instructions each including a LOCK prefix, and the memory reference instructions may be followed by an ACQUIRE instruction. The method also includes comparing each memory address of the critical section of code to each address of sets of addresses in response to execution of the ACQUIRE instruction. Each address of the sets of addresses corresponds to a respective memory resource to which a requester has exclusive access. In response to any memory address of the critical section of code matching any address of the sets of addresses, the method includes causing the ACQUIRE instruction to fail, and inhibiting modifying data corresponding to any memory address in an atomic phase of the critical section of code.
33 Citations
18 Claims
-
1. A method comprising:
-
a processor requesting exclusive access to a given memory resource, wherein the request includes executing a critical section of code having a one or more memory reference instructions each having a LOCK prefix followed by an ACQUIRE instruction, wherein during the specification phase, each memory reference instruction specifies a memory address associated with the given memory resource;
in response to execution of the ACQUIRE instruction, comparing each memory address specified in the critical section of code 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; and
in response to any memory address of the critical section of code matching any address of a plurality of sets of addresses, causing the ACQUIRE instruction to fail; and
inhibiting modifying data corresponding to any memory address in an atomic phase of the critical section of code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
a plurality of processors coupled together and to one or more memories, wherein each of the processors is configured to execute instructions to request exclusive access to a given memory resource, wherein the request includes a specification phase of a critical section of code having a one or more memory reference instructions having a LOCK prefix followed by an ACQUIRE instruction, wherein each memory reference instruction specifies a memory address associated with the given memory resource; and
an arbitration unit coupled to compare each memory address of the specification phase the critical section of code to each address of a plurality of sets of addresses in response to execution of the ACQUIRE instruction, 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 in response to any memory address of the critical section of code matching any address of a plurality of sets of addresses, each of the processors is configured to;
cause the ACQUIRE instruction to fail; and
inhibit modifying data corresponding to any memory address in an atomic phase of the critical section of code. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification