Chapitre 14 — Registres
Niveau conseillé : Bac+1 / Bac+2 — Cycle préparatoire, BTS, BUT, Licence
Idée centrale Un registre associe plusieurs bascules afin de mémoriser, déplacer ou convertir un mot binaire. Il constitue une interface essentielle entre le traitement parallèle et la transmission série. |

Présentation du chapitre
Une bascule mémorise un bit. En regroupant plusieurs bascules commandées par une horloge commune, on obtient un registre capable de conserver un mot binaire. Selon les connexions établies entre les étages, le registre peut charger toutes ses données simultanément, recevoir les bits successivement, restituer les informations en série ou en parallèle, ou encore déplacer le contenu vers la droite ou vers la gauche.
Les registres sont utilisés dans les processeurs, les interfaces de communication, les convertisseurs série-parallèle, les systèmes de temporisation, les compteurs, les générateurs de séquences et les chaînes de traitement numériques. Leur étude permet de relier les bascules individuelles aux architectures séquentielles plus complexes.
Objectifs pédagogiques
À la fin du chapitre, l’étudiant sera capable de… | Indicateur de maîtrise |
|---|---|
| Définir un registre | Expliquer le rôle de la mémoire collective et de l’horloge. |
| Analyser un registre parallèle | Décrire le chargement et la lecture simultanés d’un mot. |
| Analyser un registre à décalage | Calculer le contenu après chaque impulsion. |
| Distinguer droite et gauche | Identifier l’entrée série et la sortie série correspondantes. |
| Reconnaître SISO, SIPO, PISO et PIPO | Choisir le type adapté au besoin. |
| Comprendre le registre universel | Interpréter les modes maintien, décalage et chargement. |
| Réaliser une conversion série-parallèle | Reconstruire un mot à partir d’un flux de bits. |
| Réaliser une conversion parallèle-série | Émettre un mot sur une seule ligne. |
| Exploiter une temporisation numérique | Relier le nombre d’étages au retard en cycles. |
| Générer des séquences | Comprendre les registres en anneau et de Johnson. |
Prérequis
- connaître le fonctionnement de la bascule D et le rôle du front actif ;
- savoir lire un chronogramme et déterminer l’état futur d’une bascule ;
- comprendre les entrées synchrones et asynchrones ;
- maîtriser la représentation d’un mot binaire et les notions de bit de poids fort et de poids faible ;
- connaître les signaux d’horloge, de validation et de remise à zéro.
Organisation du chapitre
Partie | Thème | Compétence principale |
|---|---|---|
| 14.1 | Registre parallèle | Stocker, charger et lire plusieurs bits simultanément. |
| 14.2 | Registre à décalage | Déplacer les bits à droite ou à gauche. |
| 14.3 | Types de registres | Comparer les modes série et parallèle. |
| 14.4 | Applications | Convertir, temporiser, transmettre et générer des séquences. |
| TD / TP | Mise en œuvre | Analyser des chronogrammes et vérifier un montage. |
14.1. Registre parallèle
Un registre parallèle est un ensemble de n bascules, généralement de type D, partageant la même horloge. Il mémorise un mot de n bits. Les n bits d’entrée sont présentés simultanément et sont capturés lors du front actif. Les n sorties sont disponibles en même temps.
Définition Un registre parallèle n bits contient n éléments mémoire. Au front actif, chaque sortie Qi reçoit l’entrée Di correspondante. Entre les fronts, le mot mémorisé reste inchangé. |

