Ein Arbiter (lateinisch für Richter) ist in der Digitaltechnik eine Schaltung, die möglichst schnell entscheidet, welcher von zwei oder mehr Eingängen zuerst aktiv wurde. Die Eingangssignale stammen von asynchron zueinander arbeitenden Schaltungsteilen, die sporadisch exklusiven Zugriff auf eine knappe Ressource benötigen, z. B. auf einen Speicher. Die Schaltung kann ebenso viele Ausgangsleitungen wie Eingänge haben, von denen als Ausgabe der Entscheidung genau eine aktiv wird. Wenn der Zeitunterschied relativ groß ist, dann entscheidet der Arbiter innerhalb der für Logikschaltungen üblichen Gatterlaufzeit. Knappere Entscheidungen dauern länger, in seltenen Fällen mehr als das Zehnfache. Dabei wächst intern der Abstand einer Größe vom labilen Gleichgewicht exponentiell mit der Zeit an.
Durch Kombination solcher Schaltungen lassen sich Arbiter konstruieren, die mehrere gleichartige Ressourcen verwalten, etwa die zwei Ports eines Dual-Port-RAM oder zahlreiche Kommunikationskanäle.
Auch wenn heute viele Rechner vollständig auf einem Chip integriert sind (SoC) und intern synchron arbeiten, tritt das Entscheidungsproblem zumindest an allen Eingängen auf, an denen nicht-synchronisierte digitale Signale anstehen: Ein Eingangssignal kann seinen Zustand gerade dann ändern, wenn es taktgesteuert eingefroren werden soll. Auf den meisten größeren Chips gibt es zudem mehrere Takt-Domänen, die asynchron zueinander arbeiten.
Literatur
- David J. Kinniment: Synchronization and Arbitration in Digital Systems. Wiley, 2007, ISBN 978-0-470-51082-7.
Einzelnachweise
- ↑ David J. Kinniment und John V. Woods: Synchronization and arbitration circuits in digital systems. Proceedings IEEE 123, 1976, S. 961–966.
- ↑ 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; abgerufen am 29. Dezember 2015).
- ↑ Chris Kwok (Mentor Graphics): Hunting Asynchronous CDC Violations in the Wild. Konferenzbeitrag ASYNC 2015.