A method and system for enabling a director to perform an atomic read-modify-write
operation on plural bit read data stored in a selected one of a plurality of memory
locations. The method includes providing a plurality of successive full adders,
each one of the full adders being associated with a corresponding one of the bits
of the plural bit read data. Each one of the full adders has a summation output,
a carry bit input and a carry bit output. The method includes adding in each one
of the full adders: (a) a corresponding bit of plural bit input data provided by
the director; (b) the corresponding one of the bits of the plural bit read data;
and, (c) a carry bit fed the carry bit input from a preceding full adder. Each
one of the full adders provides: (a) a carry bit on the carry output thereof representative
of the most significant bit produced by the full adder; and, (b) a bit on the summation
output representative of a least significant bit produced by the full adder. The
bit on the summation output is stored in a corresponding bit location in the selected
one of a plurality of memory locations. The method selectively couples, or inhibits
coupling, the carry bit produced from one of the full adders to the carry bit input
of a next successive full adder selectively in accordance with a corresponding
bit of a plural bit carry bit mask provided by the director providing a full adder
for each one of the bits of the plural bit read stored. The full adder has a carry
bit input and a carry bit output. The method includes adding each one of a bits
of plural bit input data provided by the director with a corresponding one of the
bits of the plural bit read data in the provided full adder together with a carry
bit fed the carry bit input of such provided full adder. The full adder provides:
a carry output bit; and, a summation of the bits fed to such provided full adder
to the corresponding bit location in the selected one of a plurality of memory
locations. The method selectively couples, or inhibits coupling, a carry bit produced
by one full adder provided for a lower order bit of the plural bit read data to
the carry bit input of a second full adder provided by for next, successive higher
order bit of the plural bit read data selectively in accordance with one of a plurality
of bits of a carry bit mask provided by the director.