Figure 1 — Architecture fonctionnelle d’un registre parallèle 4 bits.
14.1.1. Stockage de plusieurs bits
Chaque bascule conserve un bit du mot. Pour un registre 4 bits, les sorties peuvent être notées Q3, Q2, Q1 et Q0. Q3 représente souvent le bit de poids fort (MSB) et Q0 le bit de poids faible (LSB). Le contenu du registre s’écrit Q[3:0] ou Q3Q2Q1Q0.
Au front actif : Q3Q2Q1Q0 ← D3D2D1D0 |
Instant | D3D2D1D0 | Front actif ? | Q3Q2Q1Q0 après l’événement |
|---|---|---|---|
| t0 | 1010 | Non | Valeur précédente |
| t1 | 1010 | Oui | 1010 |
| t2 | 0111 | Non | 1010 |
| t3 | 0111 | Oui | 0111 |
La capacité d’un registre est exprimée en bits. Un registre 8 bits stocke un octet, un registre 16 bits stocke deux octets et un registre 32 bits stocke quatre octets. Dans un processeur, les registres internes peuvent atteindre 32, 64 bits ou davantage.
14.1.2. Chargement parallèle
Le chargement parallèle signifie que toutes les entrées sont transférées simultanément. Dans sa forme la plus simple, le chargement se produit à chaque front actif. Pour éviter d’écraser inutilement le contenu, on ajoute souvent une entrée LOAD ou EN.
LOAD = 1 : Q(t+1) = D ; LOAD = 0 : Q(t+1) = Q(t) |
Cette fonction peut être réalisée par un multiplexeur placé devant chaque bascule D : une entrée du multiplexeur reçoit la nouvelle donnée Di, l’autre reçoit la sortie Qi en rétroaction. LOAD choisit entre chargement et maintien.
LOAD | Front actif | Action | Équation |
|---|---|---|---|
| 0 | Oui | Maintien du mot | Q(t+1) = Q(t) |
| 1 | Oui | Chargement parallèle | Q(t+1) = D |
| X | Non | Aucun changement synchrone | Q conserve sa valeur |

Figure 2 — Exemple de chargement parallèle commandé par LOAD.
14.1.3. Lecture parallèle
La lecture parallèle consiste à exploiter simultanément toutes les sorties du registre. La lecture peut être permanente : les sorties Q reflètent continuellement le contenu mémorisé. Dans un système à bus partagé, des buffers trois états permettent de connecter le registre au bus uniquement lorsque son signal de lecture est actif.
- lecture directe : les sorties Q sont toujours accessibles ;
- lecture validée : un signal OE (Output Enable) autorise les sorties ;
- sortie trois états : lorsque OE est inactif, les sorties passent en haute impédance Z ;
- bus partagé : un seul registre doit être autorisé à piloter le bus à un instant donné.
14.1.4. Remise à zéro et initialisation
Un registre possède souvent une entrée Clear ou Reset permettant de forcer toutes les sorties à 0. Le Reset peut être synchrone, auquel cas il agit au prochain front, ou asynchrone, auquel cas il agit immédiatement. Certains registres disposent également d’un chargement initial prédéfini.
Reset | LOAD | Front | Q(t+1) | Commentaire |
|---|---|---|---|---|
| 1 | X | X | 0000 | Reset asynchrone actif, priorité maximale |
| 0 | 1 | ↑ | D | Chargement |
| 0 | 0 | ↑ | Q(t) | Maintien |
| 0 | X | Pas de front | Q(t) | Aucun changement |
14.1.5. Exemple détaillé
Un registre 4 bits est initialement à 0000. LOAD est actif lors des fronts 1, 3 et 5. Les mots d’entrée juste avant ces fronts sont respectivement 1011, 0110 et 1100. Aux fronts 2 et 4, LOAD = 0.
Front | LOAD | D3D2D1D0 | Q avant | Q après |
|---|---|---|---|---|
| 1 | 1 | 1011 | 0000 | 1011 |
| 2 | 0 | 0010 | 1011 | 1011 |
| 3 | 1 | 0110 | 1011 | 0110 |
| 4 | 0 | 1111 | 0110 | 0110 |
| 5 | 1 | 1100 | 0110 | 1100 |
Point d’attention Le changement de la donnée D entre deux fronts n’affecte pas le registre. Seule la valeur stable dans la fenêtre de setup/hold du front actif peut être capturée. |
14.2. Registre à décalage
Dans un registre à décalage, les bascules sont reliées en chaîne. À chaque front actif, le contenu de chaque étage est transféré vers l’étage voisin. Une nouvelle donnée est introduite par une entrée série et un bit quitte le registre par une sortie série.
14.2.1. Principe général
- le registre contient n bits ;
- un décalage déplace tous les bits d’une position ;
- un nouveau bit est injecté à une extrémité ;
- un bit ancien est expulsé à l’autre extrémité ;
- le sens du déplacement détermine la position de l’entrée série et de la sortie série.

