![Freescale Semiconductor MCF54455 Reference Manual Download Page 156](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541156.webp)
Cache
Freescale Semiconductor
6-11
As part of deallocation, a valid, unmodified cache line is invalidated. It is consistent with system memory,
so memory does not need to be updated. To deallocate a modified cache line, data is placed in a push buffer
(for an external cache line push) before being invalidated. After invalidation, the new entry can replace it.
The old cache line may be written after the new line is read.
When a cache line is selected to host a new cache entry, three things happen:
1. The new address tag bits A[31:12] are written to the tag.
2. The cache line is updated with the new memory data.
3. The cache line status changes to a valid state (V = 1).
Read cycles that miss in the cache allocate normally as previously described. Write cycles that miss in the
cache do not allocate on a cacheable write-through region but do allocate for addresses in a cacheable
copyback region.
A copyback byte, word, longword, or line write miss causes the following:
1. The cache initiates a line fill or flush.
2. Space is allocated for a new line.
3. V and M are set to indicate valid and modified.
4. Data is written in the allocated space. No write to memory occurs.
NOTE
Read hits cannot change the status bits and no deallocation or replacement
occurs; the data or instructions are read from the cache. If the cache hits on
a write access, data is written to the appropriate portion of the accessed
cache line. Write hits in cacheable, write-through regions generate an
external write cycle and the cache line is marked valid, but is never marked
modified. Write hits in cacheable copyback regions do not perform an
external write cycle; the cache line is marked valid and modified (V and M
are set). Misaligned accesses are broken into at least two cache accesses.
Validity is provided only on a line basis. Unless a whole line is loaded on a
cache miss, the cache controller does not validate data in the cache line.
Write accesses designated as cache-inhibited by the CACR or ACR bypass the cache and perform a
corresponding external write.
Normally, cache-inhibited reads bypass the cache and are performed on the external bus. The exception
occurs when all of the following conditions are true during a cache-inhibited read:
•
The cache-inhibited fill buffer bit, CACR[DNFB], is set.
•
The access is an instruction read.
•
The access is normal (TT = 0).
In this case, an entire line is fetched and stored in the fill buffer. It remains valid there, and the cache can
service additional read accesses from this buffer until either another fill or a cache-invalidate-all operation
occurs.
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 ...