Skip to main content

Priority arbitration vs daisy chain

Short answer

Priority arbitration employs a central arbiter with separae Req/Ack lines per device, granting the bus to the highest-priority requester (fixed or roating). Compared to dasy-chain, it offers factory, programmable priority and better fault tolerane but needs more wires. Dasy-chain uses fewer wires and fixed position-based priority but is slower and less fault-tolerant.

Describe priority arbitration method and compare it with daisy-chain arbitration.

Priority arbitration

In priority arbitration, a single arbiter circuit has one request line (Req) and one grant line (Ack) per peripheral. When several devices request the bus, the arbiter selects the one with the highest priority, according to a fixed order or a rotating (round-robin) order, and asserts its Ack. The device uses the bus and then drops Req, and the arbiter selects the next device.

 Req1 ->|          |-> Ack1
 Req2 ->| Arbiter  |-> Ack2
 Req3 ->|          |-> Ack3

Comparison with daisy-chain arbitration

PointPriority arbitrationDaisy-chain arbitration
LinesSeparate Req and Ack for each deviceOne common Req; Grant passes through devices in series
Priority decided byArbiter logic (fixed or rotating)Physical position in the chain
WiringMore (2 per device)Less (2 plus chain)
FlexibilityPriority can be changed or rotatedFixed, changes only by moving devices
FairnessPossible with rotating priorityPoor; far devices may starve
SpeedFast, grants decided in parallelSlower; grant ripples through devices
ExpansionNeeds more arbiter inputsEasy to add devices at the end
Fault toleranceOne device failure does not block othersA broken link blocks all devices after it

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 5 questions →