Figure 3 — Registre à décalage vers la droite.
14.2.2. Décalage à droite
Dans la convention courante, un décalage à droite déplace chaque bit vers le poids immédiatement inférieur. Le nouveau bit série entre dans l’étage de poids fort. Le bit de poids faible quitte le registre.
Q3(t+1)=Sin ; Q2(t+1)=Q3(t) ; Q1(t+1)=Q2(t) ; Q0(t+1)=Q1(t) ; Sout=Q0(t) |
État avant | Sin | État après | Bit sorti |
|---|---|---|---|
| 1011 | 0 | 0101 | 1 |
| 0101 | 1 | 1010 | 1 |
| 1010 | 0 | 0101 | 0 |
| 0101 | 0 | 0010 | 1 |
Pour un nombre binaire non signé, un décalage logique à droite d’une position correspond à une division entière par 2. Le bit éliminé représente le reste éventuel. Pour un nombre signé en complément à 2, un décalage arithmétique doit recopier le bit de signe au lieu d’insérer 0.
14.2.3. Décalage à gauche
Le décalage à gauche déplace les bits vers les poids supérieurs. Le nouveau bit entre dans l’étage de poids faible et le bit de poids fort est expulsé.
Q3(t+1)=Q2(t) ; Q2(t+1)=Q1(t) ; Q1(t+1)=Q0(t) ; Q0(t+1)=Sin ; Sout=Q3(t) |
État avant | Sin | État après | Bit sorti |
|---|---|---|---|
| 1011 | 0 | 0110 | 1 |
| 0110 | 1 | 1101 | 0 |
| 1101 | 0 | 1010 | 1 |
| 1010 | 1 | 0101 | 1 |
Pour un nombre non signé, un décalage à gauche d’une position multiplie la valeur par 2 si aucun bit significatif n’est perdu. Le bit sorti permet de détecter un dépassement de capacité.

Figure 4 — Exemple de déplacements à droite et à gauche.
14.2.4. Entrée série et sortie série
L’entrée série Sin reçoit un bit par cycle. La sortie série Sout fournit un bit par cycle. L’ordre des bits doit être défini : une transmission peut commencer par le MSB ou par le LSB. Le transmetteur et le récepteur doivent employer la même convention.
Convention | Premier bit transmis | Avantage typique | Point de vigilance |
|---|---|---|---|
| MSB first | Bit de poids fort | Lecture naturelle de nombreux protocoles | Le câblage du registre doit respecter l’ordre. |
| LSB first | Bit de poids faible | Compatible avec certains périphériques et calculs | Le mot reconstruit peut sembler inversé. |
14.2.5. Décalage validé et maintien
Comme pour un registre parallèle, un signal SHIFT ou ENABLE peut autoriser ou interdire le déplacement. Lorsque SHIFT = 0, chaque bascule réinjecte sa propre sortie et le contenu est conservé. Lorsque SHIFT = 1, chaque bascule reçoit le bit de l’étage précédent.
SHIFT = 0 : Q(t+1)=Q(t) ; SHIFT = 1 : Q(t+1)=mot décalé |
14.2.6. Registre bidirectionnel
Un registre bidirectionnel dispose d’une commande DIR qui choisit le sens. Des multiplexeurs sélectionnent, pour chaque bascule, la donnée provenant du voisin de gauche ou du voisin de droite. Deux entrées série sont souvent prévues : SinR pour le décalage à droite et SinL pour le décalage à gauche.
DIR | Action | Source de Q2 dans un registre 4 bits |
|---|---|---|
| 0 | Décalage à droite | Q3 |
| 1 | Décalage à gauche | Q1 |
14.3. Types de registres
La classification des registres repose sur la manière dont les données entrent et sortent. Le terme série signifie qu’un seul bit est transféré par cycle sur une ligne. Le terme parallèle signifie que plusieurs bits sont transférés simultanément sur plusieurs lignes.

Figure 5 — Classification SISO, SIPO, PISO et PIPO.
14.3.1. Registre série-série (SISO)
Le registre SISO, Serial In Serial Out, reçoit les bits en série et les restitue en série après un nombre de cycles égal au nombre d’étages. Il agit comme une ligne à retard numérique.
- une seule entrée de données ;
- une seule sortie de données ;
- un bit avance d’un étage par front ;
- un registre n bits introduit un retard de n cycles entre l’entrée et la sortie ;
- application : temporisation et synchronisation de flux.
14.3.2. Registre série-parallèle (SIPO)
Le registre SIPO, Serial In Parallel Out, reçoit un flux série et rend disponible le mot complet sur ses sorties parallèles. Après n fronts, un mot de n bits a été reconstruit.

