Vous êtes sur la page 1sur 45

1

Chapitre 4: Les registres


2
1. Définition

 Un registre est un ensemble de cellules mémoires


constituées par des bascules.
 Le contenu d'un registre peut donc être considéré
comme un nombre binaire ou un "mot" de n bits.
3
2. Applications

Les applications des registres sont nombreuses, parmi lesquelles :


 Stockage temporel de l’information
 Conversion série – parallèle
 Multiplication par une puissance de 2 (décalage vers la gauche).
 Division par une puissance de 2 (décalage vers la droite).
4
3. Types de registres

A. Registre de mémorisation

B. Registre à décalage

C. Registre de comptage
5
A. Registre de mémorisation

La fonction d'un tel registre est de "stocker / mémoriser" un mot de n


bits.
Exemple de réalisation (à l'aide de bascules D) : chacune des cellules est
une bascule D. La sortie du registre mémorise le mot d'entrée tant que
H = 0 ou 1. Lorsque l'horloge présente un front montant, les données en
sortie sont actualisées.
6
Exemple de registre de mémorisation

Les entrées présentées sur E3,E2,E1,E0 sont mémorisées en synchronisation avec le


signal W (Write). Elles peuvent être lues sur les sorties Q3,Q2, Q1,Q0 en coïncidence avec
le signal R (Read).
7
B. Registre à décalage

Ce type de registres sert à décaler tous les bits d’un mot d’un ou plusieurs
crans vers la droite ou vers la gauche. Il est constitué d’une série de bascules
D en cascade, où la sortie d’une bascule est branchée à l’entrée de la bascule
suivante. Ces systèmes peuvent être utilisés pour effectuer des
multiplications ou divisions par une puissance de 2, ou encore pour effectuer
une conversion série – parallèle.
8
B.1. Sens de décalage

Le décalage peut se faire vers la droite ou vers la gauche.


Certains registres sont capables de décaler à droite ou à
gauche selon le choix (registres à décalage universel).
9
Exemple 1

Conception d’un registre qui fait la multiplication par 2 d’un nombre sur 4
bits, en utilisant des bascules D,

a b c d 0
10
Révision de la bascule D

Table de vérité
Table d’excitation
D Q Q+
Q Q+ D
0 0 0
0 0 0
0 1 0
0 1 1
1 0 1
1 0 0
1 1 1
1 1 1
11
Table de transitions Q3 Q2 Q1 Q0 Q3 +
Q
2
+
Q1 +
Q0 +

0 0 0 0 0 0 0 0
0 0 0 1 0 0 1 0
0 0 1 0 0 1 0 0
0 0 1 1 0 1 1 0
0 1 0 0 1 0 0 0
0 1 0 1 1 0 1 0
0 1 1 0 1 1 0 0
0 1 1 1 1 1 1 0
1 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 1 0
1 1 0 0 1 0 0 0
1 1 0 1 1 0 1 0
1 1 1 0 1 1 0 0
1 1 1 1 1 1 1 0
12
Table d’excitation Q3
0
Q2
0
Q1
0
Q0
0
Q3
0
+
Q2
0
+
Q1
0
+
Q0
0
+
D3
0
D2
0
D1
0
D0
0
0 0 0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 1 0 0
0 0 1 1 0 1 1 0 0 1 1 0
0 1 0 0 1 0 0 0 1 0 0 0
0 1 0 1 1 0 1 0 1 0 1 0
0 1 1 0 1 1 0 0 1 1 0 0
0 1 1 1 1 1 1 0 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0 0 0 1 0
1 0 1 0 0 1 0 0 0 1 0 0
1 0 1 1 0 1 1 0 0 1 1 0
1 1 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 0 1 1 1 0
13
Les équations Q3
0
Q2
0
Q1
0
Q0
0
Q3
0
+
Q2
0
+
Q1
0
+
Q0
0
+
D3
0
D2
0
D1
0
D0
0
0 0 0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 1 0 0
0 0 1 1 0 1 1 0 0 1 1 0
0 1 0 0 1 0 0 0 1 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 1 0 1 0 1 0 1 0
Q3 Q2
0 1 1 0 1 1 0 0 1 1 0 0
00 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0
01 0 1 1 0
1 0 0 1 0 0 1 0 0 0 1 0
11 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0
1 0 1 1 0 1 1 0 0 1 1 0
10 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 0 1 1 1 0
14
Les équations Q3
0
Q2
0
Q1
0
Q0
0
Q3
0
+
Q2
0
+
Q1
0
+
Q0
0
+
D3
0
D2
0
D1
0
D0
0
0 0 0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 1 0 0
0 0 1 1 0 1 1 0 0 1 1 0
0 1 0 0 1 0 0 0 1 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 1 0 1 0 1 0 1 0
Q3 Q2
0 1 1 0 1 1 0 0 1 1 0 0
00 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0
01 0 0 1 1
1 0 0 1 0 0 1 0 0 0 1 0
11 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0
1 0 1 1 0 1 1 0 0 1 1 0
10 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 0 1 1 1 0
15
Les équations Q3
0
Q2
0
Q1
0
Q0
0
Q3
0
+
Q2
0
+
Q1
0
+
Q0
0
+
D3
0
D2
0
D1
0
D0
0
0 0 0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 1 0 0
0 0 1 1 0 1 1 0 0 1 1 0
0 1 0 0 1 0 0 0 1 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 1 0 1 0 1 0 1 0
Q3 Q2
0 1 1 0 1 1 0 0 1 1 0 0
00 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0
01 1 1 1 1
1 0 0 1 0 0 1 0 0 0 1 0
11 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0
1 0 1 1 0 1 1 0 0 1 1 0
10 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 0 1 1 1 0
16
Logigramme
17
Exemple2:

Registre à décalage universel sur 3 bits, c’est un registre doté d’une


commande S qui indique le sens de décalage (le type d’opération),
Telle que si: S=0 alors décalage vers la gauche (multiplication),
et si S=1 alors décalage vers la droite (division entière),

a b c 0 0 a b c
18
Table de transitions État suivant
État présent
S=0 S=1
Q2 Q1 Q0 Q2+ Q1+ Q0+ Q2+ Q 1+ Q 0+

0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0
0 1 0 1 0 0 0 0 1
0 1 1 1 1 0 0 0 1
1 0 0 0 0 0 0 1 0
1 0 1 0 1 0 0 1 0
1 1 0 1 0 0 0 1 1
1 1 1 1 1 0 0 1 1
19
Table d’excitation S
0
Q2
0
Q1
0
Q0
0
Q2
0
+
Q1
0
+
Q
0

0
+
D2
0
D1
0
D0
0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1 0 0
0 0 1 1 1 1 0 1 1 0
0 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 0 1 0
0 1 1 0 1 0 0 1 0 0
0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 1 0 0 1
1 0 1 1 0 0 1 0 0 1
1 1 0 0 0 1 0 0 1 0
1 1 0 1 0 1 0 0 1 0
1 1 1 0 0 1 1 0 1 1
1 1 1 1 0 1 1 0 1 1
20
Les équations S
0
Q2
0
Q1
0
Q0
0
Q2
0
+
Q1
0
+
Q
0

0
+
D2
0
D1
0
D0
0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1 0 0
0 0 1 1 1 1 0 1 1 0
0 1 0 0 0 0 0 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 0 1 0 0 1 0
SQ2
0 1 1 0 1 0 0 1 0 0
00 0 0 0 0 0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0
01 0 0 0 0
1 0 0 1 0 0 0 0 0 0
11 0 0 1 1 1 0 1 0 0 0 1 0 0 1
1 0 1 1 0 0 1 0 0 1
10 0 0 1 1 1 1 0 0 0 1 0 0 1 0
1 1 0 1 0 1 0 0 1 0
1 1 1 0 0 1 1 0 1 1
1 1 1 1 0 1 1 0 1 1
21
Les équations S
0
Q2
0
Q1
0
Q0
0
Q2
0
+
Q1
0
+
Q
0

0
+
D2
0
D1
0
D0
0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1 0 0
0 0 1 1 1 1 0 1 1 0
0 1 0 0 0 0 0 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 0 1 0 0 1 0
SQ2
0 1 1 0 1 0 0 1 0 0
00 0 1 1 0 0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0
01 0 1 1 0
1 0 0 1 0 0 0 0 0 0
11 1 1 1 1 1 0 1 0 0 0 1 0 0 1
1 0 1 1 0 0 1 0 0 1
10 0 0 0 0 1 1 0 0 0 1 0 0 1 0
1 1 0 1 0 1 0 0 1 0
1 1 1 0 0 1 1 0 1 1
1 1 1 1 0 1 1 0 1 1
22
Les équations S
0
Q2
0
Q1
0
Q0
0
Q2
0
+
Q1
0
+
Q
0

0
+
D2
0
D1
0
D0
0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1 0 0
0 0 1 1 1 1 0 1 1 0
0 1 0 0 0 0 0 0 0 0
Q1Q0
00 01 11 10 0 1 0 1 0 1 0 0 1 0
SQ2
0 1 1 0 1 0 0 1 0 0
00 0 0 1 1 0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0
01 0 0 1 1
1 0 0 1 0 0 0 0 0 0
11 0 0 0 0 1 0 1 0 0 0 1 0 0 1
1 0 1 1 0 0 1 0 0 1
10 0 0 0 0 1 1 0 0 0 1 0 0 1 0
1 1 0 1 0 1 0 0 1 0
1 1 1 0 0 1 1 0 1 1
1 1 1 1 0 1 1 0 1 1
23
Logigramme
24
B.2. Types d’entrées

• Série : l'information est présentée séquentiellement bit après bit à la 1ère


bascule. À chaque coup d'horloge, un nouveau bit est présenté et ceux déjà
chargés sont décalés d'un rang.

a0
a1 a0

a2 a1 a0

a3 a2 a1 a0
25
B.2. Types d’entrées

• Parallèle : l'information est chargée en parallèle dans un seul top d’horloge,


a3 a2 a1 a0
26
B.3. Types de sorties

L’information stockée dans un registre à décalage


peut être lue de la même manière, (en série ou en
parallèle).
27
Exemple 3: Registre à entrées séries et sorties
séries

 L’information est introduite bit par bit (en série).


 L'ensemble du registre est décalé d'une position (Bi, Bi+1) et la
bascule B0 reçoit une nouvelle entrée ES.
 Un tel registre est appelé registre à entrées séries à gauche et à
sorties séries à droite.
28
Registre à entrées séries et sorties séries
29
Exemple 4: Registre à entrées séries et sorties
parallèles
30
Exemple 5: Registre à entrées parallèles et sorties parallèles

 Il peut charger une information sur n bits en même temps.


 Les n bascules changent d’états en même temps.
 Chaque bascule Bi prend la valeur de l’information i.
 Il possède une entrée de chargement chg ( chg=0  état
mémoire, chg=1 chargement )
31
Registre à entrées parallèles et sorties parallèles
32
Exemple 6: Registre à décalage: entrées parallèles et
sorties parallèles

C’est un registre doté d’une commande


Shift/load barre, telle que :

Si Le registre fait le chargement parallèle

Et si Le registre fait le chargement série (décalage)


33
Exemple 6: Registre à décalage: entrées parallèles et
sorties parallèles
34
Exercice

1. Donner les équations des entrées des bascules D d’un registre à décalage circulaire à
droite sur 4 bits : Q3 Q2 Q1 Q0  Q0 Q3 Q2 Q1
2. Donner les équations des entrées des bascules D d’un registre à décalage circulaire à
gauche sur 4 bits : Q3 Q2 Q1 Q0  Q2 Q1 Q0 Q3
3. Soit le compteur dit “ rampant” dont les états sont:
0000  0001  0011  0111  1111  1110  11001000  0000 …
Donner les équations des entrées des bascules D d’un circuit réalisant ce
compteur.
4. Donner les équations générales du circuit qui remplit les 3 fonctions précédentes.
35
Solution Exercice

1. Donner les équations des entrées des bascules D d’un registre à décalage circulaire à
droite sur 4 bits : Q3 Q2 Q1 Q0  Q0 Q3 Q2 Q1
Q3 Q2 Q1 Q0
On a en générale dans une bascule D l’équation : Q =D
+

• On remarque que: Q3+=Q0 et on a Q3+=D3 donc D3 =Q0


• On remarque que: Q2+=Q3 et on a Q2+=D2 donc D2 =Q3
• On remarque que: Q1+=Q2 et on a Q1+=D1 donc D1 =Q2
• On remarque que: Q0+=Q1 et on a Q0+=D0 donc D0 =Q1
36
Solution Exercice

2. Donner les équations des entrées des bascules D d’un registre à décalage circulaire à
gauche sur 4 bits : Q3 Q2 Q1 Q0  Q2 Q1 Q0 Q3

• On remarque que: Q3+=Q2 et on a Q3+=D3 donc D3 =Q2 Q3 Q2 Q1 Q0

• On remarque que: Q2+=Q1 et on a Q2+=D2 donc D2 =Q1


• On remarque que: Q1+=Q0 et on a Q1+=D1 donc D1 =Q0
• On remarque que: Q0+=Q3 et on a Q0+=D0 donc D0 =Q3
37
Solution Exercice

3. Soit le compteur dit “ rampant” dont les états sont:


0000  0001  0011  0111  1111  1110  11001000  0000 …
Donner les équations des entrées des bascules D d’un circuit réalisant ce
compteur.
Q3 Q2 Q1 Q0 Q 3+ Q2 + Q1 + Q0+ D3 D2 D1 D0
0 0 0 0 0 0 0 1 38
0
0
0
0
Table
0
1
1
0
d’excitation
0 0 1 1 du circuit
X X X X
0 0 1 1 0 1 1 1
0 1 0 0 X X X X
0 1 0 1
0 1 1 0
X X X X 0000  0001  0011 
0 1 1 1
X X X X 0111  1111  1110 
1 0 0 0
1 1 1 1 11001000  0000 …
0 0 0 0
1 0 0 1 Table d’excitation
X X X X
1 0 1 0
X X X X Q Q+ D
1 0 1 1
1 1 0 0 X X X X 0 0 0
1 1 0 1 1 0 0 0 0 1 1
1 1 1 0 X X X X
1 0 0
1 1 1 1 1 1 0 0
1 1 1
1 1 1 0
Q3 Q2 Q1 Q0 Q 3+ Q2 + Q1 + Q0+ D3 D2 D1 D0 Table d’excitation
0 0 0 0 0 0 0 1 1 Q Q+ D 39
0
0
0
0
Table
0
1
1
0
d’excitation
0 0 1 1 du circuit 1
x
0 0 0
X X X X 0 1 1
0 0 1 1 0 1 1 1 1
1 0 0
0 1 0 0 X X X X x
0 1 0 1 x 1 1 1
X X X X
0 1 1 0 x Q1 Q0
X X X X
0 1 1 1 1 Q3 Q2 00 01 11 10
1 1 1 1
1 0 0 0 0
0 0 0 0 00 1 1 1 x
1 0 0 1 x
X X X X
1 0 1 0 x 01 x x 1 x
1 0 1 1
X X X X x
X X X X 11 0 x 0 0
1 1 0 0 0
1 1 0 1 1 0 0 0 x 10 0 x x x
1 1 1 0 X X X X 0
1 1 1 1 1 1 0 0 0
1 1 1 0
Q3 Q2 Q1 Q0 Q 3+ Q2 + Q1 + Q0+ D3 D2 D1 D0 Table d’excitation
0 0 0 0 0 0 0 1 0 Q Q+ D 40
0
0
0
0
Table
0
1
1
0
d’excitation
0 0 1 1 du circuit
1
x
0 0 0
X X X X 0 1 1
0 0 1 1 0 1 1 1 1
1 0 0
0 1 0 0 X X X X x
0 1 0 1 x 1 1 1
X X X X
0 1 1 0 x Q1 Q0
X X X X
0 1 1 1 1 Q3 Q2 00 01 11 10
1 1 1 1
1 0 0 0 0
0 0 0 0 00 0 1 1 x
1 0 0 1 x
X X X X
1 0 1 0 x 01 x x 1 x
1 0 1 1
X X X X x
X X X X 11 0 x 1 0
1 1 0 0 0
1 1 0 1 1 0 0 0 x 10 0 x x x
1 1 1 0 X X X X 0
1 1 1 1 1 1 0 0 1
1 1 1 0
Q3 Q2 Q1 Q0 Q 3+ Q2 + Q1 + Q0+ D3 D2 D1 D0
0 0 0 0 0 0 0 1 0 41
0
0
0
0
Table
0
1
1
0
d’excitation
0 0 1 1 du circuit
0
x
X X X X
0 0 1 1 0 1 1 1 1
0 1 0 0 X X X X x
0 1 0 1 x
X X X X
0 1 1 0 x Q1 Q0
X X X X
0 1 1 1 1 Q3 Q2 00 01 11 10
1 1 1 1
1 0 0 0 0
0 0 0 0 00 0 0 1 x
1 0 0 1 x
X X X X
1 0 1 0 x 01 x x 1 x
1 0 1 1
X X X X x
X X X X 11 0 x 1 1
1 1 0 0 0
1 1 0 1 1 0 0 0 x 10 0 x x x
1 1 1 0 X X X X 1
1 1 1 1 1 1 0 0 1
1 1 1 0
Q3 Q2 Q1 Q0 Q 3+ Q2 + Q1 + Q0+ D3 D2 D1 D0 Table d’excitation
0 0 0 0 0 0 0 1 0 Q Q+ D 42
0
0
0
0
Table
0
1
1
0
d’excitation
0 0 1 1 du
0
x
circuit 0 0 0
X X X X 0 1 1
0 0 1 1 0 1 1 1 0
1 0 0
0 1 0 0 X X X X x
0 1 0 1 x 1 1 1
X X X X
0 1 1 0 x Q1 Q0
X X X X
0 1 1 1 1 Q3 Q2 00 01 11 10
1 1 1 1
1 0 0 0 0
0 0 0 0 00 0 0 0 x
1 0 0 1 x
X X X X
1 0 1 0 x 01 x x 1 x
1 0 1 1
X X X X x
X X X X 11 1 x 1 1
1 1 0 0 1
1 1 0 1 1 0 0 0 x 10 0 x x x
1 1 1 0 X X X X 1
1 1 1 1 1 1 0 0 1
1 1 1 0
43
Solution Exercice

4. Donner les équations générales du circuit qui remplit les 3 fonctions précédentes.

Pour contrôler un circuit qui a plusieurs fonctions, il faut utiliser des variables de
contrôle. Dans notre cas il y a 3 séquencés différentes donc il faut 2 variables de
contrôle XY.
XY = 00  Mémorisation
XY = 01  Décalage Circulaire à Droite
XY = 10  Décalage Circulaire à Gauche
XY = 11  Compteur rampant
44
Solution Exercice

Table de vérité globale


X Y D3 D2 D1 D0
0 0 Q 3 Q 2 Q 1 Q0
0 1 Q 0 Q 3 Q2 Q 1
1 0 Q2 Q1 Q0 Q 3
1 1 Q 2 Q 1 Q0
45
Logigramme

X
Y

MU
D3 Q3 D2 Q2 D1 Q1 D0 Q0

MU
MU
MU

X
X
X

H H H H

clk

Vous aimerez peut-être aussi