Split-transaction buses
Split a read transaction into
- Send address (CPU is master)
- Send data (Memory is master)
- In between these two transactions (memory access time) the bus is freed
- Requires “tagging” the transaction
Can even have more concurrency by having different transactions using the data and address lines concurrently
Useful for multiprocessor systems and for I/O