Un registro è un componente che memorizza temporaneamente e gestisce informazioni binarie di pochi bit (x32 o x64) su un numero di posizioni, cioè un insieme di celle di memoria (flip-flop), per poter trasferire i bit tra i circuiti. Possono operare in parallelo o in serie.
registri con diverse modalità di input/ouput
- **SISO (Serial In - Serial Out): I dati vengono inseriti bit per bit in ingresso e escono bit per bit in uscita.
- SIPO (Serial In - Parallel Out): I dati vengono inseriti bit per bit in modo seriale, ma vengono letti tutti insieme in parallelo.
- PISO (Parallel In - Serial Out): I dati vengono caricati tutti insieme in parallelo e poi vengono trasmessi bit per bit in uscita.
- PIPO (Parallel In - Parallel Out): I dati vengono caricati tutti insieme e letti tutti insieme senza scorrimento.
Ogni flip-flop contenuto in un registro ha i seguenti ingressi:
Ingressi sincroni (in tutti i registri realizzati con flip-flop set-reset (SR))
Cioè dipendenti dal clock: questi ingressi operano solo quando il clock è attivo (ad esempio, al fronte di salita o discesa). I due ingressi sincroni tipici di un flip-flop sono:
- SET: Imposta l’uscita del flip-flop a 1, quando il clock è attivo.
- RESET: Imposta l’uscita del flip-flop a 0, quando il clock è attivo.
ingressi asincroni (nei registri asincroni)
Cioè indipendenti dal clock: sono usati per forzare il flip-flop in uno stato specifico, senza aspettare il ciclo di clock. I due ingressi asincroni più comuni sono:
- PRESET: Imposta (pone a 1) l’uscita del flip-flop in modo immediato, senza bisogno del clock.
- CLEAR (o RESET): Resetta (pone a 0) l’uscita del flip-flop in modo immediato, senza bisogno del clock.
N.B.: PRESET si attiva quando è 1 (si dice active-high) e CLEAR si attiva quando è 0 (si dice active-low).