
4-2
PowerPC Microprocessor Family: The Bus Interface for 32-Bit Microprocessors
4.1.1 PowerPC 601 Processor Cache Organization
The 601 implements a single unified cache that is configured as eight sets of 64 lines, each
consisting of two sectors, four state bits (two per sector), an address tag, and several bits to
maintain the LRU function. The two state bits implement the four-state MESI (modified-
exclusive-shared-invalid) protocol. Each sector contains eight 32-bit words. Note that
PowerPC architecture defines the cacheable unit as a block, which is a sector in the 601.
To maintain the flow of instructions through the instruction queue, the instruction unit
accesses the cache frequently. The queue is eight words (one sector) long, so an entire
sector can be loaded into the instruction unit on a single clock cycle.
The cache organization is shown in Figure 4-1. Replacement strictly follows an LRU
algorithm; that is, the least-recently used sector is used, which may mean that a modified
sector is replaced on a miss if it is the least-recently used, even if invalid sectors are
available. However, for performance reasons, certain conditions (for example, the
execution of some cache instructions) generate accesses to the cache without modifying the
bits that perform the LRU function.
Figure 4-1. PowerPC 601 Processor Cache Organization
Each cache block contains 16 contiguous words from memory that are loaded from a
16-word boundary (that is, bits A26–A31 of the logical (effective) addresses are zero); as a
result, cache lines are aligned with page boundaries.
LINE 63
LINE 0 ADDRESS TAG
ADDRESS TAG
SECTOR 0
SECTOR 1
8 WORDS
8 WORDS
16 WORDS
8 SETS