4-8
MPC106 PCIB/MC User's Manual
MOTOROLA
External arbitration (as provided by the MPC106) is required in systems in which multiple
devices must compete for the system bus. The MPC106 affects pipelining by regulating
address bus grants (BG0, BG1, BG2, BG3 and BGL2), data bus grants (DBG0, DBG1,
DBG2, DBG3, and DBGL2), and the address acknowledge (AACK) signal. One-level
pipelining is implemented by the MPC106 by asserting AACK to the current address bus
master and granting mastership of the address bus to the next requesting master before the
current data bus tenure has completed. Two address tenures can occur before the current
data bus tenure completes.
4.3 Address Tenure Operations
This section describes the three phases of the address tenure—address bus arbitration,
address transfer, and address termination.
4.3.1 Address Arbitration
The MPC106 provides arbitration for the processor address bus. The external input signals
to the arbiter are BR0 in a single processor configuration, BR0, BR1, BR2, BR3 in a
multiprocessor configuration, and BRL2 if there is an external L2 cache. In addition to the
external signals, there are internal bus request and bus grant signals for snoop broadcast and
internal L2 cast-out operations. If the MPC106 needs to perform a snoop broadcast or
internal L2 cast-out operation, it asserts the internal bus request. The arbiter negates the
external bus grants and asserts the internal bus grant for those operations. Bus accesses are
prioritized, with processor L1 cache copy-back operations having the highest priority.
External L2 snoop push operations have the next highest priority, followed by internal L2
snoop pushes and cast-out operations, snoop operations, external L2 cache cast-out
operations (not including snoop pushes), and 60x bus requests. Processor bus requests
when the MPC106 is in a multiprocessor configuration have rotating priority, unless an L1
cache copy-back operation is required. In these cases, the MPC106 grants higher priority
to the processor requesting the cache copy-back. In multiprocessor systems where a 60x
read from PCI operation has been ARTRYd, the MPC106 will return the address bus grant
to the same processor following the snoop operation.
Address bus parking is supported by the MPC106 through the use of the
PICR2[CF_APARK] bit. When this bit is set, the MPC106 parks the address bus (asserts
the address bus grant signal in anticipation of another processor address bus request) to the
60x processor that most recently had mastership of the bus.
The processor and alternate bus masters qualify BG
n
by sampling TS, AACK, and ARTRY
in the negated state prior to assuming address bus mastership. The negation of ARTRY
during the address retry window (one cycle after the assertion of AACK) indicates that no
address retry is requested. The processor and alternate bus masters will not accept the
address bus grant during the ARTRY cycle or the cycle following if an asserted ARTRY is
detected. The 60x bus master that asserts ARTRY due to a modified cache block hit asserts
its bus request during the cycle following the assertion of ARTRY, and assumes mastership
of the bus for the cache block push when it detects that bus grant is asserted. Note that if a