Nell’articolo di oggi analizzeremo nel dettaglio il funzionamento del contatore semplice
Negli articoli precedenti abbiamo visto:
- Come funziona una CPU: progetto di circuiti logici #0
- Come funziona una CPU: Flip-Flop SR asincrono #0.1
- Come funziona una CPU: Flip-Flop sincrono #0.1.1
- Come funziona una CPU: Flip-Flop D #0.1.2
- Come funziona una CPU: Flip-Flop Master-Slave #0.1.3
- Come funziona una CPU: Modello di Huffman #0.2
- Come funziona una CPU: progetto di circuiti sequenziali sincroni #0.2.1
- Come funziona una CPU: progetto dei circuiti logici #0.3
- Come funziona una CPU: porte logiche operanti su parole #0.3.1
- Come funziona una CPU: multiplexer #0.3.2
- Come funziona una CPU: decodificatore #0.3.3
- Come funziona una CPU: codificatore (encoder) #0.3.4
- Come funziona una CPU: codificatore prioritario (priority encoder) #0.3.4.1
- Come funziona una CPU: sommatore full-adder #0.3.5
- Come funziona una CPU: sommatore Ripple Carry Adder #0.3.5.1
- Come funziona una CPU: sommatore seriale #0.3.5.2
- Come funziona una CPU: Sommatore con carry-lookahead #0.3.5.3
- Come funziona una CPU: ALU spiegata in modo semplice #0.3.5.4
- Come funziona una CPU: comparatore #0.3.5.5
- Come funziona una CPU: registro a m-bit #0.3.6
- Come funziona una CPU: registro a scalamento (Shift Register) #0.3.6.1
Il contatore è un Registro, inizializzabile ad un certo valore (grazie ad un segnale di Clear), con un certo parallelismo di n-bit (visibili all’esterno grazie alle uscite dei Flip-Flop). Presenta inoltre un segnale Count di conteggio il quale, una volta attivato, fa incrementare (o decrementare) il valore memorizzato nel Contatore di un dato passo.
Evolvono attraverso k-stati in risposta a k-impulsi in ingresso. Tipologie:
- Up-down counter:
- possono contare avanti e indietro;
- Programmable counter:
- il valore del modulo può essere modificato;
- Binary/decimal/gray/BCD counter:
- possono contare in binario/decimale/ gray/BCD;
Contatore semplice
Consideriamo un Contatore modulo-16, cioè capace di contare fino a 15 (in quanto provvisto di 4 Flip-Flop).
Quando il valore memorizzato al suo interno è pari a 15, se si attiva il segnale di Count, esso ritorna a 0. Può esserci un segnale di Terminal Count che vale 1 quando il valore memorizzato nel Contatore è massimo.
Si noti che vale la seguente uguaglianza:
nflipflop = nbit = log2 modulo
grazie alla quale si determina il numero minimo di Flip-Flop necessari per costruire un Contatore che riesca a contare fino ad un valore X = modulo − 1. Quindi è possibile connettere più Contatori in cascata per costruire un Contatore di modulo maggiore! Due Contatori modulo-16 connessi in cascata danno vita ad un Contatore modulo-256 (perché per ogni contatore si hanno a disposizione 4-bit, per un totale di 8-bit nonché 28 possibili valori rappresentabili, da 0 fino a 255).
Iscriviti ai nostri gruppi Telegram
Link utili