
Chapter 3. Memory Access Protocol
3-1
Chapter 3
Memory Access Protocol
30
30
Memory accesses can occur in single (1–8 bytes) and four-beat (32 bytes) burst data
transfers. System components can direct these accesses to the system memory hierarchy or
to I/O devices as memory-mapped I/O. The address and data buses are decoupled for
memory accesses to support pipelining and split transactions. The PowerPC 601 and 603
processors can pipeline as many as two transactions; the PowerPC 604 processor can
pipeline as many as three. These processors have limited support for out-of-order split
transactions.
Access to the system interface is granted through an external arbiter that lets devices
compete for bus mastership. This mechanism is flexible, allowing the processor to be
integrated into systems that implement various fairness and bus-parking procedures to
reduce arbitration overhead.
The 601 and 604 provide multiprocessor support through coherency mechanisms that
provide snooping, external control of the on-chip cache and translation lookaside buffers
(TLBs), and support for a secondary cache. Multiprocessor software support is provided
through the use of atomic memory operations.
Typically, memory accesses are weakly-ordered—sequences of operations, including
load/store string and load/store multiple instructions, do not necessarily complete in the
order they begin—maximizing the efficiency of the bus without sacrificing coherency of the
data. The processors allow read operations to precede store operations (except where a
dependency exists). A processor can be signaled to perform a pending write ahead of
pending reads. The 604 performs snoop push operations ahead of all other bus operations.
Because the processor can dynamically optimize run-time ordering of load/store traffic,
overall performance is improved.
The Synchronize (
sync
) or Enforce In-Order Execution of I/O (
eieio
) instructions can be
used to enforce strong ordering.
The following sections describe how the processor interface operates, provide detailed
timing diagrams that illustrate how the signals interact, and include a collection of more
general timing diagrams of typical bus operations.