User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
8.3.2.5 Alignment of External Control InstructionsThe 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 TerminationThe 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
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
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
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
Bus Interface Operation | gx_08.fm.(1.2) |
Page 300 of 377 | March 27, 2006 |