Previous | Next --- Slide 37 of 57
Back to Lecture Thumbnails
kayvonf

I'd like to see someone summarize the difference between an atomic bus and a split-transaction bus.

andrewwuan

@kayvonf Please correct me if I'm wrong :)

If a request is placed on an atomic bus by some processor, other processors won't gain access to the bus until the bus has responded the current processor. This has a problem because if a memory request is placed on the bus, it would take a lot of time between the bus sending the request to memory controller and getting the response from it. The bus would stay idle during this process.

Split-transaction bus is designed to solve this problem. Basically bus request and bus response are splitted on the bus in the way that, once the bus request is resolved (for example, a memory request to the memory controller is made), other processors/memory controller can gain access to the bus (either to request or respond) before the bus responds to its original requester. The bus doesn't need to wait for the current response. The trace on the slide is a perfect example on how split bus can efficiently handle multiple transactions in a intervened manner.