![Freescale Semiconductor MCF54455 Reference Manual Download Page 161](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541161.webp)
Cache
6-16
Freescale Semiconductor
6.4.3
Cache Coherency (Data Cache Only)
The processor provides limited support for maintaining cache coherency in multiple-master environments.
Write-through and copyback memory update techniques are supported to maintain coherency between the
cache and memory.
The cache does not support snooping (cache coherency is not supported while external or DMA masters
use the bus). Therefore, on-chip DMA channels should not access cached local memory locations because
coherency is not maintained with the data cache.
6.4.4
Memory Accesses for Cache Maintenance
The cache controller performs all maintenance activities that supply data from the cache to the core,
including requests for reading new cache lines and writing modified cache lines to memory. The following
sections describe memory accesses resulting from cache fill and push operations.
6.4.4.1
Cache Filling
When a new cache line is required, a line read is requested, which generates a burst-read transfer by
indicating a line access with the size signals, SIZ[1:0].
The responding device supplies four consecutive longwords of data. Line accesses implicitly request
burst-mode operations from memory, but burst operations can be inhibited or enabled through the burst
read/write enable bits (CSCR
n
[BSTR, BSTW]). For more information regarding external bus burst-mode
accesses, see
The first cycle of a cache-line read loads the longword entry corresponding to the requested address.
Subsequent transfers load the remaining longword entries.
A burst operation aborts by a write-protection fault, which is the only possible access error. Exception
processing proceeds immediately. Unlike Version 2 and Version 3 access errors, the program counter
stored on the exception stack frame points to the faulting instruction. See
Section 3.3.4.1, “Access Error
6.4.4.2
Cache Pushes
Cache pushes occur for line replacement and as required for the execution of the CPUSHL instruction. To
reduce the requested data’s latency in the new line, the modified line being replaced is temporarily placed
in the push buffer while the new line is fetched from memory. After the bus transfer for the new line
completes, the modified cache line writes back to memory and the push buffer invalidates.
6.4.4.2.1
Push and Store Buffers
The 16-byte push buffer reduces latency for requested new data on a cache miss by holding a displaced
modified data cache line while the new data is read from memory.
If a cache miss displaces a modified line, a miss read reference is immediately generated. While waiting
for the response, the current contents of the cache location load into the push buffer. When the burst-read
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...