User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
3.6.3 SnoopingThe 750GX maintains
As bus operations are performed on the bus by other bus masters, the 750GX’s bus snooping logic monitors the addresses and transfer attributes that are referenced. The 750GX snoops the bus transactions during the cycle that TS is asserted for any of the following qualified snoop conditions:
•The global signal (GBL) is asserted indicating that coherency enforcement is required.
•A reservation is currently active in the 750GX as the result of an lwarx instruction, and the transfer type attributes
All transactions snooped by the 750GX are checked for correct
Once a qualified snoop condition is detected on the bus, the snooped address associated with TS is compared against the
The memory queues are snooped for pipeline collisions and memory coherency collisions. A pipeline collision is detected when another bus master addresses any portion of a line that this 750GX’s data cache is currently in the process of loading (L1 loading from L2, or L1/L2 loading from memory). A memory coherency collision occurs when another bus master addresses any portion of a line that the 750GX has currently queued to write to memory from the data cache (castout or
If a snooped transaction results in a cache hit or pipeline collision or memory queue collision, the 750GX asserts ARTRY on the 60x bus. The current bus master, detecting the assertion of the ARTRY signal, should cancel the transaction and retry it at a later time, so that the 750GX can first perform a write operation back to memory from its cache or memory queues. The 750GX might also retry a bus transaction if it is unable to snoop the transaction on that cycle due to internal resource conflicts. Additional snoop action might be forwarded to the cache as a result of a snoop hit in some cases (a cache push of modified data, or a cache- block invalidation). There is no immediate way for another CPU bus agent to determine the cause of the 750GX ARTRY.
Implementation Note: Snooping of the memory queues for pipeline collisions, as described above, is performed for burst read operations in progress only. In this case, the read address has completed on the bus; however, the data tenure might be either
gx_03.fm.(1.2) | |
Page 142 of 377 | March 27, 2006 |