Registro a scorrimento: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
m →‎Registri SIPO: Sostituito l'immagine relativa al registro a scorrimento SIPO a 4 bit con la relativa versione SVG
fix
 
Riga 1: Riga 1:
{{F|memorie informatiche|arg2=elettronica|febbraio 2013}}
{{F|memorie informatiche|arg2=elettronica|febbraio 2013}}
[[File:74HC595.jpg|thumb|Alcuni [[circuito integrato|integrati]] '''74HC595''', comuni '''registri a scorrimento''' in [[CMOS|logica CMOS]] della [[serie 7400]] di tipo "SIPO".]]
[[File:74HC595.jpg|thumb|Alcuni [[circuito integrato|integrati]] '''74HC595''', comuni '''registri a scorrimento''' in [[CMOS|logica CMOS]] della [[serie 7400]] di tipo "SIPO".]]

I '''registri a scorrimento''' ({{Inglese|shift register}}) sono componenti utilizzati nell'[[elettronica digitale]] costituiti da una catena di celle di memoria ad 1 [[bit (informatica)|bit]] (comunemente dei [[flip-flop]], solitamente di tipo DT data-trigger) interconnesse tra loro: ad ogni impulso di [[clock]] essi consentono lo scorrimento dei bit da una cella a quella immediatamente adiacente. Lo scorrimento può avvenire in un'unica direzione predeterminata, o in direzione variabile comandata da una linea di controllo (registri bidirezionali). L'uso dei registri a scorrimento rende più agevoli le operazioni di lettura e scrittura dei dati in un sistema.
I '''registri a scorrimento''' ({{Inglese|shift register}}) sono componenti utilizzati nell'[[elettronica digitale]] costituiti da una catena di celle di memoria ad 1 [[bit (informatica)|bit]] (comunemente dei [[flip-flop]], solitamente di tipo DT data-trigger) interconnesse tra loro: ad ogni impulso di [[clock]] essi consentono lo scorrimento dei bit da una cella a quella immediatamente adiacente. Lo scorrimento può avvenire in un'unica direzione predeterminata, o in direzione variabile comandata da una linea di controllo (registri bidirezionali). L'uso dei registri a scorrimento rende più agevoli le operazioni di lettura e scrittura dei dati in un sistema.


== Tipi di registri a scorrimento ==
== Tipi di registri a scorrimento ==

=== Registri SISO ===
=== Registri SISO ===
Nei registri SISO (''serial input-serial output''), è presente un solo [[Terminale (elettronica)|terminale]] di ingresso, quindi i bit vengono caricati uno alla volta (forma [[Trasmissione seriale|seriale]]): alla prima transizione attiva del segnale di clock, il dato presente sull'ingresso viene trasferito all'uscita della prima cella, al successivo impulso il dato passa alla seconda cella e così via fino all'uscita dell'ultima cella di memoria, dove i dati vengono letti anche in questo caso uno alla volta.
Nei registri SISO (''serial input-serial output''), è presente un solo [[Terminale (elettronica)|terminale]] di ingresso, quindi i bit vengono caricati uno alla volta (forma [[Trasmissione seriale|seriale]]): alla prima transizione attiva del segnale di clock, il dato presente sull'ingresso viene trasferito all'uscita della prima cella, al successivo impulso il dato passa alla seconda cella e così via fino all'uscita dell'ultima cella di memoria, dove i dati vengono letti anche in questo caso uno alla volta.
Riga 10: Riga 10:
=== Registri SIPO ===
=== Registri SIPO ===
Nei registri SIPO (''serial input-parallel output''), i dati vengono caricati sempre in forma seriale, però sono prelevati contemporaneamente, in qualsiasi istante sulle uscite delle varie celle di memoria, quindi l'uscita è di tipo [[Trasmissione parallela|parallelo]].
Nei registri SIPO (''serial input-parallel output''), i dati vengono caricati sempre in forma seriale, però sono prelevati contemporaneamente, in qualsiasi istante sulle uscite delle varie celle di memoria, quindi l'uscita è di tipo [[Trasmissione parallela|parallelo]].

[[File:4-Bit SIPO Shift Register.svg|centro|riquadrato|Registro a scorrimento SIPO a 4 bit]]
[[File:4-Bit SIPO Shift Register.svg|thumb|center|Registro a scorrimento SIPO a 4 bit]]


=== Registri PISO ===
=== Registri PISO ===
I registri PISO (''parallel input-serial output'') consentono il caricamento dei dati in forma parallela. Gli N bit della [[Word|parola]] da memorizzare vengono applicati agli N terminali di ingresso dati del registro, in questo tipo di registri è presente un ingresso di controllo che dà l'abilitazione al caricamento dei dati, se il terminale di abilitazione è a 0 (write) alla prima transizione del segnale di clock i flip-flop memorizzano i dati impostati, naturalmente lo stato dei terminali di ingresso deve rimanere stabile finché l'ingresso di controllo è basso per evitare la scrittura di dati errati, terminata l'operazione l'ingresso di controllo viene portato a 1 (shift). A questo punto i dati vengono prelevati in forma seriale sull'uscita dell'ultima cella di memoria durante gli N cicli di clock successivi.
I registri PISO (''parallel input-serial output'') consentono il caricamento dei dati in forma parallela. Gli N bit della [[Word|parola]] da memorizzare vengono applicati agli N terminali di ingresso dati del registro, in questo tipo di registri è presente un ingresso di controllo che dà l'abilitazione al caricamento dei dati, se il terminale di abilitazione è a 0 (write) alla prima transizione del segnale di clock i flip-flop memorizzano i dati impostati, naturalmente lo stato dei terminali di ingresso deve rimanere stabile finché l'ingresso di controllo è basso per evitare la scrittura di dati errati, terminata l'operazione l'ingresso di controllo viene portato a 1 (shift). A questo punto i dati vengono prelevati in forma seriale sull'uscita dell'ultima cella di memoria durante gli N cicli di clock successivi.


