Arbiter

from Wikipedia, the free encyclopedia

In digital technology, an arbiter ( Latin for judge ) is a circuit that decides as quickly as possible which of two or more inputs became active first. The input signals come from asynchronously working parts of the circuit that occasionally require exclusive access to a scarce resource, e.g. B. on a memory. The circuit can have as many output lines as there are inputs, of which exactly one becomes active as the output of the decision. If the time difference is relatively large, the arbiter makes a decision within the gate delay usual for logic circuits . Tighter decisions take longer, in rare cases more than ten times as much. Internally, the distance of a variable from the unstable equilibrium increases exponentially with time.

By combining such circuits, arbiters can be constructed that manage several resources of the same type, such as the two ports of a dual-port RAM or numerous communication channels.

Even if many computers today are fully integrated on a chip ( SoC ) and work internally synchronously, the decision problem occurs at least at all inputs where non-synchronized digital signals are pending: An input signal can change its state precisely when it is freeze-controlled shall be. Most of the larger chips also have multiple clock domains that work asynchronously to each other.

literature

  • David J. Kinniment: Synchronization and Arbitration in Digital Systems . Wiley, 2007, ISBN 978-0-470-51082-7 .

Individual evidence

  1. David J. Kinniment and John V. Woods: Synchronization and arbitration circuits in digital systems . Proceedings IEEE 123, 1976, pp. 961-966.
  2. Stanislavs Golubcovs, Andrey Mokhov, Alex Yakovlev: Modular approach to multi-resource arbiter design. 15th IEEE Symposium on Asynchronous Circuits and Systems, 2009. ( online ; PDF; 280 kB; accessed December 29, 2015).
  3. Chris Kwok (Mentor Graphics): Hunting Asynchronous CDC Violations in the Wild . Conference contribution ASYNC 2015.