A mechanism is provided for reorderingReordering 
bus transactions to increaseincreases 
bus utilization in a computer 
system in whichwhere a split-transaction 
bus is bridged to a single-envelope bus. In one embodiment, both masters and slaves are ordered, simplifying implementation. In; in another embodiment, the 
system is more loosely coupled with only masters beingare ordered. Greater bus utilization is thereby achieved. To avoid 
deadlock, transactions begun on the split-transaction bus are monitored. When a combination of transactions would,result in 
deadlock if a predetermined further transaction were to begin, result in 
deadlock, this condition is detected. In the more tightly coupled 
system, the predetermined further transaction, if it is refused if requested, is refused, thereby avoiding deadlock. In the more loosely-coupled system, the flexibility afforded by unordered slaves is taken 
advantage of to, in the typical case, reorder the transactions and avoid deadlock without killing any transaction. Where a 
data dependency exists that would prevent such reordering, the further transactionstransaction is killed as in the more tightly-coupled embodiment. Data dependencies are detected in accordance with address-
coincidence signals generated by slave devices on a cache-line basis. In accordance with a further optimization, at least one slave device (e.g., 
DRAM) generates page-
coincidence bits. When two transactions to the slave device are to the same address page, the transactions are reordered if necessary to ensure that they are executed one after another without any intervening transaction. Latency of the slave is thereby reduced.