Deciding which bus master gets to use the bus next is called bus arbitration. There are a wide variety of schemes for bus arbitration; these may involve special hardware or extremely sophisticated bus protocols.In a bus arbitration scheme, a device (or the processor) wanting to use the bus signals a bus request and the later granted the bus. After a grant the device an use the bus, later signaling to arbiter that the bus is no longer required. The arbiter can grant the bus to another device. Most multiple bus masters have a set of bus lines for performing request or grants. A bus release line is also needed if each device does not have its own request lines. Some times the signals used for the bus arbitration have physically separate lines, while in other systems the data line of the bus are used for this function (though this prevents overlapping of arbitration with transfer).
Arbitration scheme usually try to balance two factors in choosing which device to grant the bus. First ,each device has a bus priority, and the highest priority device must be serviced first. Second we should prefer that any device,
even one with low priority, never be completely locked out from the bus. This property called fairness ensures that every device that wants to use the bus is guaranteed to get it eventually. In addition to these factors more sophisticated schemes aim to reduce the time needed to arbitrate the bus.
Because arbitration time is overhead, which increases the bus time access, it should be reduced and overlapped with the bus transfers whenever possible.
Bus arbitration schemes can be divided into four broad classes:
- Daisy chain arbitration
Advantage: Simplicity.
Disadvantage: It cannot assure fairness- allow priority request may be locked out indefinitely-and the use of the daisy chain grant signal also limit the bus speed.
- Centralized, parallel arbitration
Disadvantage: It requires a central arbiter, which may become the bottleneck for bus usage.
PCI, a standard backplane bus, uses a central arbitration scheme.
- Distributed arbitration by self selection
The NuBus, which is the backplane bus in Apple Macintosh II, use this scheme.
- Distributed arbitration by collision detection
Ethernet use this scheme.