Come applicato ai circuiti digitali, un registro a scorrimento è una serie di flip-flop basati sulla temporizzazione sequenziale dell’orologio. I flip-flop facilitano lo spostamento dei dati dall’input all’output utilizzando la logica sequenziale. Un orologio, sotto forma di un’onda ripetuta in uno schema quadrato, viene utilizzato per sincronizzare il modo in cui i dati viaggiano attraverso i registri a scorrimento, creando un breve ritardo nella trasmissione di un segnale digitale. Molto spesso, i registri a scorrimento di lunghezza variabile vengono utilizzati per convertire i dati paralleli in seriali, ma possono anche essere utilizzati per il flusso di dati nei microprocessori o per convertire i dati analogici in digitali e viceversa.
I registri a scorrimento sono circuiti ad alta velocità. In primo luogo, un registro a scorrimento sposta bit di dati a sinistra oa destra lungo un circuito, a seconda della struttura specifica del circuito. Nella sua forma più semplice, un registro a scorrimento riceve i dati nel primo stadio e sposta i bit di uno stadio a sinistra oa destra quando l’orologio segnala la necessità di un avanzamento dei dati. I registri sono identificati dal numero di slot di memoria temporanea disponibili dopo ogni fase tra input e output. Gli slot di memorizzazione temporanei consentono ad un registro a scorrimento di ritardare i segnali di dati fino a quando i segnali di orologio avanzano dati appropriati. Un registro a 8 bit, ad esempio, ha otto stadi e quindi otto slot di memorizzazione temporanei per i bit in una stringa di dati.
Strutturalmente, ci sono cinque tipi fondamentali di registri a scorrimento. I registri a scorrimento Serial-in/serial-out e universali parallel-in/parallel-out facilitano l’input e l’output dei dati rispettivamente in forma seriale o parallela, senza bisogno di conversioni. Parallel-in/serial-out si riferisce a registri a scorrimento che elaborano input di trasmissione dati paralleli e convertono tali trasmissioni in output in forma seriale. I registri a scorrimento Serial-in/parallel-out sono quasi identici a parallel-in/serial-out, ad eccezione dei dati di input in forma seriale convertiti in output in forma parallela.
Un contatore ad anello è un tipo di struttura di registro a scorrimento che presenta modelli di dati che ricircolano o si ripetono. Quando un registro a scorrimento completa l’elaborazione di una stringa di dati e riporta l’ultimo stadio allo stadio iniziale di immissione dei dati, ne risulta un modello circolare. I contatori di squilli vengono utilizzati quando è richiesta una funzione specifica su uno schema ripetitivo impostato. Ad esempio, un display a LED impostato per ripetere i display scelti potrebbe utilizzare una struttura di contatore ad anello per il registro a scorrimento in modo che l’uscita si ripeta a un impulso di clock predeterminato.
Durante i primi giorni dei computer, per la memoria del computer veniva utilizzato un registro a scorrimento con diverse centinaia di stadi. L’uso di registri a scorrimento ha sostituito le linee di ritardo al mercurio, accelerando l’elaborazione dei dati e consentendo componenti e periferiche di computer più piccoli. Oggi, i registri a scorrimento come memoria primaria del computer sono considerati antiquati. I circuiti stampati, tuttavia, dispongono ancora di registri a scorrimento per ridurre la quantità di cablaggio necessaria, in particolare nei driver del display, nei convertitori da digitale ad analogico e nella memoria dati seriale.