mcf5407 Freescale Semiconductor, Inc, mcf5407 Datasheet - Page 136

no-image

mcf5407

Manufacturer Part Number
mcf5407
Description
Mcf5407 Coldfire Integrated Microprocessor User
Manufacturer
Freescale Semiconductor, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
mcf5407AI162
Manufacturer:
FREESCALE
Quantity:
201
Part Number:
mcf5407AI162
Manufacturer:
FREESCAL
Quantity:
132
Part Number:
mcf5407AI162
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5407AI162
Manufacturer:
ALTERA
0
Part Number:
mcf5407AI220
Manufacturer:
freescaie
Quantity:
6
Part Number:
mcf5407AI220
Manufacturer:
Freescale Semiconductor
Quantity:
135
Part Number:
mcf5407AI220
Manufacturer:
FREESCALE
Quantity:
1 831
Part Number:
mcf5407AI220
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5407AI220
Manufacturer:
NXP
Quantity:
25
Part Number:
mcf5407CAI162
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Cache Operation
To allocate a cache entry, the cache set index selects one of the cache’s 128 sets. The cache
control logic looks for an invalid cache line to use for the new entry. If none is available,
the cache controller uses a pseudo-round-robin replacement algorithm to choose the line to
be deallocated and replaced. First the cache controller looks for an invalid line, with way 0
the highest priority. If all lines have valid data, a 2-bit replacement counter is used to choose
the way. After a line is allocated, the pointer increments to point to the next way.
Cache lines from ways 0 and 1 can be protected from deallocation by enabling half-cache
locking. If CACR[DHLCK,IHLCK] = 1, the replacement pointer is restricted to way 2 or 3.
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, the following three things happen:
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:
Note the following:
4-12
1. The new address tag bits A[31:11] 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).
1. The cache initiates a line fill or flush.
2. Space is allocated for a new line.
3. V and M are both set to indicate valid and modified.
4. Data is written in the allocated space. No write to memory occurs.
• Read hits cannot change the status bits and no deallocation or replacement occurs;
• If the cache hits on a write access, data is written to the appropriate portion of the
• 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
the data or instructions are read from the cache.
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 = 1 and M = 1).
miss, the cache controller does not validate data in the cache line.
MCF5407 User’s Manual

Related parts for mcf5407