A processor-based device, comprising: a system memory comprising a plurality of address blocks (111 -111) and a plurality of coherence granules (110 -110); a special-purpose central ordering point, SPCOP, comprising an SPCOP logic circuit; and a plurality of processing elements, PEs, (102 -102) each comprising a memory access logic circuit (118 -118); the memory access logic circuit (118) of a first PE (102) of the plurality of PEs configured to: detect an atomic memory access request that spans a boundary between a first coherence granule (110) and a second coherence granule (110) of the system memory; send a request for a coherence granule pair atomic access, CPAA, token for an address block (111) containing the first coherence granule to the SPCOP; receive, from the SPCOP, the CPAA token for the address block containing the first coherence granule, the CPAA token indicating that the first PE of the plurality of PEs is allowed to protect the address block containing the first coherence granule; obtain the first coherence granule and the second coherence granule in an exclusive state; complete the atomic memory access request; and send a request to return the CPAA token for the address block containing the first coherence granule to the SPCOP. a system memory comprising a plurality of address blocks (111 -111) and a plurality of coherence granules (110 -110); a special-purpose central ordering point, SPCOP, comprising an SPCOP logic circuit; and a plurality of processing elements, PEs, (102 -102) each comprising a memory access logic circuit (118 -118); the memory access logic circuit (118) of a first PE (102) of the plurality of PEs configured to: detect an atomic memory access request that spans a boundary between a first coherence granule (110) and a second coherence granule (110) of the system memory; send a request for a coherence granule pair atomic access, CPAA, token for an address block (111) containing the first coherence granule to the SPCOP; receive, from the SPCOP, the CPAA token for the address block containing the first coherence granule, the CPAA token indicating that the first PE of the plurality of PEs is allowed to protect the address block containing the first coherence granule; obtain the first coherence granule and the second coherence granule in an exclusive state; complete the atomic memory access request; and send a request to return the CPAA token for the address block containing the first coherence granule to the SPCOP. detect an atomic memory access request that spans a boundary between a first coherence granule (110) and a second coherence granule (110) of the system memory; send a request for a coherence granule pair atomic access, CPAA, token for an address block (111) containing the first coherence granule to the SPCOP; receive, from the SPCOP, the CPAA token for the address block containing the first coherence granule, the CPAA token indicating that the first PE of the plurality of PEs is allowed to protect the address block containing the first coherence granule; obtain the first coherence granule and the second coherence granule in an exclusive state; complete the atomic memory access request; and send a request to return the CPAA token for the address block containing the first coherence granule to the SPCOP.