
MOTOROLA
5-6
INSTRUCTION CACHE
For More Information On This Product,
Go to: www.freescale.com
RCPU
REFERENCE MANUAL
To minimize power consumption, the I-cache attempts to make use of data stored
in one of its internal buffers. Using a special indication from the CPU, it is also pos-
sible, in some cases, to detect that the requested data is in one of the buffers early
enough so the cache array is not activated at all.
5.3.1 Cache Hit
On a cache hit, bits 28 to 29 of the instruction’s address are used to select one word
from the cache line whose tag matched. In the same clock cycle, the instruction is
transferred to the instruction unit of the processor.
5.3.2 Cache Miss
On a cache miss, the address of the missed instruction is driven on the I-bus with
a four-word burst transfer read request. A cache line is then selected to receive the
data that will be coming from the bus. The selection algorithm gives first priority to
invalid lines. If neither of the two candidate lines in the selected set are invalid, then
the least recently used line is selected for replacement. Locked lines are never re-
placed.
The transfer begins with the word requested by the instruction unit (critical word
first), followed by any remaining words of the line, then by any remaining words at
the beginning of the line (wrap around). As the missed instruction is received from
the bus, it is immediately delivered to the instruction unit and also written to the
burst buffer.
As subsequent instructions are received from the bus they are also written into the
burst buffer and, if needed, delivered to the instruction unit (stream hit) either di-
rectly from the bus or from the burst buffer. When the entire line resides in the burst
buffer, it is written to the cache array if the cache array is not busy with an instruc-
tion unit request.
If a bus error is encountered on the access to the requested instruction, a machine
check exception is taken. If a bus error occurs on any access to other words in the
line, the burst buffer is marked invalid and the line is not written to the array. If no
bus error is encountered, the burst buffer is marked valid and eventually is written
to the array.
Together with the missed word, an indication may arrive from the I-bus that the
memory device is non-cacheable. If such an indication is received, the line is writ-
ten only to the burst buffer and not to the cache. Instructions stored in the burst
buffer that originated in a cache-inhibited memory region are used only once before
being refetched. Refer to
5.4.8 Cache Inhibit
for more information.
5.3.3 Instruction Fetch on a Predicted Path
The processor implements branch prediction to allow branches to issue as early as
possible. This mechanism allows instruction pre-fetch to continue while an unre-
solved branch is being computed and the condition is being evaluated. Instructions
fetched following unresolved branches are said to be fetched on a predicted path.
F
Freescale Semiconductor, Inc.
n
.