A method for transferring data between a processor and a memory includes
(A) executing, at the processor, an instruction that includes (i) a
specifier of a location in a storage resource local to the processor, (ii)
a specifier of an address in the memory, and (iii) a specifier of a size
of a data block, (B) providing, from the processor to a controller, a set
of control signals indicating (i) the address in the memory, and (ii) the
size of the data block; and (C) transferring, by the controller, in
response to receipt of the set of control signals, the data block
atomically between the storage resource and the memory, without the
processor having to first request a lock on the memory.