User guide
Programmers Model
ARM DDI 0337I Copyright © 2005-2008, 2010 ARM Limited. All rights reserved. 3-14
ID072410 Non-Confidential
3.5 Write buffer
To prevent bus wait cycles from stalling the processor during data stores, buffered stores to the
DCode and System buses go through a one-entry write buffer. If the write buffer is full,
subsequent accesses to the bus stall until the write buffer has drained. The write buffer is only
used if the bus waits the data phase of the buffered store, otherwise the transaction completes
on the bus.
DMB
and
DSB
instructions wait for the write buffer to drain before completing. If an interrupt
comes in while
DMB
or
DSB
is waiting for the write buffer to drain, the processor returns to the
instruction following the
DMB
or
DSB
after the interrupt completes. This is because interrupt
processing acts as a memory barrier operation.