6.5.1. Write buffer operation

The write buffer is used when the DCache hits and/or misses, depending on the mode of operation. Table 6.2 shows how the Cd and Bd bits control the behavior of the write buffer.

Table 6.2. Data write modes

Cd

Bd

Access mode

0

0

NCNB (noncachable, nonbufferable)

0

1

NCB (noncachable, bufferable)

1

0

WT (write-through)

1

1

WB (write-back)

NCNB

Data reads and writes are not cached, and can be externally aborted. Writes are not buffered, so the processor is stalled until the external access is performed. NCNB reads bypass the write buffer.

NCB

Data reads and writes are not cached. Writes are buffered, and so cannot be externally aborted. Reads can be externally aborted. Reads cause the write buffer to drain.

If the DCache hits for this type of access, there has been a programming error. DCache hits are ignored and the DCache line is not updated for a read.

Swap instructions operation on data in an NCB region are made to perform NCNB type accesses and are not buffered.

WT

Searches the DCache for reads and writes. Reads that miss in the DCache cause a line fill. Reads that hit in the DCache do not perform an external access. All writes are buffered, regardless of whether they hit or miss in the DCache. Writes that hit in the DCache update the cache but do not mark the cache line as dirty, because the write is also sent to the write buffer. Writes cannot be externally aborted. DCache linefills cause the write buffer to drain before the linefill starts.

WB

Searches the DCache for reads and writes. Reads that miss in the DCache cause a line fill. Reads that hit in the DCache do not perform an external access. Writes that miss in the DCache are buffered. Writes that hit in the DCache update the cache line, mark it as dirty, and do not send the data to the write buffer. DCache write-backs are buffered. Writes (write-miss and write-back) cannot be externally aborted. DCache linefills cause the write buffer to drain before the linefill starts.

Copyright © 2000 ARM Limited. All rights reserved.ARM DDI 0155A
Non-Confidential