
Philips Semiconductors
Cache Architecture
File: cache.fm5, modified 7/24/99
PRELIMINARY INFORMATION
5-3
sections describe the data cache and its operation;
Table 5-3 summarizes the important characteristics for
easy reference.
5.3.1
General Cache Parameters
The data cache on TM1100 is 16 KB in size with a 64-B
block size. Thus, the cache contains 256 blocks each
with its own address tag. The cache is eight-way set-as-
sociative, so there are 32 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
in the cache or invalid; on a cache miss, 64 bytes are
read from SDRAM to make the entire block valid.
Each block also contains a dirty bit, which is set whenev-
er a write to the block occurs. Each set contains ten bits
to support the hierarchical LRU replacement policy.
The geometry of the data cache is available to software
by reading the MMIO register DC_PARAMS, which has
values for TM1100’s DC_PARAMS register.
The product of the block size, associativity, and number
of sets gives the total cache size (16 KB in this case).
5.3.2
Address Mapping
TM1100 data addresses are mapped onto the data
address is partitioned into four fields as described in
Table 5-3. Summary Of Data Cache Characteristics
Characteristic
TM1100 Implementation
Cache size
16K bytes
Cache associativity
8-way set-associative
Block size
64 bytes
Valid bits
One valid bit per 64-byte block
Dirty bits
One dirty bit per 64-byte block
Miss transfer order
Miss transfers begin with the critical
word rst.
Replacement poli-
cies
Copyback, allocate on write, hierarchical
LRU
Endianness
Either little- or big-endian, determined
by PCSW bit
Ports
The cache is quasi dual ported; two
accesses can proceed concurrently if
they reference different banks (deter-
mined by bits [4:2] of the computed
addresses)
Alignment
Access must be naturally aligned (32-bit
words on 32-bit boundaries, 16-bit half-
words on 16-bit boundaries); the appro-
priate number of LSBs of un-naturally
aligned addresses are set to zero.
For misaligned stores, PCSW.MSE is
asserted to generate an exception
Partial word opera-
tions
The cache implements 8-bit and 16-bit
accesses with the same performance as
32-bit accesses
Operation latency
Three cycles for both load and store
operations
Coherency enforce-
ment
Software uses special operations to
enforce cache coherency
Cache locking
Up to 1/2 (four out of 8 blocks of each
set) of the cache contents can be
locked; granularity is 64-byte
Non-cacheable
region
One non-cacheable aperture in the
DRAM address space is supported.
Table 5-4. DC_PARAMS Field Values
Field Name
Value
BLOCKSIZE
64
ASSOCIATIVITY
8
NUMBER_OF_SETS
32
Table 5-5. Data Address Field Partitioning
Field
Address
Bits
Purpose
Byte
1..0
Byte offset within a word for byte or half-
word accesses
Word
5..2
Selects one of the words in a set (one of
16 words in the case of TM1100)
Set
10..6
Selects one of the sets in the cache (one
of 32 in the case of TM1100)
Tag
31..11
Compared against address tags of set
members
31
0
3
7
11
15
19
23
27
DC_PARAMS (r/o)
0x10 001C
ASSOCIATIVITY
NUMBER_OF_SETS
MMIO_BASE
offset:
BLOCKSIZE
Figure 5-3. Format of the DC_PARAMS register.
0
Word
Byte
Set
Tag
31
1
2
5
6
10
11
Data Cache Address
Figure 5-4. Data-Cache address partitioning.