Arbitro

In tecnologia digitale, un arbitro ( Latina per giudice ) è un circuito che decide il più rapidamente possibile, che di due o più ingressi diventato attivo prima. I segnali di ingresso provengono da parti del circuito che funzionano in modo asincrono che richiedono un accesso esclusivo sporadico a una risorsa scarsa, ad es. B. su un ricordo. Il circuito può avere tante linee di uscita quanti sono gli ingressi, di cui esattamente uno diventa attivo quanto l'uscita della decisione. Se la differenza di tempo è relativamente grande, l'arbitro prende una decisione entro il ritardo di gate usuale per i circuiti logici . Decisioni più rigorose richiedono più tempo, in rari casi più di dieci volte di più. Internamente, la distanza di una variabile dall'equilibrio instabile aumenta esponenzialmente nel tempo.

Combinando tali circuiti, è possibile costruire arbitri che gestiscono più risorse dello stesso tipo, come le due porte di una RAM a doppia porta o numerosi canali di comunicazione.

Anche se molti computer oggi sono completamente integrati su un chip ( SoC ) e lavorano internamente in modo sincrono, il problema decisionale si verifica almeno in tutti gli ingressi in cui sono presenti segnali digitali non sincronizzati: un segnale in ingresso può cambiare il suo stato proprio quando è controllato dal congelamento deve essere. La maggior parte dei chip più grandi ha anche più domini di clock che funzionano in modo asincrono tra loro.

letteratura

Prove individuali

  1. David J. Kinniment e John V. Woods: Circuiti di sincronizzazione e arbitrato nei sistemi digitali . Atti IEEE 123, 1976, pp. 961-966.
  2. Stanislavs Golubcovs, Andrey Mokhov, Alex Yakovlev: approccio modulare alla progettazione di arbitri multi-risorsa. 15 ° IEEE Symposium on Asynchronous Circuits and Systems, 2009. ( online ; PDF; 280 kB; accesso 29 dicembre 2015).
  3. Chris Kwok (Mentor Graphics): Hunting Asynchronous CDC Violations in the Wild . Contributo alla conferenza ASYNC 2015.