Bus Arbitration refers to the process by which the current bus master accesses and then leaves the control of the bus and passes it to another bus requesting processor unit. The controller that has access to a bus at an instance is known as a Bus master.
A conflict may arise if the number of DMA controllers or other controllers or processors try to access the common bus at the same time, but access can be given to only one of those. Only one processor or controller can be Bus master at the same point in time. To resolve these conflicts, the Bus Arbitration procedure is implemented to coordinate the activities of all devices requesting memory transfers. The selection of the bus master must take into account the needs of various devices by establishing a priority system for gaining access to the bus. The Bus Arbiter decides who would become the current bus master.
There are two approaches to bus arbitration:
- Centralized bus arbitration –A single bus arbiter performs the required arbitration.
- Distributed bus arbitration –All devices participating in the selection of the next bus master.
Advantages –
- Simplicity and Scalability.
- The user can add more devices anywhere along the chain, up to a certain maximum value.
Disadvantages –
- The value of priority assigned to a device depends on the position of the master bus.
- Propagation delay arises in this method.
- If one device fails then the entire system will stop working.
Advantages –
- This method does not favor any particular device and processor.
- The method is also quite simple.
- If one device fails then the entire system will not stop working.
Disadvantages –
- Adding bus masters is difficult as increases the number of address lines of the circuit.
The built-in priority decoder within the controller selects the highest priority request and asserts the corresponding bus grant signal.
Advantages –
- This method generates a fast response.
Disadvantages –
- Hardware cost is high as a large no. of control lines is required.
0 Comments