Mise à jour le, 02/01/2020
Visiteurs
N°
Accueil |
Sommaires |
Micro-ordinateurs |
Physique |
Technologies |
Formulaires Mathématiques |
Accès à tous nos Produits |
Aperçu de tous nos Produits |
Nos Leçons aux Formats PDF |
Informatique |
Forums |
Divers et autres |
Les Additionneurs :
Dans cette théorie, nous allons examiner les circuits combinatoires suivants : les additionneurs, les comparateurs, les multiplexeurs et les démultiplexeurs.
1. - LES ADDITIONNEURS
1. 1. - ADDITION DE DEUX CHIFFRES BINAIRES
Dans le système binaire, on peut représenter n'importe quel nombre comme dans le système décimal et l'on peut effectuer les quatre opérations arithmétiques élémentaires : addition, soustraction, multiplication et division.
Comme nous le savons, les trois dernières opérations peuvent être toutes ramenées à l'addition qui est donc la plus importante.
Nous allons tout d'abord rappeler l'addition de deux nombres binaires de 1 bit, nous obtenons les 4 sommes suivantes :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
1er cas : les deux chiffres sont 0 et la somme est 0.
2ème et 3ème cas : un chiffre vaut 0, l'autre vaut 1 : la somme vaut 1.
4ème cas : Les deux chiffres valent 1 et la somme vaut 10 (= 210).
On remarque que dans les trois premiers cas, il suffit d'un seul chiffre binaire (ou bit) pour indiquer le résultat. Dans le quatrième cas, il faut deux chiffres : celui situé le plus à droite est le résultat (ici 0) et l'autre est la retenue (ici 1).
La procédure décrite est la même que pour l'addition dans le système décimal. Elle diffère seulement par la quantité de chiffres mise en jeu : les deux chiffres binaires contre les dix décimaux.
La figure 1 montre les additions des chiffres 0 et 1 relatives aux deux systèmes.
Nous remarquons que les résultats sont les mêmes, bien que dans le système binaire il faille tenir compte de la retenue pour exprimer le résultat deux.
1. 2. - CIRCUIT ADDITIONNEUR
Puisque nous connaissons les règles de l'addition binaire, nous allons voir à présent comment cette opération peut être réalisée par des circuits logiques.
Il faut réaliser un circuit combinatoire (figure 2) dont les deux entrées A et B et les sorties S et C répondent à la table de vérité de la figure 1.
On remarque que S est à l'état 1 si une seule des entrées est à l'état 1.
Nous avons donc affaire à la fonction logique OU Exclusif, soit :
S = A B
D'autre part, on remarque que C est à l'état 1 uniquement dans le cas où A et B sont à l'état 1.
On en déduit donc que :
C = A . B
Le circuit qui effectue la somme de deux bits peut être obtenue en associant une porte OU Exclusif et une porte ET comme le montre la figure 3.
1. 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 la retenue de la somme effectuée sur les chiffres de rang immédiatement inférieur.
Pour comprendre cela, nous allons examiner, comment on effectue l'addition de deux nombres décimaux, par exemple :
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, donne 13 ; 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 de la figure 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 de la figure 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 = 210 = 10 (résultat 0, retenue 1)
1 + 1 + 1 = 310 = 11 (résultat 1, retenue 1).
La table de la figure 4 résume toutes les combinaisons possibles.
Dans cette table, Ai et Bi sont les termes de rang : 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 de la figure 4, on obtient pour les termes de rang 2 :
1 + 0 + 0 = 1 avec une retenue égale à 0.
Si l'on additionne 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.
1. 4. - CIRCUIT ADDITIONNEUR ET ADDITIONNEUR COMPLET
Il faut donc réaliser un circuit qui corresponde à la table de vérité de la figure 4, on obtient le schéma de la figure 5 qui représente un additionneur complet.
Cherchons à présent l'équation de Ci + 1 et Si en utilisant la table de la figure 4.
Pour cela, dressons les tableaux de Karnaugh correspondants reportés à la figure 6.
Du premier tableau de Karnaugh, on tire l'équation de Si suivante :
Si = Ci . i . i + i . i . Bi + Ci . Ai . Bi + i . Ai . i
= Ci . (i . i + Ai . Bi) + i . (i . Bi + Ai .i)
= Ci + i . (Ai Bi)
= Ci (Ai Bi)
Dans le deuxième tableau de Karnaugh, Nous n'avons pas recherché les groupements optimaux et ce, pour pouvoir mettre en évidence la fonction Ai Bi déjà réalisé avec la somme Si.
En effet, les 3 groupements indiqués nous donnent l'équation de Ci + 1 suivante :
Ci + 1 = AiBi + iBiCi + AiiCi
= AiBi + Ci (iBi + Ai)
= AiBi + Ci (Ai Bi)
Les deux expressions Si et Ci + 1 qui viennent d'être calculées, nous déduisons le schéma logique d'un additionneur complet représenté à la figure 7.
L'additionneur complet est le circuit de base pour effectuer la somme de nombres de plusieurs bits.
Il existe deux méthodes d'addition des nombres binaires.
La première utilise un seul additionneur complet auquel on présente les chiffres de même rang des nombres à additionner. Il s'agit de la somme en série.
La deuxième fait appel à autant d'additionneurs complets qu'il y a de chiffres dans les nombres à ajouter. Il s'agit de la somme en parallèle.
1. 5. - SOMME EN SÉRIE
Les deux nombres (ici de 8 bits) à additionner sont chargés dans deux registres A et B comme on le voit à la figure 8. Le résultat de la somme est stocké dans un troisième registre S. Il faut aussi disposer d'une bascule synchrone de type D qui sert à mémoriser la retenue de la somme partielle précédente.
Les 3 registres et la bascule sont commandés par le même signal d'horloge qui synchronise toute l'opération.
Le fonctionnement du circuit est le suivant. Au début, la bascule doit être mise à 0 en activant l'entrée CLEAR. Par contre, les 3 registres n'ont pas besoin d'être remis à 0.
Les deux termes de la somme sont chargés dans les registres A et B avec une première impulsion d'horloge. Les deux premiers chiffres de chaque terme (L.S.B.) sont alors présents à la sortie des registres et donc aux entrées de l'additionneur.
Ainsi, on trouve à la sortie Si le premier résultat partiel et à la sortie Ci + 1 la première retenue.
La situation est celle qui apparaît à la figure 9 ou l'on additionne les deux nombres de l'exemple précédent.
La deuxième impulsion d'horloge produit les faits suivants :
Le premier résultat partiel est stocké dans le premier étage du registre S.
La première retenue est mémorisée par la bascule.
Les contenus des registres A et B se décalent d'un étage vers la droite ; ainsi les chiffres de poids immédiatement supérieur se présentent aux entrées du sommateur. Nous nous trouvons alors dans la situation de la figure 10. La bascule est désormais symbolisée par un carré à l'intérieur duquel est inscrit son état.
La donnée présente sur l'entrée série des registres est sans importance. L'addition se déroule de façon identique pour les chiffres suivants.
Après 9 impulsions d'horloge (une pour le chargement de A et B et 8 pour effectuer la somme), le résultat de la somme se trouve stocké dans le registre S tandis que la sortie de la bascule indique la retenue. Nous nous trouvons dans la situation de la figure 11.
L'addition prise en exemple a pour retenue finale 0, ce qui signifie que le résultat 1101 0110 est juste.
Si la bascule est à l'état 1, cela signifie que la dernière somme a donné lieu à une retenue de 1. On dépasse ainsi la capacité du circuit, cela est désigné par le terme anglais overflow qui signifie déborder.
Il y a overflow lorsque le nombre qui est le résultat de la somme a plus de bits que ceux qui peuvent être contenus dans le registre (dans notre cas 8).
Avec 8 bits, le nombre le plus élevé que l'on peut représenter est : 1111 11112 = 25510.
Avec des registres à 8 bits, on peut donc additionner les nombres compris entre 0 et 255 (exprimés en code décimal), mais le résultat de leur somme ne doit pas lui-même dépasser 255.
Dans le cas contraire, on obtiendrait un résultat qui, pour être stocké, nécessiterait un registre de 9 bits.
En utilisant un ordinateur ou un circuit sommateur, il est toujours nécessaire de faire attention à ne jamais en dépasser la capacité. L'overflow donne des résultats erronés. Supposons que l'on effectue la somme suivante :
Le dernier chiffre à gauche du résultat ne trouvant pas de place dans le registre S est perdu. Le résultat qui est indiqué par le contenu de S est 0100 0000, ce qui équivaut à 64 en code décimal et non 320 qui est le vrai résultat.
Pour savoir s'il y a dépassement, il suffit d'examiner l'état de la bascule à la fin de l'addition : si elle est à l'état 0, le résultat est juste ; par contre, si elle est à l'état 1, cela indique qu'il y a eu une retenue de 1 lors de la dernière addition et que l'on a dépassé la capacité du circuit.
On peut faire l'économie du registre S en rebouclant la sortie S de l'additionneur sur l'entrée série du registre A ou B.
Si l'on relie par exemple la sortie S à l'entrée série du registre A, comme illustré à la figure 12, le résultat de l'addition apparaîtra dans le registre A.
En effet, à chaque impulsion d'horloge, le résultat partiel de chaque somme se trouve décalé dans le registre A.
La méthode de la somme en série est la plus proche de notre façon usuelle d'effectuer des additions : on additionne un chiffre à la fois en partant de celui de plus faible poids.
Toutefois, elle est plutôt lente parce qu'elle requiert autant d'impulsions d'horloge qu'il y a de chiffres à additionner.
Pour plus de rapidité, on fait appel à la méthode de la somme en parallèle où tous les chiffres sont additionnés simultanément.
Selon le mode de calcul de la retenue, on distingue la somme en parallèle avec retenue série et la somme en parallèle avec retenue anticipée.
Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet. | Haut de page |
Page précédente | Page suivante |
Envoyez un courrier électronique à Administrateur Web Société pour toute question ou remarque concernant ce site Web.
Version du site : 11. 5. 12 - Site optimisation 1280 x 1024 pixels - Faculté de Nanterre - Dernière modification : 02 JANVIER 2020.
Ce site Web a été Créé le, 12 JUIN 2019 et ayant Rénové, en JANVIER 2020.