User’s Manual

IBM PowerPC 750GX and 750GL RISC Microprocessor

8.3.2.5 Alignment of External Control Instructions

The size of the data transfer associated with the eciwx and ecowx instructions is always 4 bytes. If the eciwx or ecowx instruction is misaligned and crosses any word boundary, the 750GX will generate an alignment exception.

8.3.3 Address Transfer Termination

The address tenure of a bus operation is terminated when completed with the assertion of AACK, or retried with the assertion of ARTRY. The 750GX does not terminate the address transfer until the AACK input is asserted. Therefore, the system can extend the address transfer phase by delaying the assertion of AACK to the 750GX. The assertion of AACK can be as early as the bus clock cycle following TS (see Figure 8-9on page 301), which allows a minimum address tenure of two bus cycles. As shown in Figure 8-9, these signals are asserted for one bus clock cycle, tristated for half of the next bus clock cycle, driven high until the following bus cycle, and finally tristated. 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 causes the entire transaction (address and data tenure) to be rerun. As a snooping device, the 750GX asserts ARTRY 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 750GX responds to an assertion of ARTRY by canceling the bus transaction and rerequesting the bus. Note that after recognizing an assertion of ARTRY and canceling the transaction in progress, the 750GX 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 ARTRY response will be 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 assertion of ARTRY during the cycle after the assertion of AACK is referred to as a qualified ARTRY. An earlier assertion of ARTRY during the address tenure is referred to as an early

ARTRY.

As a bus master, the 750GX recognizes either an early or qualified ARTRY and prevents the data tenure associated with the retried address tenure. If the data tenure has already begun, the 750GX cancels 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 following the first (or only) assertion of TA for the data tenure, the 750GX ignores the first 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 first (or only) assertion of TA, improper operation of the bus interface can result.

During the clock of a qualified ARTRY, the 750GX also determines if it should negate BR and ignore BG on the following cycle. On the following cycle, only the snooping master that asserted ARTRY and needs to perform a snoop copy-back operation is allowed to assert 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 might detect the assertion of address-bus request by the bus master that asserted ARTRY, and return a qualified bus grant one cycle earlier than shown in Figure 8-9.

Note that if the 750GX asserts ARTRY due to a snoop operation, and asserts BR in the bus cycle following ARTRY in order to perform a snoop push to memory, the 750GX might not be able to accept a BG until several bus cycles later. (The delay in responding to the assertion of BG only occurs during snoop pushes from the L2 cache.) The bus arbiter should keep BG asserted until it detects BR negated or TS asserted from the 750GX, which indicates that the snoop copy-back has begun. The system should ensure that no other

Bus Interface Operation

gx_08.fm.(1.2)

Page 300 of 377

March 27, 2006