Skip to content

Multiplexer, decoder, demultiplexer ed encoder

Una mappa di Karnaugh è usabile con funzioni che arrivano al massimo a 4/5 variabili. Per funzioni più complesse conviene usare un metodo gerarchico: si combinano blocchi più semplici per realizzare circuiti complessi (un po’ come passare dall’assembly al C).

Funzione a 4 ingressi di dato (𝑎, 𝑏, 𝑐, 𝑑) + 2 ingressi di controllo (𝑠0 e 𝑠1).

Possiamo usare il multiplexer 2 a 1 che già conosciamo per creare questo componente più complesso. Per esempio:

  • 1° livello: si sceglie tra 𝑎 e 𝑏 e tra 𝑐 e 𝑑 usando 𝑠0;
  • 2° livello: si sceglie tra i 2 rimasti usando 𝑠1;
Circuito del multiplexer 4 a 1

Il simbolo che si usa per rappresentare il multiplexer è:

Simbolo del multiplexer 4 a 1

Esempi di utilizzo:

  • condivisione di risorse;
  • realizzazione dispositivi programmabili;
  • selezione di celle di memoria;

Decodificare significa passare da 𝑛 ingressi a 𝑚 uscite, dove:

  • 𝑛≤𝑚≤2𝑛;
  • ad ogni valore di ingresso corrisponde un unico valore in uscita;

Con 𝑚 cifre si possono rappresentare 2𝑚 codici, ma se ne usano solo 2𝑛.

Decodifica 2 a 1: la prima uscita vale 1 se l’ingresso vale 0, la seconda vale 1 se l’ingresso vale 1.

Circuito del decoder 2 a 1

Il simbolo che si usa per rappresentare il decoder è:

Simbolo del decoder 2 a 1

Da notare che le combinazioni di uscita con tutti 0 o tutti 1 non vengono utilizzate.

Esempio di utilizzo: scelta di celle di memoria:

  • il processore mette sul bus un indirizzo a 𝑛 bit;
  • metà dei bit indirizza le righe con una decodifica;
  • l’altra metà sceglie una colonna con un multiplexer;

Prende in ingresso un dato e lo indirizza su una delle uscite selezionate da ⌈log2(𝑛)⌉ bit di controllo. Le uscite non selezionate hanno valore 0.

Simbolo del demultiplexer 1 a 4

Fa il lavoro contrario del decoder: riduce 𝑛 ingressi a 𝑚 uscite.

Esempio di encoder 8 a 3:

Tabella encoder 8 a 3

Priority encoder: ritorna il codice binario dell’ingresso con valore 1 avente priorità più alta. Se più ingressi hanno valore 1, restituisce quello con priorità maggiore.