Come funziona una CPU: codificatore prioritario (priority encoder) #0.3.4.1

Nell’articolo di oggi analizzeremo nel dettaglio il codificatore prioritario (priority encoder).

Negli articoli precedenti abbiamo visto:

Il codificatore prioritario (priority encoder) è un codificatore che, in caso di attivazione di più di un ingresso, fornisce in uscita il numero binario corrispondente all’ingresso con priorità maggiore, cioè quello identificato dal numero decimale più alto.

Nella pratica, risulta di poca utilità un modulo che considera solo alcune delle possibili configurazioni d’ingresso. Pertanto, risulta molto frequente l’utilizzo dei Priority Encoders. Essi prevedono che tra le varie linee d’ingresso ci sia un ordine di priorità. In uscita viene prodotto l’indice della linea d’ingresso attiva avente priorità massima. In genere si attribuisce maggiore priorità alle linee d’ingresso di maggior indice.

Di seguito riportiamo la tavola di verità di un Priority Encoder 4→2:

codificatore prioritario

Si noti che se è attiva la linea d’ingresso avente massima priorità non importa quali valori assumano le altre linee d’ingresso. Inoltre, la configurazione (0000) in cui nessuna linea d’ingresso è attiva non è presente nella tavola di verità in quanto non è prevista nelle specifiche di un Encoder (almeno un ingresso deve essere attivo).

In certi casi, al Priority Encoder si aggiungono due segnali:

  • Un segnale di Enable:
    • quando è disattivo, tutte le uscite sono 0;
  • Un segnale di Input active:
    • vale 1 quando l’Enable è attivo ed almeno una linea d’ingresso è attiva;

Ecco un esempio di Priority Encoder 8→3 con segnali di Enable ed Input active:

codificatore prioritario

Il segnale di Input active è prodotto in uscita da una porta AND che riceve in ingresso il segnale di Enable e l’uscita di una porta OR connessa a tutte le linee d’ingresso (in modo che la porta OR fornisca in output il valore 1 quando almeno una linea d’ingresso è attiva). Il segnale di Enable è anche connesso agli ingressi delle porte AND che producono le uscite (per poterle, eventualmente, disabilitare).

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.