Figure 6 — Conversion série-parallèle avec un registre SIPO.
Cycle | Bit reçu | Contenu Q3Q2Q1Q0 après décalage |
|---|---|---|
| 0 | — | 0000 |
| 1 | 1 | 1000 |
| 2 | 0 | 0100 |
| 3 | 1 | 1010 |
| 4 | 1 | 1101 |
Le tableau suppose un décalage à droite avec insertion au MSB. Une autre convention produit un ordre différent. Il faut toujours préciser le sens du décalage et l’ordre d’émission.
14.3.3. Registre parallèle-série (PISO)
Le registre PISO, Parallel In Serial Out, charge un mot complet en une seule opération, puis le transmet bit par bit. Il possède généralement une commande LOAD/SHIFT.
Commande | Action |
|---|---|
| LOAD=1 | Les entrées parallèles sont capturées. |
| LOAD=0 / SHIFT=1 | Le mot est décalé et un bit apparaît sur Sout. |
| LOAD=0 / SHIFT=0 | Le contenu est conservé, selon l’architecture. |
14.3.4. Registre parallèle-parallèle (PIPO)
Le registre PIPO, Parallel In Parallel Out, est le registre parallèle classique. Il transfère un mot complet à chaque opération de chargement et conserve les données pour une utilisation ultérieure. Il est très utilisé comme registre tampon entre deux blocs fonctionnant au même rythme.
14.3.5. Registre universel
Le registre universel combine plusieurs modes : maintien, décalage à droite, décalage à gauche et chargement parallèle. Deux lignes de sélection S1 et S0 peuvent commander ces quatre modes.
S1 | S0 | Mode | Description |
|---|---|---|---|
| 0 | 0 | Maintien | Q(t+1)=Q(t) |
| 0 | 1 | Décalage à droite | SinR entre au poids fort. |
| 1 | 0 | Décalage à gauche | SinL entre au poids faible. |
| 1 | 1 | Chargement parallèle | Q(t+1)=D |
Chaque entrée D d’une bascule est alors précédée d’un multiplexeur 4 vers 1. Le même code de sélection est distribué à tous les étages. Le registre universel est flexible mais exige davantage de portes et possède un délai combinatoire supplémentaire.
14.3.6. Tableau comparatif
Type | Entrée | Sortie | Fonction principale | Exemple d’utilisation |
|---|---|---|---|---|
| SISO | Série | Série | Retarder un flux | Ligne à retard |
| SIPO | Série | Parallèle | Reconstruire un mot | Réception série |
| PISO | Parallèle | Série | Sérialiser un mot | Émission série |
| PIPO | Parallèle | Parallèle | Mémoriser un mot | Registre tampon |
| Universel | Série + parallèle | Série + parallèle | Réaliser plusieurs modes | Unité de traitement |
14.4. Applications des registres
14.4.1. Conversion série-parallèle
Une interface série réduit le nombre de fils nécessaires : les bits circulent sur une ligne. Le registre SIPO accumule les bits reçus. Après réception du nombre prévu de bits, un signal de validation peut transférer le mot dans un second registre de sortie afin d’éviter que les sorties ne changent pendant la réception du mot suivant.
1. initialiser le registre ;
2. recevoir un bit à chaque front ;
3. compter les bits reçus ;
4. valider le mot après n cycles ;
5. conserver le mot stable pendant la trame suivante.
14.4.2. Conversion parallèle-série
La conversion parallèle-série charge d’abord les n bits dans un PISO, puis effectue n décalages. Cette technique permet d’envoyer un état de plusieurs capteurs ou une donnée de processeur sur une liaison à faible nombre de conducteurs.
Phase | LOAD | SHIFT | Résultat |
|---|---|---|---|
| Chargement | 1 | 0 | Le mot D est mémorisé. |
| Émission bit 1 | 0 | 1 | Le premier bit est présent sur Sout. |
| Émission bits suivants | 0 | 1 | Un bit sort à chaque front. |
| Fin | 0 | 0 | Le contenu final est maintenu ou le registre est rechargé. |
14.4.3. Temporisation numérique
Un registre SISO peut retarder un signal d’un nombre entier de périodes d’horloge. Avec n bascules, un bit appliqué à l’entrée apparaît à la sortie après n fronts actifs. Le retard idéal vaut n·TCLK, auquel s’ajoute le temps de propagation de la dernière bascule.
Retard approximatif : td ≈ n · TCLK + tCQ |
Cette propriété est utilisée pour aligner temporellement plusieurs chemins de traitement, créer des pipelines, réaliser des filtres numériques simples et comparer une donnée à sa version retardée.
14.4.4. Transmission de données
Les registres assurent l’adaptation entre un traitement parallèle interne et une liaison série externe. Ils peuvent également introduire des buffers pour absorber les différences temporaires de rythme entre deux blocs.
- réduction du nombre de fils ;
- extension d’entrées/sorties d’un microcontrôleur ;
- pilotage de matrices de LED ou d’afficheurs ;
- acquisition de plusieurs entrées numériques ;
- interface entre unités travaillant avec des largeurs de données différentes.
14.4.5. Génération de séquences
En réinjectant une ou plusieurs sorties vers l’entrée série, un registre peut produire une suite cyclique. La forme de la rétroaction détermine le nombre d’états et l’ordre de la séquence.

