Caches and Write Buffer
4.1
About the caches and write buffer
4-2
The ARM926EJ-S processor includes:
•
an Instruction Cache (ICache)
•
a Data Cache (DCache)
•
a write buffer.
The size of the caches can be from 4KB to 128KB, in power of two increments.
The caches have the following features:
•
The caches are virtual index, virtual tag, addressed using the Modified Virtual
Address (MVA). This enables the avoidance of cache cleaning and/or invalidating
on context switch.
•
The caches are four-way set associative, with a cache line length of eight words
per line (32 bytes per line), and with two dirty bits in the DCache.
•
The DCache supports write-through and write-back (or copyback) cache
operations, selected by memory region using the C and B bits in the MMU
translation tables.
•
Allocate on read-miss is supported. The caches perform critical-word first cache
refilling.
•
Pseudo-random or round-robin replacement, selectable by the RR bit in CP15 c1.
•
Cache lockdown registers enable control over which cache ways are used for
allocation on a linefill, providing a mechanism for both lockdown and controlling
cache pollution.
•
The DCache stores the Physical Address (PA) tag corresponding to each DCache
entry in the tag RAM for use during cache line write-backs, in addition to the
Virtual Address tag stored in the tag RAM. This means that the MMU is not
involved in DCache write-back operations, removing the possibility of TLB
misses related to the write-back address.
•
The PLD data preload instruction does not cause data cache linefills. It is treated
as a NOP instruction.
•
Cache maintenance operations to provide efficient invalidation of:
—
the entire DCache or ICache
—
regions of the DCache or ICache
—
regions of virtual memory.
They also provide operations for efficient cleaning and invalidation of:
—
the entire DCache
—
regions of the DCache
—
regions of virtual memory.
Copyright © 2001-2003 ARM Limited. All rights reserved.
ARM DDI0198D