Un registre est un ensemble ordonné de n bascules qui permet de mémoriser une information sur n bits. On dit alors que la taille du registre est n.
Il y a plusieurs types de registres :
Il existe plusieurs types de registres :
à suivre...
à suivre...
Il y en a plusieurs types :
La réalisation d'un registre, de n'importe quel type, est basée essentiellement sur le circuit séquentiel de décalage élémentaire (CDE).
Le logigramme correspondant à ce circuit est :
Il fonctionne selon le principe suivant :
Qi reçoit la nouvelle valeur à l'entrée Ei
Si reçoit l'ancienne valeur Qi
Pour obtenir le circuit logique - en utilisant une bascule D - nous allons dresser la table d'excitation :
Ei | Qit | Qit+1 | Si | Di |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
On peut écrire les expressions algébriques comme suit :
Si = Qit
Di = Ei
Le circuit logique est donc :
Pour illustrer des exemples, nous allons fixer n à 3 (la taille du registre est de 3 bits ).
Le registre n'est qu'une interconnexion de 3 CDE de la façon suivante :
L'ensemble du registre est décalé d'une position vers la gauche comme suit :
Q3t Q2t Q1t | Q3t+1 Q2t+1Q1t+1 | S | ||||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 |
Le registre n'est qu'une interconnexion de 3 CDE de la façon suivante :
L'ensemble du registre est décalé d'une position vers la droite comme suit :
Q3t Q2t Q1t | Q3t+1 Q2t+1Q1t+1 | S | ||||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 1 | 1 | 1 |
Le registre n'est qu'une interconnexion de 3 CDE de la façon suivante :
L'ensemble du registre est décalé d'une position vers la gauche. A chaque nouvelle transition, le bit de poids fort occupe le bit de poids faible :
Q3t Q2t Q1t | Q3t+1 Q2t+1Q1t+1 | ||||
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 |
Le registre n'est qu'une interconnexion de 3 CDE de la façon suivante :
L'ensemble du registre est décalé d'une position vers la droite. A chaque nouvelle transition, le bit de poids faible occupe le bit de poids fort :
Q3t Q2t Q1t | Q3t+1 Q2t+1Q1t+1 | ||||
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 |
Il existe plusieurs types de ces registres :
Un registre Complément à 1 peut être réalisé à l'aide de bascules JK. Il consiste à inverser chaque bit xi. Le circuit peut être comme suit :
Cependant, ce circuit ne peut être utile sauf s'il est combiné avec un registre à chargement. Ainsi, on pourra y charger une valeur binaire et ensuite la complémenter à 1.
Un additionneur binaire permet d'obtenir la somme x ← x + y en binaire sur n bits. La réalisation de ce circuit est basée essentiellement sur le circuit de l'additionneur binaire élémentaire (ABE).
Note : A ne pas confondre avec les Demi et Plein-Additionneurs qui sont des circuits combinatoires.
Le logigramme correspondant à ce circuit est :
Il fonctionne selon le principe suivant :
xit+1 reçoit la somme binaire de xit et yi
Ri reçoit la retenue de cette somme
Pour obtenir le circuit logique, nous allons dresser la table d'excitation en utilisant des bascules T. Noter que xi réprésente la sortie de cette bascule.
Ri-1 | yi | xit | xit+1 | Ri | Ti |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 0 |
On peut écrire les expressions algébriques comme suit :
Ti | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Ti = Ri-1 ⊕ xti |
Ri | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Ri = Ri-1 xti + xti yi + Ri-1 yi |
Le circuit logique de l'ABE est donc :
Le circuit n'est qu'une interconnexion de 3 ABE. Chaque nouvelle retenue d'un ABEi doit être passée comme une retenue d'entrée à l'ABEi+1. Nous concluons que ces deux derniers ne doivent pas travailler en même temps (en la même période horloge) mais pendant des périodes qui se suivent.
Cet additionneur binnaire réalise la somme en 3 périodes d'horloge. Supposons que x = (x3 x2 x1) = 011 et y = (y3 y2 y1) =010. La somme est réalisée comme suit :
Période | CK3 | CK2 | CK1 | x3 | x2 | x1 | Observation | |
---|---|---|---|---|---|---|---|---|
Initialement | 0 | 0 | 0 | 0 | 1 | 1 | ||
1 | 0 | 0 | 1 | 0 | 1 | 1 | x1 ← x1 + y1 + 0 = 1 R1= 0 |
|
2 | 0 | 1 | 0 | 0 | 0 | 1 | x2 ← x2 + y2 + R1 = 0 R2= 1 |
|
3 | 1 | 0 | 0 | 1 | 0 | 1 | x3 ← x3 + y3 + R2 = 1 R= 0 |
Les 3 horloges peuvent être controlées par un décodeur 2x4. Lorsque R est égal à 1 on dit qu'il y a un dépassement de capacité (overflow).
Le registre complément à 2 est une combinaison du registre à chargement, du complément à 1 et de l'additionneur binaire. Par exemple, pour complémenter à 2 la valeur de x = (x3 x2 x1) = 011, on suit les étapes suivantes :
Le registre complément à 2 est une combinaison du registre à chargement, du complément à 1 et de l'additionneur binaire. Par exemple, pour calculer x - y, sachant que x = (x3 x2 x1) = 011 et y = (y3 y2 y1) =010, on suit les étapes suivantes :
To be continued
To be continued