Continued from Computer Organization & Architecture Lecture 10

Bus arbitration

Bus arbitration is used to manage the bus. As two nodes cannot access the same bus at the same time we shall enforce a management system to manage the situation of two requests colliding.

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.

Structure

  1. Bus Arbiter: The central unit responsible for managing access to the bus, ensuring that only one device communicates with the bus at a time.
  2. BGT (Bus Grant): A signal passed from one device to the next to request permission for bus access.
  3. Devices (Device 1, Device 2, …, Device m): These are the connected devices that may need to use the bus. They send requests (via the Bus Grant signal) for bus access.
  4. BRQ (Bus Request): This signal is used by devices to request access to the bus from the bus arbiter.
  5. SACK (Bus Acknowledgment): Once the bus arbiter grants the bus, the SACK signal is sent to the requesting device to acknowledge the bus access.

Conflict can arise if there’s a number controllers try to access a common bus.


Daisy Chaining method

Device 1,2,3,4,….n are defined and the access to the bus is given one by one. It is not feasible. The priority is given to node number one.

In Daisy Chained Arbitration, the request signal travels through the devices in a sequential manner (like a chain). Each device either passes the signal to the next device or responds if it is granted access to the bus.

This setup is typically used in systems where multiple devices may want to communicate with a shared bus, ensuring no conflict arises by sequentially granting access.

To read how a dry run works click here here

Advantages

  • Minimum number of wires required
  • The user can add more devices anywhere along the chain, up to a certain maximum value.

Disadvantages

  • More time is required
  • Propagation delay arises in this method.
  • The value of priority assigned to a device depends on the position of the master bus.
  • If one device fails then the entire system will stop working.

If the first device stops working then the whole system collapses. The bus request line is common and the arbiter doesn’t know who sent the request BUS Arbitration in Computer Organization - GeeksforGeeks


Polling method / Rotating priority bus arbitration

Wireline increases slightly and gives equal opportunity to each device to be on the top of the priority list. It’s called Dynamic priority list. If the first device fails it wont affect any other devices, hence it is robust system the opposite of Daisy Chaining System.

This diagram illustrates the Rotating Priority Bus Arbitration mechanism. Let’s break down how it works:

Key Components:

  • Bus Arbiter: Manages the access to the bus.
  • BGT (Bus Grant): Signal sent from the Bus Arbiter to a device, allowing it to use the bus.
  • BRQ (Bus Request): Signal from the devices requesting the bus.
  • SACK (Bus Acknowledgment): Signal from the Bus Arbiter confirming bus access and releasing the bus.

Process of Rotating Priority Bus Arbitration:

In this method, the priority of each device rotates, ensuring fair access to the bus, so that no device gets indefinitely blocked while others get priority.

  1. Initial Condition:

    • All devices are initially in the waiting state. The Bus Arbiter does not grant the bus yet.
  2. Device Requests Access:

    • Device 1, Device 2, …, and Device m can all make a Bus Request (BRQ) to the Bus Arbiter. The BRQ signals move from each device towards the Bus Arbiter.
  3. Rotating Priority Mechanism:

    • In Rotating Priority arbitration, the priority is dynamic. The first device in the list (Device 1, for example) gets the bus only if it has the highest priority at the moment. After that, the priority rotates to the next device. For instance:
      • First round: Device 1 gets the priority and requests bus access.
      • Second round: After Device 1 is granted access, its priority moves down, and Device 2 is now the next one in line to gain bus access if needed.
  4. Bus Granting (BGT):

    • The Bus Arbiter grants access based on the priority order. It sends a BGT (Bus Grant) signal to the next device in line that requested access.
    • This signal goes through each device and reaches the one with the highest priority in the current round.
  5. Bus Access (SACK):

    • Once a device receives the BGT, it starts using the bus. After finishing its task, it sends a SACK (Bus Acknowledgment) signal back to the Bus Arbiter to indicate that it has released the bus.
  6. Priority Rotation:

    • After each bus access cycle, the priority rotates. The device with the current highest priority will now have to wait, and the next device in line takes the turn to request the bus in the next round.
  7. Next Round:

    • The process repeats, with the priority shifting after each cycle. This ensures fairness by preventing any device from permanently dominating the bus access.

Example:

  • Round 1: Device 1 (highest priority) requests access, and it gets the bus access after the Arbiter grants it.
  • Round 2: Device 2 now becomes the highest priority device, so it gets the next bus access.
  • Round 3: The priority rotates again to Device 3, and so on.

This continues in a circular fashion, ensuring that every device gets a fair chance to access the bus in a rotating manner.

Visualization (Flow):

  • Device 1 → Bus Arbiter (Bus Grant) → Device 1 → Bus Release → Priority Rotation → Device 2 → Bus Grant → Device 2 → …

The key advantage of the Rotating Priority system is that it ensures fairness in bus access, preventing starvation of any device while maintaining an orderly and predictable flow of data.

Lightbox


PCI Bus Arbiter

Arbitration MethodAdvantagesDisadvantages
Daisy Chaining- Requires minimum wiring
- Easy to add more devices (up to a limit)
- Propagation delay
- Priority depends on position
- Single device failure can collapse the system
Polling (Rotating Priority)- Dynamic priority
- More robust than Daisy Chaining
- More complex wiring
- Slightly higher overhead

References

Dhruv’s Notes

Information
  • date: 2025.02.11
  • time: 08:30