
Chapter 4. Memory Coherency
4-5
required. Burst misses can be buffered into two eight-word line-fill buffers before being
loaded into the cache. Cache block writes for copy-back operations always present the first
address of the block and transfer data beginning at the start of the block. However, this does
not keep other masters from transferring critical double words first on the bus for writes.
4.1.5 PowerPC 604e Processor Cache Enhancements
The 604e has separate 32-Kbyte data and instruction caches. This is double the size of the
604 caches. The 604e caches are logically organized as a four-way set with 256 sets
compared to the 604’s 128 sets. The physical address bits that determine the set are 19
through 26 with 19 being the most-significant bit of the index. If bit 19 is zero, the block of
data is an even 4-Kbyte page that resides in sets 0–127; otherwise, bit 19 is one and the
block of data is an odd 4-Kbyte page that resides in sets 128–255. Because the caches are
four-way set-associative, the cache set element (CSE[0–1]) signals remain unchanged from
the 604. Figure 4-4 shows the organization of the 604e caches.
Figure 4-4. PowerPC 604e Processor Cache Organization
4.2 Cache Coherency Overview
A coherent memory system provides the same image of memory to all devices that share a
system’s memory. This is important for multiprocessor systems because it allows for
synchronization, task migration, and the cooperative use of shared resources. An incoherent
memory system could easily produce unreliable results depending on when and which
processor executed a task. Maintaining coherency is a concern primarily for data cache
implementations. For example, if a processor does not have exclusive access to an
addressed block before performing a store operation, another processor could have a copy
of the old (or stale) data. Two processors reading from the same memory location would
get different data.
Address Tag 1
Address Tag 2
Address Tag 3
Block 1
Block 2
Block 3
Address Tag 0
Block 0
8 Words/Block
State
State
State
State
Words 0–7
Words 0–7
Words 0–7
Words 0–7
Sets 0–127
(even pages)
Sets128–255
(odd pages)