
9-20
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Address Bus Tenure
cycle, driven high until the following bus cycle, and finally three-stated. Note that
core_aack must be asserted for only one bus clock cycle.
The address transfer can be terminated with the requirement to retry if core_artry_in is
asserted anytime during the address tenure and through the cycle following core_aack. The
assertion causes the entire transaction (address and data tenure) to be rerun. As a snooping
device, the G2 core asserts core_artry_out for a snooped transaction that hits modified 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 core responds to an assertion of core_artry_out by
aborting the bus transaction and re-requesting the bus. Note that after recognizing an
assertion of core_artry_out and aborting the transaction in progress, the G2 core 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.
If an address retry is required, the core_artry_in response is asserted by a bus snooping
device as early as the second cycle after the assertion of core_ts_out (or until the third cycle
following core_ts_out if 1:1 or 1.5:1 processor core to bus clock ratio is selected). Once
asserted, core_artry_in must remain asserted through the cycle after the assertion of
core_aack. The assertion of core_artry_in during the cycle after the assertion of core_aack
is referred to as a qualified core_artry_in. An earlier assertion of core_artry_in during the
address tenure is referred to as an early core_artry_in.
As a bus master, the G2 core recognizes either an early or qualified core_artry_in and
prevents the data tenure associated with the retried address tenure. If the data tenure has
already begun, the core aborts and terminates the data tenure immediately even if the burst
data has been received. If the assertion of core_artry_in is received up to or on the bus cycle
following the first (or only) assertion of core_ta for the data tenure, the core ignores the first
data beat, and if it is a load operation, does not forward data internally to the cache and
execution units. If core_artry_in is asserted after the first (or only) assertion of core_ta,
improper operation of the bus interface may result.
During the clock of a qualified core_artry_in, the G2 core also determines if it should
negate core_br and ignore core_bg on the following cycle. On the following cycle, only the
snooping master that asserted core_artry_in and needs to perform a snoop copy-back
operation is allowed to assert core_br. This guarantees the snooping master an opportunity
to request and be granted the bus before the just-retried master can restart its transaction.
Note that a nonclocked bus arbiter may detect the assertion of address bus request by the
bus master that asserted core_artry_in, and return a qualified bus grant one cycle earlier
than shown in Figure 9-6.
F
Freescale Semiconductor, Inc.
n
.