![](http://datasheet.mmic.net.cn/290000/XPC801ZP25_datasheet_16187868/XPC801ZP25_157.png)
Instruction Cache
9-6
MPC801 USER’S MANUAL
MOTOROLA
9
9.2.3 Instruction Cache Data Port Register
This register is used to read and write arrays for debug and load & lock.
DAT—Data
These bits represent the data received when reading information from the instruction cache.
Reset value is undefined.
9.3 HOW THE INSTRUCTION CACHE WORKS
On an instruction fetch, bits 21-27 of the instruction’s address point into the cache to retrieve
the tags and data of one set. The tags from both ways are then compared against bits 0-20
of the instruction’s address. If a match is found and the matched entry is valid, then it is a
cache hit. If neither tags match or the matched tag is not valid, it is a cache miss. The
instruction cache includes one burst buffer that holds the last line received from the bus and
one line buffer that holds the last line retrieved from the cache array. If the requested data
is found in one of these buffers, it can also be considered a cache hit. Refer to Figure 9-2
for more information. To minimize power consumption, the instruction cache tries to make
use of data stored in one of its internal buffers. Using a special indication from the core, it is
possible to make sure that the requested data is in one of the buffers early enough that the
cache array is not activated.
9.3.1 Instruction Cache Hit
When a cache hit occurs, bits 28-29 of the instruction address are used to select one word
from the cache line whose tag matches bits 0–20 of the instruction’s address. The instruction
is then immediately transferred to the instruction unit of the core.
9.3.2 Instruction Cache Miss
When an instruction cache miss occurs, the address of the missed instruction is driven onto
the internal bus with a 4-word burst transfer read request. A cache line is then selected to
receive the data which will be coming from the bus. The selection algorithm gives first priority
to invalid lines. If neither of the two lines in the selected set are invalid, then the least recently
used line is selected for replacement. Locked lines are never replaced. The transfer begins
with the word requested by the instruction unit (critical word first), followed by the remaining
words (if any) of the line, then by the word at the beginning of the lines (wraparound).
IC_DAT
BIT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FIELD
DAT
BIT
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FIELD
DAT