Figure 7 — Registres à rétroaction pour la génération de séquences.
Registre en anneau
Dans un registre en anneau, la sortie du dernier étage est réinjectée à l’entrée du premier. Si un seul bit vaut 1, ce bit circule. Un registre n bits possède alors n états utiles. Il doit être initialisé correctement, car l’état 000…0 resterait bloqué.
Registre de Johnson
Le registre de Johnson réinjecte le complément de la dernière sortie. Un registre n bits peut produire 2n états distincts. Les séquences obtenues sont faciles à décoder et servent à générer des phases de commande.
Registre à rétroaction linéaire (LFSR)
Un LFSR combine par XOR certaines sorties, appelées taps, puis réinjecte le résultat. Avec un polynôme de rétroaction adapté, un registre n bits peut parcourir jusqu’à 2ⁿ−1 états non nuls. Les LFSR sont employés pour les séquences pseudo-aléatoires, les tests et certains contrôles d’erreur.
Limite importante Une séquence produite par un LFSR est déterministe et périodique. Elle peut sembler aléatoire, mais elle ne convient pas automatiquement à un usage cryptographique. |
14.4.6. Opérations arithmétiques simples
Les décalages peuvent accélérer certaines opérations : multiplication par 2 par décalage à gauche, division entière par 2 par décalage à droite, extraction de bits, assemblage de champs et alignement de données. Il faut cependant surveiller le bit perdu et le traitement du signe.
Opération | Décalage | Condition |
|---|---|---|
| ×2 non signé | Gauche d’un bit | Pas de dépassement du MSB. |
| ÷2 non signé | Droite logique | Insertion de 0 au MSB. |
| ÷2 signé | Droite arithmétique | Recopie du bit de signe. |
| Rotation | Décalage avec réinjection | Le bit sorti revient à l’autre extrémité. |
Exemples d’application
Exemple 1 — Réception du mot 1101
Un SIPO 4 bits, initialement à 0000, décale à droite. Les bits sont envoyés dans l’ordre LSB first : 1, 0, 1, 1. Les contenus deviennent 1000, 0100, 1010 puis 1101. Après quatre fronts, le mot parallèle est disponible.
Exemple 2 — Émission du mot 1010
Un PISO charge 1010. Si la sortie série est prise sur Q0 et que le décalage se fait à droite, les bits sortent dans l’ordre 0, 1, 0, 1. Pour transmettre MSB first, il faut choisir une autre sortie ou inverser le sens de décalage.
Exemple 3 — Retard de 5 cycles
Une horloge de 20 MHz possède une période de 50 ns. Un registre SISO de cinq étages retarde idéalement le signal de 5 × 50 ns = 250 ns, plus le temps de propagation clock-to-Q du dernier étage.
Exemple 4 — Multiplication par 4
Un mot non signé est décalé deux fois vers la gauche. La valeur est multipliée par 2² = 4 si les deux bits expulsés sont nuls. Par exemple 001011₂ = 11 devient 101100₂ = 44.
Travaux dirigés
Exercice 1 — Chargement parallèle
Un registre 4 bits est initialement à 0011. Aux quatre fronts successifs, LOAD vaut 0, 1, 0, 1 et D vaut respectivement 1100, 1010, 0111, 0101. Déterminer Q après chaque front.
Exercice 2 — Décalage à droite
Un registre 5 bits contient 10110. Effectuer quatre décalages à droite avec les bits d’entrée 0, 1, 1 et 0. Donner le contenu et le bit sorti à chaque étape.
Exercice 3 — Décalage à gauche
Un registre 4 bits contient 1101. Effectuer trois décalages à gauche avec Sin = 0, 1, 0. Indiquer les bits sortis.
Exercice 4 — Conversion série-parallèle
Un SIPO 8 bits reçoit la suite 10110110, MSB first. Définir un sens de décalage cohérent et donner le mot final.
Exercice 5 — Conversion parallèle-série
Un PISO contient 01101001. La sortie série est Q0 et le registre décale à droite. Donner la suite des huit bits émis.
Exercice 6 — Registre universel
Pour S1S0 = 00, 01, 10, 11, appliquer successivement : maintien, droite avec SinR=1, gauche avec SinL=0, chargement D=1010. Le registre est initialement 0110. Donner les états successifs.
Exercice 7 — Temporisation
Calculer le retard d’un SISO 12 étages commandé à 8 MHz. Le temps clock-to-Q vaut 4 ns.
Exercice 8 — Anneau
Un registre en anneau 5 bits est initialisé à 10000. Donner les dix états suivants et la période de la séquence.
Exercice 9 — Johnson
Un registre de Johnson 4 bits est initialisé à 0000. En réinjectant le complément de Q0 au MSB lors d’un décalage à droite, déterminer les huit états.
Exercice 10 — Choix du registre
Choisir SISO, SIPO, PISO, PIPO ou universel pour : lire un capteur série, envoyer huit sorties sur deux fils, retarder un signal, mémoriser un mot interne, réaliser plusieurs modes dans une unité de calcul.
Activité pratique proposée
TP — Étude des registres et conversions série/parallèle
Cette activité peut être réalisée avec Logisim Evolution, Digital, Proteus, Multisim, une carte FPGA ou des circuits intégrés de la famille 74HC, par exemple 74HC164, 74HC165, 74HC173 ou 74HC194.
Objectifs
- réaliser un registre parallèle 4 bits ;
- observer un chargement commandé par LOAD ;
- réaliser un registre à décalage dans les deux sens ;
- convertir une donnée série en parallèle et inversement ;
- mesurer une division temporelle en nombre de cycles ;
- générer une séquence en anneau.
Matériel et précautions
- alimentation compatible avec la famille logique utilisée ;
- générateur d’horloge avec fréquence suffisamment faible pour l’observation manuelle ;
- boutons anti-rebond ou horloge unique commandée ;
- LED avec résistances de limitation ;
- condensateurs de découplage de 100 nF ;
- entrées inutilisées reliées à un niveau défini ;
- analyseur logique ou oscilloscope si disponible.
Manipulation A — Registre parallèle
1. assembler quatre bascules D avec horloge commune ;
2. appliquer un mot d’entrée 1010 et produire un front ;
3. modifier les entrées en 0111 sans front et observer les sorties ;
4. produire un nouveau front et vérifier le chargement ;
5. ajouter un multiplexeur de maintien commandé par LOAD ;
6. vérifier le Reset et noter sa polarité.
Manipulation B — Registre à décalage
1. connecter Q3 vers D2, Q2 vers D1 et Q1 vers D0 ;
2. appliquer Sin sur D3 ;
3. envoyer la suite 1, 0, 1, 1 et relever le contenu après chaque front ;
4. identifier le bit série sortant ;
5. inverser les connexions pour obtenir un décalage à gauche ;
6. comparer les deux chronogrammes.
Manipulation C — Conversion et séquence
1. utiliser le registre comme SIPO puis comme PISO ;
2. vérifier l’ordre MSB first et LSB first ;
3. boucler la sortie sur l’entrée pour créer un anneau ;
4. initialiser une seule sortie à 1 ;
5. mesurer le nombre d’états et la période ;
6. essayer l’état 0000 et expliquer le blocage.
Tableau de relevés
Essai | Mode | État initial | Entrée / commande | États observés | Conclusion |
|---|---|---|---|---|---|
| 1 | PIPO | 0000 | D=1010, LOAD=1 | ||
| 2 | SIPO | 0000 | Bits 1,0,1,1 | ||
| 3 | PISO | 1101 | SHIFT actif | ||
| 4 | Anneau | 1000 | Bouclage |
Questions d’exploitation
- Pourquoi les quatre sorties changent-elles presque simultanément ?
- Que se passe-t-il si la donnée série change trop près du front ?
- Comment éviter que les sorties parallèles bougent pendant la réception ?
- Quel est le retard entre Sin et Sout pour un registre n bits ?
- Pourquoi un compteur en anneau doit-il être initialisé ?
- Quelle différence existe entre décalage et rotation ?
Synthèse du chapitre
Notion | À retenir |
|---|---|
| Registre | Association de bascules mémorisant un mot binaire. |
| Parallèle | Plusieurs bits transférés simultanément. |
| Série | Un bit transféré par cycle. |
| Décalage | Déplacement du contenu vers un étage voisin. |
| SISO | Entrée série et sortie série : temporisation. |
| SIPO | Entrée série et sorties parallèles : réception. |
| PISO | Entrées parallèles et sortie série : émission. |
| PIPO | Entrées et sorties parallèles : stockage tampon. |
| Universel | Maintien, droite, gauche et chargement. |
| Anneau / Johnson | Génération de séquences cycliques. |
Glossaire
Terme | Définition |
|---|---|
| Bit de poids fort — MSB | Bit associé au poids le plus élevé. |
| Bit de poids faible — LSB | Bit associé au poids le plus faible. |
| Chargement | Transfert d’un mot vers les bascules. |
| Décalage | Déplacement de tous les bits d’une position. |
| Entrée série | Ligne par laquelle arrive un bit par cycle. |
| Sortie série | Ligne par laquelle sort un bit par cycle. |
| LOAD | Commande de chargement parallèle. |
| SHIFT | Commande autorisant le déplacement. |
| Rotation | Décalage avec réinjection du bit sorti. |
| Registre universel | Registre proposant plusieurs modes de fonctionnement. |
| LFSR | Registre à décalage avec rétroaction linéaire par XOR. |
| Pipeline | Découpage d’un traitement en étages mémorisés. |
Exercices d’entraînement
Exercice 11 — Équations d’un décalage
Écrire les équations de prochain état d’un registre 6 bits décalant à droite. Identifier Sin et Sout.
Exercice 12 — Multiplication et dépassement
Le mot 01101101 est décalé deux fois à gauche. Donner les états et indiquer si le résultat tient sur 8 bits.
Exercice 13 — Retard et fréquence
Un registre de 16 étages doit créer un retard de 2 µs. Déterminer la fréquence d’horloge idéale, sans tenir compte du temps de propagation.
Exercice 14 — Reconstruction d’une trame
Un SIPO reçoit 01101010 dans l’ordre LSB first, insertion au MSB. Quel mot apparaît ? Expliquer l’effet de l’ordre de transmission.
Exercice 15 — Sortie trois états
Trois registres PIPO partagent un bus 8 bits. Proposer une règle de commande des signaux OE et expliquer le risque si deux OE sont actifs.
Exercice 16 — Séquence anneau
Comparer le nombre d’états utiles d’un anneau 6 bits et d’un Johnson 6 bits.
Exercice 17 — LFSR
Pourquoi l’état entièrement nul est-il souvent interdit dans un LFSR XOR ? Quel est le nombre maximal d’états d’un LFSR 8 bits maximal ?
Exercice 18 — Conception
Proposer l’architecture d’un système recevant 12 bits en série, les présentant en parallèle puis maintenant les sorties stables pendant la réception suivante.
Auto-évaluation
N° | Question | Réponse attendue |
|---|---|---|
| 1 | Un registre 8 bits contient combien de bascules ? | 8 |
| 2 | Quel registre convertit série vers parallèle ? | SIPO |
| 3 | Quel registre convertit parallèle vers série ? | PISO |
| 4 | Combien de cycles faut-il pour remplir un SIPO 8 bits ? | 8 cycles |
| 5 | Que fait LOAD=0 dans un registre avec maintien ? | Il conserve le contenu. |
| 6 | Que devient un nombre non signé lors d’un décalage gauche ? | Il est multiplié par 2 si aucun bit utile n’est perdu. |
| 7 | Quel retard produit un SISO n bits ? | Environ n périodes d’horloge. |
| 8 | Combien d’états utiles possède un anneau n bits correctement initialisé ? | n états |
| 9 | Combien d’états possède un Johnson n bits ? | 2n états |
| 10 | Que signifie haute impédance ? | La sortie est électriquement déconnectée du bus. |
Corrigés des travaux dirigés et exercices
Corrigé 1 — Chargement parallèle
Q successifs : 0011 (maintien), 1010 (chargement), 1010 (maintien), 0101 (chargement).
Corrigé 2 — Décalage à droite
10110, Sin 0 → 01011, bit sorti 0 ; Sin 1 → 10101, sorti 1 ; Sin 1 → 11010, sorti 1 ; Sin 0 → 01101, sorti 0.
Corrigé 3 — Décalage à gauche
1101 avec Sin 0 → 1010, sorti 1 ; Sin 1 → 0101, sorti 1 ; Sin 0 → 1010, sorti 0.
Corrigé 4 — SIPO
Pour conserver le mot 10110110 avec émission MSB first, on peut décaler à gauche en insérant au LSB, ou adapter le sens afin que le premier bit finisse au MSB. Le mot final doit être 10110110.
Corrigé 5 — PISO
Avec sortie Q0 et décalage à droite, les bits sortent LSB first : 1, 0, 0, 1, 0, 1, 1, 0.
Corrigé 6 — Universel
Initial 0110. Maintien → 0110. Droite avec SinR=1 → 1011. Gauche avec SinL=0 → 0110. Chargement 1010 → 1010.
Corrigé 7 — Temporisation
T = 1/8 MHz = 125 ns. Retard = 12×125 ns + 4 ns = 1504 ns, soit environ 1,504 µs.
Corrigé 8 — Anneau
La séquence est 10000, 01000, 00100, 00010, 00001 puis recommence. Les dix états suivants répètent deux cycles. Période : 5 fronts.
Corrigé 9 — Johnson
Avec la convention donnée : 0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000.
Corrigé 10 — Choix
Lire un capteur série : SIPO. Envoyer huit sorties sur peu de fils : PISO côté émission puis SIPO côté réception. Retarder : SISO. Mémoriser un mot : PIPO. Plusieurs modes : universel.
Corrigé 11 — Équations
Pour Q5…Q0, droite : Q5+=Sin, Q4+=Q5, Q3+=Q4, Q2+=Q3, Q1+=Q2, Q0+=Q1 et Sout=Q0 avant le front.
Corrigé 12 — Décalage et dépassement
01101101 → 11011010, premier bit sorti 0 ; deuxième décalage → 10110100, bit sorti 1. La valeur mathématique 109×4=436 ne tient pas sur 8 bits : dépassement.
Corrigé 13 — Fréquence
16 périodes doivent durer 2 µs. T = 2 µs/16 = 125 ns, donc f = 8 MHz.
Corrigé 14 — Trame
Avec LSB first, la suite reçue correspond à un ordre inversé par rapport à une lecture MSB first. Il faut suivre précisément le déplacement ; selon l’insertion au MSB, le premier bit migre vers le LSB après huit cycles.
Corrigé 15 — Bus
Un seul OE doit être actif. Les autres sorties doivent être en Z. Deux sorties actives avec niveaux opposés créent une contention et un courant excessif.
Corrigé 16 — Anneau / Johnson
Anneau 6 bits : 6 états utiles. Johnson 6 bits : 12 états.
Corrigé 17 — LFSR
Dans un LFSR XOR, l’état nul se réinjecte lui-même et reste bloqué. Un LFSR maximal 8 bits parcourt 2⁸−1 = 255 états.
Corrigé 18 — Conception
Utiliser un SIPO 12 bits pour recevoir la trame et un PIPO 12 bits de sortie. Après 12 bits, un signal LATCH transfère le SIPO dans le PIPO ; le SIPO peut alors recevoir la trame suivante sans modifier les sorties.
Conclusion
Les registres réunissent plusieurs bascules pour mémoriser et déplacer des mots binaires. Le registre parallèle assure le stockage et le transfert simultané de plusieurs bits. Le registre à décalage organise un transfert progressif, à droite ou à gauche, au moyen d’une entrée et d’une sortie série. Les architectures SISO, SIPO, PISO, PIPO et universelles répondent à des besoins différents de temporisation, de conversion et de traitement.
La maîtrise des registres prépare l’étude des compteurs, des unités de calcul séquentielles, des interfaces de communication et des machines à états. Dans une réalisation pratique, le concepteur doit toujours préciser le sens du décalage, l’ordre des bits, la polarité des commandes, le front actif, l’initialisation et les contraintes temporelles.