Motorola DigitalDNA ColdFire MCF5272 User Manual page 104

Integrated microprocessor
Table of Contents

Advertisement

Instruction Cache Overview
The tag array maintains a single valid bit per line entry. Accordingly, only entire 16-byte
lines are loaded into the instruction cache.
The instruction cache also contains a 16-byte fill buffer that provides temporary storage for
the last line fetched in response to a cache miss. With each instruction fetch, the contents
of the line-fill buffer are examined. Thus, each instruction fetch address examines both the
tag memory array and the line-fill buffer to see if the desired address is mapped into either
hardware resource. A cache hit in either the memory array or the line-fill buffer is serviced
in a single cycle. Because the line-fill buffer maintains valid bits on a longword basis, hits
in the buffer can be serviced immediately without waiting for the entire line to be fetched.
If the referenced address is not contained in the memory array or the line-fill buffer, the
instruction cache initiates the required external fetch operation. In most situations, this is a
16-byte line-sized burst reference.
Hardware is nonblocking, meaning the ColdFire core's local bus is released after the initial
access of a miss. Thus, the cache, SRAM, or ROM module can service subsequent requests
while the rest of the line is being fetched and loaded into the fill buffer.
Generally, longword references are used for sequential fetches. If the processor branches to
an odd word address, a word-sized fetch is generated. The memory array of the instruction
cache is enabled only if CACR[CENB] is asserted.
Local Address Bus
31
4-8
31
9
43
1 2
0
Line
=
Fill Hit
Figure 4-3. Instruction Cache Block Diagram
MCF5272 User's Manual
4
Buffer
Address
31
9
0
Tag
31
=
Tag Hit
External Data[31:0]
Line Buffer Data Storage
MUX
31
0
0
Data
63
MUX
Local Data Bus

Advertisement

Table of Contents
loading

Table of Contents