Arbitration
In a computer system, multiple devices, such as the CPU, memory, and I/O controllers, are connected to a common communication pathway, known as a bus. To transfer data between these devices, they need to have access to the bus. Bus arbitration is the process of resolving conflicts that arise when multiple devices attempt to access the bus at the same time.
When multiple devices try to use the bus simultaneously, it can lead to data corruption and system instability. To prevent this, a bus arbitration mechanism is used to ensure that only one device has access to the bus at any given time.
There are several types of bus arbitration methods, including centralized, decentralized, and distributed arbitration.
Centralized arbitration, a single device, known as the bus controller, is responsible for managing access to the bus.
In decentralized arbitration, each device has its priority level, and the device with the highest priority is given access to the bus.
In distributed arbitration, devices compete for access to the bus by sending a request signal and waiting for a grant signal. In this, all devices participate in the selection of the next bus master. Each device on the bus is assigned a 4-bit identification number. The generated ID will determine the priority of the device.
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 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 will become the current bus master.?
Bus Allocation Policies
Fixed priority
Rotating priority
Fair policies
领英推荐
Hybrid policies
Bus Release Policies
Governs the conditions under which the current master releases the bus
Non-preemptive: The current master voluntarily releases the bus. The major disadvantage it may hold the bus for a long time.
Transaction-based release
? By releasing the bus after every transaction, fairness can be ensured
3. Easy to implement
4. Unnecessary overhead if only one master needs the bus
Demand-driven release
Preemptive: Forces the current master to release the bus without completing its bus transaction.