9-22
MPC7400 RISC Microprocessor Users Manual
60x Address Bus Tenure
Both ARTRY and SHD go through a precharge cycle unless this is disabled by setting the
precharge disable bit in HID0. As shown in Figure 9-7, these signals are asserted for one
bus clock cycle, released to high-impedance for half the next clock cycle, driven high for
one clock cycle, and Tnally, released to high-impedance for the remaining half clock cycle.
Note that AACK must be asserted for only one bus clock cycle.
The address transfer can be terminated with the requirement to retry if ARTRY is asserted
anytime during the address tenure and through the cycle following AACK. The assertion of
ARTRY causes the entire transaction (address and data tenure) to be rerun. As a snooping
device, the MPC7400 asserts ARTRY for a snooped transaction that hits modiTed data in
the data cache that must be written back to memory, or if the snooped transaction could not
be serviced. As a bus master, the MPC7400 responds to the assertion of ARTRY by aborting
the bus transaction and re-requesting the bus. Note that after recognizing the assertion of
ARTRY and aborting the transaction in progress, the MPC7400 is not guaranteed to run the
same transaction the next time it is granted the bus due to internal reordering of load and
store operations.
Note that the MPC7400 implements a shared state (MESI instead of MEI) cache coherency
protocol based on the setting of MSSCR0[SHDEN]. See Section 2.1.6, òMemory
Subsystem Control Register (MSSCR0),ó for more detailed information about the bits of
MSSCR0.
9.3.3.1 Address Retry Window and QualiTed ARTRY
If an address retry is required, ARTRY is asserted by a bus snooping device as early as the
second cycle after the assertion of TS. Once asserted, ARTRY must remain asserted through
the cycle after the assertion of AACK; the bus clock cycle starting two clock cycles after
TS and ending with the cycle after the assertion of AACK is referred to as the address retry
window.
The assertion of ARTRY during the cycle after the assertion of AACK is referred to as a
qualiTed ARTRY. An earlier assertion of ARTRY during the address tenure is referred to as
an early ARTRY.
As a bus master, the MPC7400 recognizes either an early or qualiTed ARTRY and preempts
the data tenure associated with the retried address tenure. If the data tenure has already
begun, the MPC7400 aborts and terminates the data tenure immediately even if the burst
data has been received. If the assertion of ARTRY is received up to or on the bus cycle of
the Trst (or only) assertion of TA for the data tenure, the MPC7400 ignores the Trst data
beat, and if it is a load operation, does not forward data internally to the cache and execution
units. If ARTRY is asserted after the Trst (or only) assertion of TA, improper operation of
the bus interface may result.
9.3.3.2 Snoop Copyback and Window of Opportunity
During the clock cycle of a qualiTed ARTRY, the MPC7400 also determines if it should
negate BR and ignore BG on the following cycle. On the following cycle, all other bus