Caches
3-8
Copyright © ARM Limited 2000. All rights reserved.
3.3
DCache
The ARM946E-S has a four-way set-associative DCache. You can choose the size of
the DCache from any of the supported cache sizes. The DCache uses the physical
address generated by the processor core. It uses an allocate on read-miss policy, and is
always reloaded one cache line (eight words) at a time, through the external interface.
The DCache supports both write back (WB) and write through (WT) modes. For data
stores that hit in the DCache, in WB mode the cache line is updated and the dirty bit
associated with the half cache line updated is set. This indicates that the internal version
of the data differs from that in external memory. In WT mode, a store that hits in the
DCache causes the cache line to be updated but not masked as dirty, as the data store is
also written to the write buffer to keep the external memory consistent. In both WB and
WT modes, a store that misses in the cache is sent to the write buffer. When a linefetch
causes a cache line to be evicted from the DCache, the dirty bit for each half of the
victim line is read and, if the half-line contains valid and dirty data, it is written back to
the write buffer before the linefill replaces it.
The Cachable data (Cd) and Bufferable data (Bd) bits control the behavior of the
DCache. For this reason the protection unit must be enabled when the DCache is
enabled.
3.3.1
Enabling and disabling the DCache
You can enable the DCache by setting bit 2 of the CP15 control register. The cache is
only enabled if the protection unit is already enabled, or is enabled simultaneously.
You can enable the DCache and protection unit simultaneously with a single write to
the CP15 control register, although you must program at least one protection region
before you enable the protection unit.
You can disable the DCache by clearing bit2 of the CP15 control register.
The DCache is automatically disabled and flushed on reset.
When the DCache is disabled, cache searches are prevented. This marks all data
accesses as noncachable, forcing the ARM946E-S to perform external accesses. The
write buffer control is still decoded from the Bd and Cd bits. The Cd bit is forced to 0
(noncachable).
Summary of Contents for ARM946E-S
Page 1: ...ARM DDI 0155A ARM946E S Technical Reference Manual ...
Page 6: ...vi Copyright ARM Limited 2000 All rights reserved ARM DDI 0155A 04 Limited Confidential ...
Page 54: ...Programmer s Model 2 34 Copyright ARM Limited 2000 All rights reserved ARM DDI 0155A ...
Page 70: ...Caches 3 16 Copyright ARM Limited 2000 All rights reserved ARM DDI 0155A ...
Page 78: ...Protection Unit 4 8 Copyright ARM Limited 2000 All rights reserved ARM DDI 0155A ...
Page 112: ...Coprocessor Interface 7 14 Copyright ARM Limited 2000 All rights reserved ARM DDI 0155A ...