SYNCHRONIZED ACCESS TO DATA IN SHARED MEMORY BY PROTECTING THE LOAD TARGET ADDRESS OF A LOAD-RESERVE INSTRUCTION
First Claim
1. A processing unit for a data processing system including multiple processing units all having access to a shared memory via a system interconnect, said processing unit comprising:
- a processor core that executes memory access instructions including a load-type instruction, wherein execution of the load-type instruction generates a corresponding core request that specifies a target address; and
a cache memory coupled to the processor core, wherein the cache memory includes a directory and is configured to perform;
responsive to receipt of the core request, determining whether the target address hits in the directory;
based on determining the target address hits in the directory, refraining from issuing on the system interconnect an memory access request for data identified by the target address, servicing the core request, and protecting the target address against access by a conflicting memory access request during a protection interval following servicing of the core request.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system includes multiple processing units all having access to a shared memory. A processing unit includes a processor core that executes memory access instructions including a load-type instruction. Execution of the load-type instruction generates a corresponding request that specifies a target address. The processing unit further includes a read-claim state machine that, responsive to receipt of the request, protects the load target address against access by any conflicting memory access request during a protection interval following servicing of the request.
8 Citations
20 Claims
-
1. A processing unit for a data processing system including multiple processing units all having access to a shared memory via a system interconnect, said processing unit comprising:
-
a processor core that executes memory access instructions including a load-type instruction, wherein execution of the load-type instruction generates a corresponding core request that specifies a target address; and a cache memory coupled to the processor core, wherein the cache memory includes a directory and is configured to perform; responsive to receipt of the core request, determining whether the target address hits in the directory; based on determining the target address hits in the directory, refraining from issuing on the system interconnect an memory access request for data identified by the target address, servicing the core request, and protecting the target address against access by a conflicting memory access request during a protection interval following servicing of the core request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of data processing in a processing unit of a data processing system including multiple processing units all having access to a shared memory via a system interconnect, the processing unit including a processor core and a cache memory, said method comprising:
-
a processor core executing memory access instructions including a load-type instruction, wherein execution of the load-type instruction generates a corresponding core request that specifies a target address; and the cache memory, responsive to receipt of the core request; determining whether the target address hits in the directory; based on determining the target address hits in the directory, refraining from issuing on the system interconnect an memory access request for data identified by the target address, servicing the core request, and protecting the target address against access by a conflicting memory access request during a protection interval following servicing of the core request. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A design structure tangibly embodied in a machine-readable storage device for designing, manufacturing, or testing an integrated circuit, the design structure comprising:
a processing unit for a data processing system including multiple processing units all having access to a shared memory via a system interconnect, said processing unit including; a processor core that executes memory access instructions including a load-type instruction, wherein execution of the load-type instruction generates a corresponding core request that specifies a target address; and a cache memory coupled to the processor core, wherein the cache memory includes a directory and is configured to perform; responsive to receipt of the core request, determining whether the target address hits in the directory; based on determining the target address hits in the directory, refraining from issuing on the system interconnect an memory access request for data identified by the target address, servicing the core request, and protecting the target address against access by a conflicting memory access request during a protection interval following servicing of the core request. - View Dependent Claims (17, 18, 19, 20)
Specification