MOTOROLA
ColdFire2/2M User’s Manual
For More Information On This Product,
Go to: www.freescale.com
5-1
SECTION 5
INTEGRATED MEMORIES
The ColdFire2/2M has dedicated buses to support three integrated memories: instruction
cache, RAM, and ROM.
5.1 INSTRUCTION CACHE
The ColdFire2/2M has a dedicated bus to support an integrated instruction cache with the
following features:
0 - 32 Kbyte direct-mapped instruction cache
Instruction cache byte size programmed with ICH_SZ[2:0] static signals
Single-cycle access on cache hits
Physically located on processor’s high-speed local bus
Non-blocking design to maximize performance
Configurable cache-miss fetch algorithm
The cache module services instruction-fetch requests from the ColdFire2/2M by either
returning matching 32-bit cache entries in a single clock, or by initiating memory requests to
service accesses that miss in the cache. The instruction cache size is specified via the
ICH_SZ[2:0] pins which are static signals that need to stay valid for all operation. Only the
ColdFire2/2M can access the cache. A fetch is defined as a read from user or supervisor
code space only.
5.1.1 Instruction Cache Hardware Organization
The instruction cache is an optional direct-mapped single-cycle memory, organized as 32
(512 byte) to 2K (32 Kbyte) lines, each containing 4 longwords or 16 bytes. The data array
is organized in longwords, 4 bytes per entry. The tag array is organized in lines, one entry
per four longwords or line. The cache size is determined by the encoding of the ICH_SZ[2:0]
inputs as shown in
Table 5-1
. Thus the memory storage consists of a N-entry tag array
(where N corresponds to the number of lines in the data array) containing addresses and a
valid bit, and the data array containing M bytes of instruction data (where M= 512,1K, 2K,
4K, 8K, 16K, or 32K), organized as M/4 x 32 bits.
The two memory arrays are accessed in parallel: bits [X:4] of the instruction fetch address
providing the index into the tag array, and bits [X:2] addressing the data array (where X
ranges from 8 to 14 for 512-byte to 8K-byte I-cache size, see
Table 5-1
).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:Y] of the instruction fetch address (where Y = X +
F
Freescale Semiconductor, Inc.
n
.