Does AMOMAXU.D place the new memory result in rd?
No. On success rd receives old 64-bit memory and the unsigned maximum result is stored in memory; rd=x0 discards register writeback.
RV64 atomic unsigned maximum: rd receives the old 64-bit memory value; memory receives unsigned max(old, rs2Low64).
AMOMAXU.D (A / Zaamo, RV64) atomically reads, modifies and writes the 64-bit doubleword at rs1: compare old memory with the low 64 bits of the pre-execution rs2 as unsigned integers, store the selected bit pattern at the original address, and return old memory in rd. rd=x0 discards only register writeback; the memory operation still occurs. Overlapping registers use pre-execution source values. aq/rl add ordering only in the accessed memory or I/O domain; use FENCE for cross-domain ordering.
Shows A / Zaamo doubleword atomic field decode, aq/rl ordering bits, a memory read, and RMW state update.
A / Zaamo-extension doubleword atomic instructions use a 32-bit encoding; the animation starts by splitting the fields.
AMOMAXU.D selects the memory writeback doubleword using an unsigned 64-bit comparison; this is not a per-bit logical operation.
Assumes the region supports this AMO and the access succeeds. Shows comparison, old-value return, memory update and aq/rl ordering in the accessed domain. Steps are a teaching sequence; access faults, CPU cache coherence, pipelines and timing are not modeled.
AMOMAXU.D stores the unsigned maximum to memory and, on success, returns old memory in rd; rd=x0 discards only register writeback.
Successful 64-bit access example: a2=0x1000, old memory=5, a1=3; amomaxu.d a0, a1, (a2) returns a0=5 and updates memory to 5. The address is naturally aligned and the region supports this AMO.
Successful 64-bit access example: a2=0x1000, old memory=5, a1=3; amomaxu.d a0, a1, (a2) returns a0=5 and updates memory to 5. The address is naturally aligned and the region supports this AMO.
Successful 64-bit access example: a2=0x1000, old memory=5, a1=3; amomaxu.d a0, a1, (a2) returns a0=5 and updates memory to 5. The address is naturally aligned and the region supports this AMO.
No. On success rd receives old 64-bit memory and the unsigned maximum result is stored in memory; rd=x0 discards register writeback.
No. aq/rl only affect memory-ordering constraints; they do not change this AMO.D instruction's 64-bit data result.