2.2.3. Addition de nombres binaires de plusieurs
chiffres
Le circuit additionneur examiné
précédemment est en mesure d'additionner entre eux deux nombres
binaires d'un seul chiffre. Pour cette raison, il est appelé
demi-additionneur.
En effet, lorsque l'on doit additionner des nombres de plus
d'un chiffre, il devient nécessaire de disposer de circuits qui tiennent
compte de retenue de la somme effectuée sur les chiffres de rangs
immédiatement inférieurs. Pour comprendre cela, nous allons
examiner comment on effectue l'addition de deux
nombres décimaux, par exemple :
474
+ 358
Cette opération s'effectue par étapes successives
: on additionne d'abord les chiffres de droite, puis les
suivants en ajoutant l'éventuelle retenue.
Dans un premier temps, on fait l'addition de 4 et 8 dont la somme
est 12 ; on écrit le résultat 2 et on retient
1.
Dans l'étape suivante, on doit faire une addition de 3
chiffres parce qu'on doit tenir compte de la retenue (ici 1).
La somme de 7 et 5 plus la retenue 1, donne13 ; on écrit
donc 3 et on retient 1.
La dernière étape est semblable à la
précédente : la somme 8 est cependant sans
retenue. La même procédure s'applique aussi aux nombres
binaires.
Il faut donc réaliser un circuit qui puisse additionner
les deux chiffres de même rang d'un nombre binaire avec la retenue de
l'étage précédent, soit trois chiffres binaires.
L'additionneur complet dispose donc de trois entrées, deux
pour les termes et une pour la retenue.
Soit à effectuer la somme des deux nombres binaires de 8
bits suivants :
Ce qui donne en code décimal :
|
|
On part de la dernière position à droite,
où se trouvent deux 1. On effectue la somme de ces deux chiffres selon
la table 2.1, ce qui donne comme résultat 0 et comme retenue 1.
A l'étape suivante, on doit additionner 3 chiffres
alors que la table 2.1 se limite à la somme de 2 chiffres. Nous allons
donc construire une table indiquant la somme de 3 chiffres.
Avec 3 chiffres, il y a 8 possibilités qui vont de 0 + 0 +
0 à 1 + 1 + 1.
Pour chacune de ces possibilités, il est facile de relever
la somme.
Par exemple :
0 + 0 + 0 = 0 (résultat 0, retenue 0)
0 + 1 + 1 = 2(10) = 10 (résultat 0, retenue 1)
1 + 1 + 1 = 3(10) = 11 (résultat 1, retenue 1). La table
ci-dessous résume toutes les combinaisons possibles.
Tableau 2.3 : Table d'addition de 3
bits
Dans cette table, Ai et Bi sont les termes de rang 2; Ci est
la retenue relative à la somme de Ai et Bi ; Ci + 1 est la retenue
relative à la somme de Ai, Bi et Ci ; Si est le résultat de la
somme Ai, Bi et Ci.
Revenons maintenant à la somme prise en exemple ; en
utilisant la table 2.3, on obtient pour les termes de rang 2 :
1 + 0 + 0 = 1 avec une retenue égale à 0.
Si on addition les chiffres suivants, on a :
Et ainsi de suite jusqu'au résultat final
:
Vérifions Le résultat :
11010110 = (1 x 128) + (1 x 64) + (0 x 32) + (1 x 16) + (0 x 8) +
(1 x 4) + (1 x 2) + (0 x 1)
= 128 + 64 + 16 + 4 + 2 = 214.
|