English
Language : 

MCF5272CVM66 Datasheet, PDF (109/544 Pages) Freescale Semiconductor, Inc – MCF5272 ColdFire® Integrated Microprocessor
4.5 Instruction Cache Overview
The features of the instruction cache are as follows:
• 1-Kbyte direct-mapped cache
• Single-cycle access on cache hits
• Physically located on ColdFire core's high-speed local bus
• Nonblocking design to maximize performance
• 16-byte line-fill buffer
• Configurable cache miss-fetch algorithm
Local Memory
4.5.1 Instruction Cache Physical Organization
The instruction cache, Figure 4-3, is a direct-mapped single-cycle memory, organized as 64 lines, each
containing 16 bytes. Memory consists of a 64-entry tag array (containing addresses and a valid bit) and a
1-Kbyte instruction data array, organized as 64 x 128 bits.
The two memory arrays are accessed in parallel: bits 9–4 of the instruction fetch address provide the index
into the tag array; bits 9–2 address the data array. The tag array outputs the address mapped to the given
cache location along with the valid bit for the line. This address field is compared to bits 31–10 of the
instruction fetch address from the local bus to determine if a cache hit in the memory array has occurred.
If the desired address is mapped into the cache memory, the output of the data array is driven onto the
ColdFire core's local data bus completing the access in a single cycle.
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.
MCF5272 ColdFire® Integrated Microprocessor User’s Manual, Rev. 3
Freescale Semiconductor
4-7