
8-36
ColdFire CF4e Core User’s Manual
For More Information On This Product,
Go to: www.freescale.com
Cache Overview
operations are similar except that there is no support for writing to the cache directly;
therefore such notions as modified cache lines and write allocation do not apply.
Figure 8-13. Data Caching Operation
The following steps determine if a data cache line is allocated for a given address:
1. The cache set index, A[10:4], selects one cache set.
2. A[31:11] and the cache set index are used as a tag reference or are used to update
the cache line tag field.
3. Note that A[31:11] can specify 2
21
possible addresses that can be mapped to one of
four ways.
4. The four tags from the selected cache set are compared with the tag reference. A
cache hit occurs if a tag matches the tag reference and the V bit is set, indicating that
the cache line contains valid data. If a cacheable write access hits in a valid cache
line, the write can occur to the cache line without having to load it from memory.
If the memory space is copyback, the updated cache line is marked modified
(M = 1), because the new data has made the data in memory out of date. If the
memory location is write-through, the write is passed on to system memory and the
M bit is never used. Note that the tag does not have TT or TM bits.
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,
0
3
4
10
11
31
Index
Tag Data/Tag Reference
MUX
Comparator
0
1
2
3
Logical OR
Hit 3
Hit 2
Hit 1
Hit 0
Hit
Line Select
Set 0
Set 1
Set 127
Address
A[31:11]
Way 0
Way 1
Way 2
Way 3
TAG
STATUS LW0 LW1 LW2 LW3
TAG
STATUS LW0 LW1 LW2 LW3
Address
Set
Select
A[10:4]
Data
F
Freescale Semiconductor, Inc.
n
.