
Chapter 4. Memory Coherency
4-1
Chapter 4
Memory Coherency
40
40
This chapter describes hardware resources defined by the 60x bus definition that maintain
memory coherency such that all devices that share memory in a system using a PowerPC
processor have an accurate view of memory. Although the PowerPC architecture memory
model requires memory to be kept coherent, it does not define either the snooping protocol
or the use of MESI coherency states commonly used on PowerPC processors. The 60x
processors provide resources that support memory coherency by snooping bus transactions.
This chapter provides an overview of how the 60x processors implement the MESI protocol
and the bus operations implemented by the 60x processors that ensure cache coherency.
Note that there are unique characteristics to the cache implementations of each of the
PowerPC processors, which are summarized in the following sections.
4.1 Overview of Cache Implementations
To support a wide variety of processor implementations, the cache model defined by the
PowerPC architecture is very flexible. Although it supports Harvard architecture caches,
that is separate instruction and data caches, this is not required. Processor caches can vary
greatly with respect to size, organization, and set-associativity, However, these
considerations do not affect the bus design in a substantial way. For example, the number
of sets in a processor’s cache implementation determines the number of cache set element
(CSE
n
) signals that must be implemented.
Major areas where a processor’s cache structure affects the bus design are L2 cache support
and the level of support given to multiprocessing concerns such as snooping, coherency-
related bus operations, and MESI state logic. For example, the PowerPC 603 processor is
not optimized for use in multiprocessor systems and therefore does not support the SHD
bus signal or the shared (S) MESI state. Differences in how processors implement
coherency-related bus operations are described in Section 4.10, “Overview of
Implementation Differences.”
The following section provides an overview of the cache implementations in the PowerPC
601, 603, and 604 processors.