ELEMANIA
Digitale - Multiplexing
Il conflitto sul bus

Riassumendo: un solo dispositivo alla volta può scrivere (cioè inviare dati) sul bus. Invece è possibile che più dispositivi contemporaneamente leggano (cioè prelevino dati) dal bus. Infatti la scrittura sul bus da parte di più dispositivi implica che i dispositivi cerchino di imporre il proprio valore logico sul bus comune: ciò non è possibile, poiché provocherebbe un cosiddetto conflitto sul bus (su una linea logica è possibile avere un unico valore logico 0 e 1 in un dato istante). La lettura invece implica solo il prelievo di un valore dal bus e dunque può essere effettuata contemporaneamente da più dispositivi senza che ciò crei conflitti.

Per risolvere il problema del conflitto sul bus, che si verifica quando più dispositivi digitali vengono connessi in uscita su un bus, bisogna fare in modo che solo una delle porte scriva (cioè metta) il proprio valore sul bus. Per esempio si potrebbero usare degli interruttori e chiudere un solo interruttore alla volta:

L'utilizzo degli interruttori meccanici ovviamente è poco pratico per i circuiti elettronici. Inoltre è necessario un dispositivo che comandi gli interruttori stessi, permettendo di attivare in uscita una e una sola delle linee in un dato momento.

Multiplexer

Il collegamento (in modo mutuamente esclusivo) di più linee su un'unica linea comune si dice multiplexing e il dispositivo digitale che permette di realizzarlo si chiama multiplexer, spesso abbreviato con mux (di cui parliamo più diffusamente in una successiva lezione).

La figura seguente mostra il semplice schema di un principio di un mux con 4 ingressi di dato e 2 ingressi di selezione (mux 4:1):

Gli ingressi di selezione servono, come dice il nome, per selezionare quale fra le linee di ingresso di dato dovrà essere collegata in uscita. In generale se n è il numero di ingressi di selezione, il numero di linee di ingresso di dato sarà 2n (es. con n=2, come nel nostro caso, il numero di linee di dato è 22 = 4).

La tabella di verità che descrive il funzionamento del multiplexer è la seguente:

S1 S0 U
0 0 A
0 1 B
1 0 C
1 1 D

Si osservi come l'uscita U è sempre uguale a uno degli ingressi (quello selezionato per mezzo delle linee di selezione).

Osserviamo inoltre che ciascuna linea di ingresso (e corrispondentemente, la linea di uscita U) può in generale essere costituita da più bit. La figura seguente mostra per esempio un mux 8:1 dove ogni ingresso di dato e l'uscita U sono costituiti da 4 bit (si noti il numero accanto a ogni pin e la notazione "tagliata", per indicare un gruppo di linee):

Mux 8:1

Il mux risolve il problema del conflitto sul bus, permettendo di abilitare solo una delle linee di ingresso alla volta. La figura seguente mostra per esempio il collegamento di 8 dispositivi (quadrati in grigio) su un bus comune per mezzo di un mux 8:1

Collegamento sul bus a mux

 

Se il numero di ingressi di selezione (e di linee di dato) è basso, la realizzazione circuitale del multiplexer è relativamente semplice. La figura seguente mostra per esempio un mux con un solo ingresso di selezione (mux a 2 vie), realizzato con una porta OR e due AND:

Tuttavia quando il numero delle linee di dato diventa elevato (come accade in pratica nei moderni computer) l'architettura a multiplexer non è più pratica. Bisogna anche tener conto che con questa soluzione i tempi di propagazione aumentano al crescere della complessità della rete logica. Per queste ragioni, nei circuiti elettronici moderni, si preferisce usare una soluzione diversa: l'architettura three-state, di cui parleremo nella prossima lezione.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it