Les registres à décalage.

Un registre à décalage est un ensemble de bascules dans lequel on fait "glisser" les bits, vers la droite (c'est à dire en pratiquant une division par 2) ou vers la gauche (en pratiquant cette fois une multiplication par 2), au rythme d'une horloge.

L'utilisation d'un registre à décalage passe donc par plusieurs phases :
1 - le chargement des bits d'information dans le registre,
2 - un décalage de ces bits,
3 - la sortie du résultat.

Les trois opérations précédentes ne sont pas toujours toutes nécessaires. Elles peuvent aussi être partiellement simultanées. En effet, le chargement (ou la sortie) peut se faire en entrant (ou en sortant) les bits les uns après les autres, en utilisant justement le décalage possible du registre. On parle dans ce cas d'écriture (ou de lecture) en série.

Si le chargement (ou la sortie) est obtenu en entrant tous les bits simultanément dans les bascules associées, on parle alors d'écriture (ou de lecture) parallèle.

On distinguera donc les registres :
1 - à écriture parallèle et lecture série,
2 - à écriture série et sortie parallèle,
3 - à écriture série et lecture série.

Un registre à décalage peut être bidirectionnel. Il existe d'ailleurs des registres multifonctionnels qui permettent d'obtenir plusieurs types de fonctionnement (voir la documentation du 74HCT194 par exemple).

Le registre à décalage est intégré dans les Unités Arithmétiques et Logiques (UAL), dans lesquelles, outre le stockage des données, il permet de réaliser la multiplication et la division par 2. Ces registres sont également utilisés pour réaliser des compteurs circulaires, des diviseurs de fréquence, des générateurs de fonctions, des lignes à retard et des convertisseurs de données série/parallèle ou parallèle/série que l'on retrouve surtout dans les systèmes de transmissions de données.

Registre à décalage 74HC165
entrée série/parallèle, sortie série

Registre à décalage 74ALS164
entrée série, sortie parallèle

Registre à décalage universel 74HC194
entrée série/parallèle
sortie série/parallèle