Datasheet

Chapter 4. Local Memory 4-7
Cache Overview
The MCF5407 implements a special branch instruction cache for accelerating branches,
enabled by a bit in the cache access control register (CACR[BEC]). The branch cache is
described in Section 2.1.2.1.1, “Branch Acceleration.
The MCF5407 processor’s Harvard memory structure includes an 8-Kbyte data cache and
a 16-Kbyte instruction cache. Both are nonblocking and 4-way set-associative with a
16-byte line. The cache improves system performance by providing single-cycle access to
the instruction and data pipelines. This decouples processor performance from system
memory performance, increasing bus availability for on-chip DMA or external devices.
Figure 4-2 shows the organization and integration of the data cache.
Figure 4-2. Data Cache Organization
Both caches implement line-ll buffers to optimize line-sized burst accesses. The data
cache supports operation of copyback, write-through, or cache-inhibited modes. A
four-entry, 32-bit buffer supports cache line-push operations, and can be congured to defer
write buffering in write-through or cache-inhibited modes. The cache lock feature can be
used to guarantee deterministic response for critical code or data areas.
A nonblocking cache services read hits or write hits from the processor while a ll (caused
by a cache allocation) is in progress. As Figure 4-2 shows, accesses use a single bus
connected to the cache.
All addresses from the processor to the cache are physical addresses. A cache hit occurs
when an address matches a cache entry. For a read, the cache supplies data to the processor.
For a write, which is permitted only to the data cache, the processor updates the cache. If
an access does not match a cache entry (misses the cache) or if a write access must be
written through to memory, the cache performs a bus cycle on the internal bus and
correspondingly on the external bus by way of the system integration module (SIM).
The SRAM module does not implement bus snooping; cache coherency with other possible
bus masters must be maintained in software.
System
Address/
Control
Cache
Control Logic
Directory Array
Data Array
Data Path
ColdFire
Address Path
Control
Data
Address
External
Bus
Data
Control
Data
Address
Integration
Module
(SIM)
Processor
Core