
4-4
PowerPC Microprocessor Family: The Bus Interface for 32-Bit Microprocessors
Provides for an optional data cache operation broadcast feature (enabled by the
HID0[ABE] bit) that allows for correct system management using an external copy-
back L2 cache.
Optional broadcast of cache control instructions
dcbi
,
dcbf
, and
dcbst
through
configuration of
HID0[ABE] bit.
4.1.4 PowerPC 604 Processor Cache Organization
The 604 cache implementation consists of separate 16-Kbyte instruction and data caches
(Harvard architecture). The 604 instruction and data cache organization is shown in
Figure 4-3.
Figure 4-3. PowerPC 604 Processor Cache Organization
Both caches are four-way set associative and implement an LRU replacement algorithm
within each set. The cache directories are physically addressed with the physical (real)
address tag stored in a cache directory.
Both the instruction and data caches have 32-byte cache blocks. The coherency state bits
for each block of the data cache allow encoding for all four possible MESI states. The
coherency state bit for each cache block of the instruction cache allows encoding for two
possible states:
— Invalid (INV)
— Valid (VAL)
Each cache can be invalidated or locked by setting appropriate bits in the hardware
implementation dependent register 0 (HID0).
The 604 uses eight-word burst transactions to transfer cache blocks to and from memory.
When requesting burst reads, the 604 presents a double-word–aligned address. Memory
controllers are expected to transfer this double word of data first, followed by double words
from increasing addresses, wrapping back to the beginning of the eight-word block as
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