L'arbitraggio del bus, in informatica, è la funzione che gestisce il possesso del bus per evitare ambiguità quando più master richiedono contemporaneamente il suo utilizzo; l'arbitro decide a quale dispositivo concederlo per prima.

Tipologie

[modifica | modifica wikitesto]

Esistono due tipi di meccanismi di arbitraggio: centralizzato o decentralizzato.

Nell'arbitraggio centralizzato il bus viene concesso da un circuito integrato nella CPU chiamato appunto arbitro, invece nell'arbitraggio decentralizzato non esiste questo chip, la concessione del bus viene gestita dagli stessi dispositivi.

Arbitraggio centralizzato

[modifica | modifica wikitesto]

Il meccanismo di arbitraggio centralizzato include un'unità funzionale opportuna, che svolge la funzione di arbitro del bus, e alcune linee (appartenenti al bus di controllo) che collegano l'arbitro ai potenziali master che potrebbero richiedere il controllo del bus.

Esistono due tipi di arbitraggi centralizzati:

Daisy Chaining

[modifica | modifica wikitesto]

In questo tipo di arbitraggio ogni dispositivo, quando riceve il segnale di Grant (segnale di concessione del bus), controlla se ha fatto una richiesta del bus:

Quindi in un meccanismo Daisy Chaining il dispositivo fisicamente più vicino all'arbitro ha più priorità rispetto ai dispositivi più lontani.

È possibile anche avere più livelli di priorità, caratterizzati ognuno da una propria linea di Richiesta del bus e una linea di Grant.

Independent requesting

[modifica | modifica wikitesto]

Questo tipo di arbitraggio è usato dai bus PCI. Ogni dispositivo ha una linea di Richiesta del bus e una linea di Grant che lo connettono con l'arbitro.

Il bus viene concesso per effettuare un trasferimento alla volta, se il dispositivo ha ancora bisogno di trasferire dati e nessun altro lo richiede, allora può continuare ad utilizzarlo. Questo tipo di arbitraggio permette di effettuare lunghi trasferimenti quando c'è un solo master, e garantisce una risposta veloce quando più dispositivi necessitano del bus.

Arbitraggio distribuito

[modifica | modifica wikitesto]

Nel meccanismo di arbitraggio decentralizzato:

Questo tipo di arbitraggio utilizza solo 3 linee:

Quando nessuno richiede il bus, la linea di arbitraggio si propaga per tutti i dispositivi, mentre se un dispositivo lo richiede, dovrà controllare se il bus è libero e se il segnale della linea di arbitraggio (IN) è attivato; in questo caso nega OUT in modo che tutti i dispositivi successivi vedranno IN negato e a loro volta negheranno OUT. In questo modo il dispositivo con priorità maggiore che ha fatto richiesta, avrà il possesso del bus, attiverà la linea di Busy e OUT, e inizierà il proprio trasferimento. Questo schema è simile a quello Daisy Chaining a differenza che è privo di arbitro, questa differenza lo rende più economico, veloce e non soggetto a eventuali guasti da parte dell'arbitro.

Bibliografia

[modifica | modifica wikitesto]

Voci correlate

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica