2 write buffer operation, 1 bufferable write, 2 unbufferable write – Epson ARM.POWERED ARM720T User Manual

Page 78: 3 read-lock-write, 4 reading from a noncachable area, 5 draining the write buffer, 6 multi-word writes, Write buffer operation -2

Advertising
background image

5: Write Buffer

5-2

EPSON

ARM720T CORE CPU MANUAL

5.2

Write buffer operation

You control the operation of the write buffer with CP15 register 1, the Control Register (see

Control Register

on page 3-4).

When the CPU performs a write operation, the translation entry for that address is inspected

and the state of the B bit determines the subsequent action. If the write buffer is disabled

using the Control Register, buffered writes are treated in the same way as unbuffered writes.
To enable the write buffer:

1

Ensure that the MMU is enabled by setting bit 0 in the Control Register.

2

Enable the write buffer by setting bit 3 in the Control Register.
You can enable the MMU and write buffer simultaneously with a single write to the

Control Register.

To disable the write buffer, clear bit 3 in the Control Register. Any writes already in the write

buffer complete normally. The write buffer attempts a write operation as long as there is data

present.

5.2.1

Bufferable write

If the write buffer is enabled and the processor performs a write to a bufferable area, the data

is placed in the write buffer at the speed of HCLK, and the CPU continues execution. The write

buffer then performs the external write in parallel.
If the write buffer is full, the processor is stalled until there is an empty line in the buffer.

5.2.2

Unbufferable write

If the write buffer is disabled or the CPU performs a write to an unbufferable area,

the processor is stalled until the write buffer empties and the write completes externally. This

might require synchronization and several external clock cycles.

5.2.3

Read-lock-write

The write phase of a read-lock-write sequence (SWP instruction) is treated as an unbuffered

write, even if it is marked as buffered.

5.2.4

Reading from a noncachable area

If the CPU performs a read from a noncachable area, the write buffer is drained and the

processor is stalled.

5.2.5

Draining the write buffer

You can force a drain of the write buffer by performing a read from a noncachable location.

5.2.6

Multi-word writes

All accesses are treated as nonsequential, which means that writes require an address slot and

a data slot for each word. For this reason, buffered STM accesses could be less efficient than

unbuffered STM accesses. You are advised to disable the write buffer (by clearing bit 3 in CP15

register 1) before moving large blocks of data.

Advertising