Skip to main content

Daisy-chain arbitration

Short answer

Daisy-chain arbitration serially connects a grant line through devices. The arbiter asserts grant to the nearest device; if it requested, it keeps it and uses the bus, else passes it downstream. Priority is fixed by position. Advantages: simple wiring, easy expansion. Disadvantages: starvation, propagation delay, chain breakage if a device fails.

Explain Daisy-chain arbitration with the help of a block diagram and steps (structure, operation, advantages and disadvantages).

Arbitration decides which of several peripherals (bus masters) requesting the system bus at the same time gets it. In daisy-chain arbitration the devices are connected in series along a grant line, so a device's position in the chain gives its priority.

Structure

            Bus request (Req, wired-OR, common line)
   +--------------------------------------------------+
   |             +----------+----------+----------+    |
   v             |          |          |          |    |
 +-----+  Grant  +------+ Gr +------+ Gr +------+ Gr +------+
 | CPU |-------->| Dev1 |--->| Dev2 |--->| Dev3 |--->| Dev4 |
 |/Arbi|         +------+    +------+    +------+    +------+
 +-----+         (highest)                          (lowest)

All devices share one request line (Req); the grant (Ack/Grant) signal goes from the arbiter to the nearest device and is then passed from device to device.

Operation (steps)

  1. One or more devices assert the common Req line.
  2. The arbiter/processor sees Req and issues Grant to the first (nearest) device in the chain.
  3. If a device did not request the bus, it passes the Grant on to the next device.
  4. A device that did request keeps the Grant (does not forward it) and takes control of the bus. Devices further down the chain cannot get the grant.
  5. The device uses the bus, then releases it (drops Req); the arbiter withdraws Grant, and the cycle repeats.

(When daisy chaining is used for interrupts, the device that keeps the grant also places its identity/vector on the bus for the CPU.)

Advantages

  • Simple, with few wires: only two common lines plus a grant chain.
  • Easy to add new devices at the end of the chain.
  • Priority is fixed by position, with no separate priority logic.

Disadvantages

  • Fixed priority: devices at the end may starve (no fairness).
  • The grant takes time to propagate through each device (slow for long chains).
  • A faulty or removed device breaks the chain.
  • Priority cannot be changed without rewiring.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 5 questions →