
Chapter 4. Memory Coherency
4-3
Note that address bits A20–A25 provide an index to select a line. Bits A26–A31 select a
byte within a line. The tags consists of bits PA0–PA19. Address translation occurs in
parallel, such that higher-order bits (the tag bits in the cache) are physical.
4.1.2 PowerPC 603 Processor Cache Organization
The 603 has separate instruction and data caches. The organization of the 603 data and
instruction caches is shown in Figure 4-2.
Figure 4-2. PowerPC 603 Processor Cache Organization
Each cache block has eight contiguous words from memory that are loaded from an
eight-word boundary, that is, bits A27–A31 of the logical (effective) addresses are zero. As
a result, cache blocks are aligned with page boundaries.
Address bits A20–A26 provide an index to select a set. Bits A27–A31 select a byte within
a block. The tags consist of bits PA0–PA19. Address translation occurs in parallel, such that
higher-order bits (the tag bits in the cache) are physical. Replacement strictly follows an
LRU algorithm; that is, the least-recently used block is updated on a cache miss.
The 603 instruction cache, is like that of the data cache, although bits are not provided to
maintain MEI cache coherency.
4.1.3 PowerPC 603e Processor Cache Enhancements
The 603e provides the following enhancements to the 603 cache implementation:
The instruction cache is blocked only until the critical load completes (hit under
reloads allowed).
The critical double word is simultaneously written to the cache and forwarded to the
requesting unit, thus minimizing stalls due to load delays.
Address Tag 1
Address Tag 2
Address Tag 3
Block 1
Block 2
Block 3
128 Sets
Address Tag 0
Block 0
8 Words/Block
State
State
State
State
Words 0–7
Words 0–7
Words 0–7
Words 0–7