Come funziona una CPU: contatore asincrono (ripple counter) #0.3.7.1

contatore asincrono

Nell’articolo di oggi analizzeremo nel dettaglio il funzionamento del contatore asincrono

Negli articoli precedenti abbiamo visto:

Per quanto concerne i contatori esistono due principali modalità di realizzazione:

  • ripple counter (o asincroni):
    • hanno un ritardo dipendente dalla lunghezza della ”catena” di contatori messi in cascata;
  • contatori sincroni:
    • tutte le uscite assumono contemporaneamente il valore corrente

Contatore asincrono

Il contatore asincrono è costituito da un tipo particolare di Flip-Flop: i Flip-Flop T. Essi hanno un ingresso di Clear (che serve per inizializzarli a 0), un ingresso di Clock ma non un ingresso di dato. Questo perché, ad ogni impulso di Clock, il Flip-Flop T si complementa, ovvero commuta il proprio valore (da 1 a 0 oppure da 0 a 1). Il Contatore presenta un segnale di Count connesso solo al Clock del primo Flip-Flop. Ad ogni impulso di Count il primo Flip-Flop si complementa e la sua uscita funge da segnale di Clock per il Flip-Flop successivo.

Ogni qual volta un Clock commuta 2 volte di seguito (fronte di salita e di discesa) cioè dopo un intervallo di tempo pari al periodo di tale Clock, il corrispondente Flip-Flop si complementa. Fino a quando un Flip-Flop non vede il proprio Clock commutare 2 volte, resta in attesa.

contatore asincrono

Si presti attenzione al fatto che i bit sono memorizzati nei Flip-Flop dal meno significativo al più significativo.

Si osservano pertanto le seguenti configurazioni (con LSB ad estrema sinistra e MSB ad estrema destra):

  • 0000 = 0
  • 1000 = 1
  • 0100 = 2
  • 1100 = 3
  • 0010 = 4
  • 1010 = 5
  • 0110 = 6
  • 1110 = 7
  • 0001 = 8
  • Etc…

Esse corrispondono ad un vero e proprio conteggio! Il principale svantaggio di un Contatore asincrono è che l’intervallo di tempo dopo il quale commuta il MSB cresce linearmente col parallelismo del circuito.

Supponendo che ogni Flip-Flop abbia un ritardo δ, si ottiene:

ritardo = nflipflop ∗ δ

La velocità di conteggio risulta quindi limitata dal numero di bit che compongono il Contatore. Per ovviare a questo problema, si può adottare una soluzione differente utilizzando un Contatore sincrono.

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.