Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
What is bus arbitration in computer organization?
Bus arbitration is a critical mechanism in computer organization that determines which device gets control of the system bus when multiple devices need to access it simultaneously.
A bus master is any device that initiates data transfers on the bus. In modern computer systems, multiple bus masters exist, including the CPU, DMA controllers, graphics cards, and network adapters. Since only one device can control the bus at any given time, a systematic approach is needed to manage access.
How Bus Arbitration Works
When multiple devices request bus access, the arbitration mechanism decides which device gets priority based on predefined rules. The current bus master relinquishes control, and the arbiter grants control to the next requesting device. This process ensures orderly access without conflicts or data corruption.
Types of Bus Arbitration
Bus arbitration schemes are classified into two main categories:
Centralized Arbitration
In centralized arbitration, a single bus arbiter (typically the CPU or a dedicated controller) manages all bus requests. This approach offers three main schemes:
-
Daisy Chaining − All devices share a single request line and are connected in series. The bus grant signal passes through each device in order, making it simple but potentially slow for low-priority devices.
-
Polling Method − The arbiter sends unique addresses to each device to check for requests. For 8 devices, at least 3 address lines are needed to identify each master uniquely.
-
Independent Request − Each device has dedicated request and grant lines. A priority decoder selects the highest-priority request, providing faster response but requiring more hardware.
Distributed Arbitration
In distributed arbitration, all devices participate in selecting the next bus master without a central controller. Each device receives a unique 4-bit identification number. When multiple devices request access, they assert a start arbitration signal and place their IDs on shared arbitration lines (ARB0-ARB3).
Devices compare identification codes bit by bit. Lower-priority devices detect higher-priority requests and withdraw by placing logic 0 on their drivers. This method is highly reliable since it doesn't depend on a single arbitration device.
Advantages and Disadvantages
| Type | Advantages | Disadvantages |
|---|---|---|
| Centralized | Simple to implement, lower hardware cost | Single point of failure, bottleneck potential |
| Distributed | Highly reliable, no single point of failure | More complex hardware, higher cost |
Conclusion
Bus arbitration is essential for managing shared system resources in multi-master computer systems. The choice between centralized and distributed arbitration depends on system requirements for reliability, performance, and cost considerations.