[[File:4-Bit PISO Shift Register.png|frame|center|Registro a scorrimento PISO a 4 bit]]
[[File:4-Bit PISO Shift Register.png|thumb|center|Registro a scorrimento PISO a 4 bit]]


L'animazione qui sotto mostra la sequenza scrittura/scorrimento con il relativo stato interno del registro
L'animazione qui sotto mostra la sequenza scrittura/scorrimento con il relativo stato interno del registro
Riga 25: Riga 26:


== Applicazioni ==
== Applicazioni ==

Le applicazioni in cui sono indispensabili i registri a scorrimento sono molteplici.
Le applicazioni in cui sono indispensabili i registri a scorrimento sono molteplici.



Versione attuale delle 19:33, 24 apr 2024

Alcuni integrati 74HC595, comuni registri a scorrimento in logica CMOS della serie 7400 di tipo "SIPO".

I registri a scorrimento (in inglese shift register) sono componenti utilizzati nell'elettronica digitale costituiti da una catena di celle di memoria ad 1 bit (comunemente dei flip-flop, solitamente di tipo DT data-trigger) interconnesse tra loro: ad ogni impulso di clock essi consentono lo scorrimento dei bit da una cella a quella immediatamente adiacente. Lo scorrimento può avvenire in un'unica direzione predeterminata, o in direzione variabile comandata da una linea di controllo (registri bidirezionali). L'uso dei registri a scorrimento rende più agevoli le operazioni di lettura e scrittura dei dati in un sistema.

Tipi di registri a scorrimento

[modifica | modifica wikitesto]

Registri SISO

[modifica | modifica wikitesto]

Nei registri SISO (serial input-serial output), è presente un solo terminale di ingresso, quindi i bit vengono caricati uno alla volta (forma seriale): alla prima transizione attiva del segnale di clock, il dato presente sull'ingresso viene trasferito all'uscita della prima cella, al successivo impulso il dato passa alla seconda cella e così via fino all'uscita dell'ultima cella di memoria, dove i dati vengono letti anche in questo caso uno alla volta.

Registri SIPO

[modifica | modifica wikitesto]

Nei registri SIPO (serial input-parallel output), i dati vengono caricati sempre in forma seriale, però sono prelevati contemporaneamente, in qualsiasi istante sulle uscite delle varie celle di memoria, quindi l'uscita è di tipo parallelo.

Registro a scorrimento SIPO a 4 bit

Registri PISO

[modifica | modifica wikitesto]

I registri PISO (parallel input-serial output) consentono il caricamento dei dati in forma parallela. Gli N bit della parola da memorizzare vengono applicati agli N terminali di ingresso dati del registro, in questo tipo di registri è presente un ingresso di controllo che dà l'abilitazione al caricamento dei dati, se il terminale di abilitazione è a 0 (write) alla prima transizione del segnale di clock i flip-flop memorizzano i dati impostati, naturalmente lo stato dei terminali di ingresso deve rimanere stabile finché l'ingresso di controllo è basso per evitare la scrittura di dati errati, terminata l'operazione l'ingresso di controllo viene portato a 1 (shift). A questo punto i dati vengono prelevati in forma seriale sull'uscita dell'ultima cella di memoria durante gli N cicli di clock successivi.

Registro a scorrimento PISO a 4 bit

L'animazione qui sotto mostra la sequenza scrittura/scorrimento con il relativo stato interno del registro

Registri PIPO

[modifica | modifica wikitesto]

Nei registri PIPO (parallel input-parallel output) il caricamento e la trasmissione dei dati avvengono in forma parallela.

Le applicazioni in cui sono indispensabili i registri a scorrimento sono molteplici.

Per esempio quando sia necessario trasferire i dati da un elaboratore ad una periferica bisogna spesso operare una conversione di formato da parallelo a seriale e viceversa: in un sistema digitale, infatti, i bit vengono solitamente trasferiti in forma parallela ma se i due sistemi sono separati da distanze significative può non risultare conveniente utilizzare tante linee di trasmissione quanti sono i bit da inviare, ma si preferisce trasferire i bit serialmente uno alla volta. In questi casi i registri possono realizzare una conversione da parallelo a seriale dei dati e viceversa ovviamente sincronizzando opportunamente i segnali di controllo in modo da non avere errori di scrittura e di lettura nei registri.

Inoltre possono essere utilizzati per variare la velocità di trasferimento dei dati seriali su una linea nel caso in cui un dispositivo lento debba trasferire dei dati ad un dispositivo più veloce, i bit che arrivano dal dispositivo lento vengono memorizzati nel registro per poi essere inviati con una frequenza superiore a quello più veloce.

Un'altra applicazione può essere quella di utilizzare un registro a scorrimento come linea di ritardo per far pervenire ad un elemento di un sistema un segnale con un certo ritardo rispetto al momento in cui viene generato, la durata del ritardo può essere variata cambiando la frequenza del clock oppure prelevando il segnale su una diversa uscita del registro.

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh85121409 · GND (DE4124131-9 · J9U (ENHE987007538859905171