Arbitration

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

  1. Each master is assigned a fixed priority
  2. The highest priority master always gets the bus
  3. Could hog the bus
  4. Priorities can be assigned based on the importance of service

Rotating priority

  1. Priority is not fixed
  2. Several ways of changing priority
  3. Increase the priority as a function of waiting time
  4. The lowest priority for the master who just received the bus

Fair policies

  1. A fair policy will not allow starvation
  2. Rotating priority policies are fair
  3. Fair policies need not use priorities
  4. Fairness can be defined in several ways
  5. A window-based request satisfaction
  6. Within a specified period

Hybrid policies

  • Both priority and fairness can be incorporated into a single policy

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

  1. Releases bus after completing the current transaction
  2. Requests bus again if it has more transaction

? 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

  1. It avoids unnecessary bus requests of the previous policy
  2. Releases the bus only if another master requests the bus
  3. More efficient

Preemptive: Forces the current master to release the bus without completing its bus transaction.


要查看或添加评论,请登录

Ronak Khandelwal的更多文章

  • I2C Protocol

    I2C Protocol

    I2C combines the best features of SPI and UARTs. I2C can connect multiple slaves to a single master (like SPI) and you…

  • UART Protocol

    UART Protocol

    UART, or universal asynchronous receiver transmitter, is one of the most used device-to-device communication protocols.…

  • SPI Protocol

    SPI Protocol

    The serial peripheral interface (SPI) is a communication interface used to send data between multiple devices. These…

  • Register Description Language (RDL)

    Register Description Language (RDL)

    For almost every design change, a firmware-accessible register change follows suit. This register change not only…

  • SerDes (Serialization/DeSerialization)

    SerDes (Serialization/DeSerialization)

    The simple goal of the SerDes peripheral is twofold convert SOC parallel data into serialized data that can be output…

  • OSI Model

    OSI Model

    The Open Systems Interconnection (OSI) reference model has been the most basic element of computer networking. The OSI…

  • Synthesis

    Synthesis

    Synthesis is the process of converting RTL code, typically written in hardware description languages like Verilog or…

  • Logic Equivalence Check (LEC)

    Logic Equivalence Check (LEC)

    A logic equivalence check is a crucial step in the VLSI physical design flow that ensures the gate-level netlist…

  • Unified Power Format (UPF)

    Unified Power Format (UPF)

    The Unified Power Format (UPF) is a power specification file used in the design cycle to implement low-power design…

  • Introduction to Reset Domain Crossing (RDC)

    Introduction to Reset Domain Crossing (RDC)

    A reset domain crossing (RDC) occurs when a path’s transmitting flop has an asynchronous reset, and the receiving flop…

社区洞察

其他会员也浏览了