TM1100 Preliminary Data Book
Philips Semiconductors
5-8
PRELIMINARY INFORMATION
File: cache.fm5, modified 7/24/99
5.3.13
MMIO Register References
Memory operations that reference MMIO registers are
not cached, and the CPU is stalled until the MMIO refer-
ence completes. A MMIO register reference occurs when
an address is in the range:
[MMIO_BASE]
≤ address < ([MMIO_BASE] + 0x200000)
The size of the MMIO aperture is hardwired at 2M bytes.
5.3.14
PCI Bus References
Any CPU memory operation that references an address
outside the SDRAM and MMIO address apertures is as-
sumed to reference a device or memory on the PCI bus.
PCI-bus data transfers are not cached, and the CPU is
stalled until the PCI transfer completes.
5.3.15
CPU Stall Conditions
The data cache causes the CPU to stall when:
1. Any cache miss occurs.
2. Two simultaneously issued, cacheable memory oper-
ations need to access the same cache bank (bank
conict).
3. An access that references an address in the MMIO
aperture is issued.
4. An access to the PCI bus is issued.
5. A non-trivial copyback or invalidate operation is is-
sued.
6. An access to the non-cacheable region in the DRAM
aperture is issued.
5.3.16
Data Cache Initialization
When TM1100 is reset, the data cache executes an ini-
tialization sequence. The cache asserts the CPU stall
signal while it sequentially resets all valid and dirty bits.
The cache de-asserts the stall signal after completing the
initialization sequence.
5.4
INSTRUCTION CACHE
The instruction cache stores compressed CPU instruc-
tions; instructions are decompressed before being deliv-
ered to the CPU. The following sections describe the in-
struction
cache
and
its
operation;
summarizes instruction-cache characteristics.
5.4.1
General Cache Parameters
The instruction cache on TM1100 is 32 KB in size with a
64-B block size. Thus, the cache contains 512 blocks
each with its own address tag. The cache is eight-way
set-associative, so there are 64 sets, each containing
eight tags. A single valid bit is associated with a block, so
each block and associated address tag is either entirely
valid or invalid; on a cache miss, 64 bytes are read from
SDRAM to make the entire block valid.
The geometry of the instruction cache is available to soft-
ware by reading the MMIO register IC_PARAMS, which
field values for TM1100’s IC_PARAMS register.
The product of the block size, associativity, and number
of sets gives the total cache size (32 KB in this case).
5.4.2
Address Mapping
TM1100 instruction addresses are mapped onto the data
struction address is partitioned into three fields as de-
5.4.3
Miss Processing Order
When a miss occurs, the instruction cache starts filling
the requested block from the beginning of the block. The
DSPCPU is stalled until the entire block is fetched and
stored in the cache.
Table 5-11. Summary Of Instruction Cache
Characteristics
Characteristic
TM1100 Implementation
Cache size
32K bytes
Cache associativity
8-way set-associative
Block size
64 bytes
Valid bits
One valid bit per 64-byte block
Replacement policy Hierarchical LRU (least-recently used)
among the eight blocks in a set
Operation latency
Branch delay is three cycles
Coherency enforce-
ment
Software uses a special operation to
enforce cache coherency
Cache locking
Up to 1/2 (four out of eight blocks of
each set) of the cache contents can be
locked; granularity is 64 bytes
Table 5-12. IC_PARAMS Field Values
Field Name
Value
BLOCKSIZE
64
ASSOCIATIVITY
8
NUMBER_OF_SETS
64
31
0
3
7
11
15
19
23
27
IC_PARAMS (r/o)
0x10 0020
ASSOCIATIVITY
NUMBER_OF_SETS
MMIO_BASE
offset:
BLOCKSIZE
Figure 5-8. Format of the instruction-cache parameters register.