Qu'est-ce que Additionneur complet ?

Circuit qui additionne trois entrées (deux bits et la retenue du rang inférieur) et fournit la somme et la retenue vers le rang supérieur. Sans entrée de retenue, c'est un demi-additionneur. Mis en série, il forme un additionneur multibit.

Nom japonais: 全加算器

« Additionneur complet » apparaît dans 5 questions d'entraînement réparties sur 2 thèmes, dont Circuits logiques, Arithmétique des ordinateurs.

Domaine: Circuits logiques

Logique d'un additionneur complet

Un additionneur complet additionne trois entrées d'un bit, A, B et une retenue entrante Cin, et produit une somme S et une retenue sortante Cout dont la valeur combinée est égale au nombre d'entrées à 1. La somme est la parité des entrées, S = A ⊕ B ⊕ Cin, et la retenue est leur fonction majorité, Cout = AB + BC + CA. Un demi-additionneur ne traite que deux entrées, avec une somme A ⊕ B et une retenue AB : un additionneur complet peut donc être construit à partir de deux demi-additionneurs et d'une porte OU qui combine leurs retenues.

Addition et soustraction à propagation de retenue

En chaînant n additionneurs complets, chaque retenue sortante alimentant la retenue entrante suivante, on obtient un additionneur à propagation de retenue (ripple-carry) sur n bits. Il est compact et régulier, mais le bit de poids fort ne peut se stabiliser tant que la retenue n'a pas traversé tous les étages : le retard croît donc linéairement avec la largeur. Un additionneur 64 bits demande environ 64 retards d'additionneur complet, ce qui est trop lent pour le chemin de données d'un processeur cadencé au GHz. La même chaîne sait aussi soustraire : inverser B et mettre la retenue entrante du rang le plus bas à 1 calcule A + (¬B + 1), soit A − B en complément à deux, si bien qu'une ALU utilise un seul additionneur pour les deux opérations.

Accélérer la retenue

Les additionneurs rapides calculent les retenues sans attendre leur propagation. Chaque rang génère une retenue lorsque G = AB et propage une retenue entrante lorsque P = A ⊕ B. Un additionneur à anticipation de retenue (carry-lookahead) développe la récurrence de la retenue en fonction de G et P pour des groupes de bits. Un additionneur à sélection de retenue (carry-select) calcule les sommes hautes pour les deux retenues entrantes possibles et choisit l'une d'elles à l'arrivée de la vraie retenue. Les additionneurs à préfixe parallèle, comme l'additionneur de Kogge-Stone, combinent G et P dans un arbre, de sorte que le retard de retenue croît comme log2 n, au prix de beaucoup plus de câblage et de surface.

L'additionneur complet au-delà des additionneurs

Les multiplieurs additionnent de nombreux produits partiels à la fois, et l'additionneur complet y sert de compresseur 3:2 : il prend trois bits de même poids et fournit un bit de somme plus un bit de retenue du poids suivant. Des arbres de tels additionneurs à retenue conservée (carry-save), comme les arbres de Wallace ou de Dadda, réduisent de nombreuses lignes à deux avant qu'un seul additionneur rapide ne produise le résultat final. Au niveau transistor, une réalisation CMOS statique courante est l'additionneur miroir à 28 transistors, qui partage la logique de retenue et génère la somme à partir de la retenue inversée.

S'entraîner : questions sur Additionneur complet

Quelle combinaison correspond aux entrées d'un additionneur complet ?

  1. ALes deux bits à additionner et la retenue venant du rang inférieur
  2. BLes deux bits à additionner uniquement
  3. CLe signal d'horloge uniquement
Afficher la réponse et l'explication

Réponse : A. Les deux bits à additionner et la retenue venant du rang inférieur

L'additionneur complet produit la somme et la retenue vers le rang supérieur à partir de trois entrées : les deux bits à additionner A et B et la retenue Cin venant du rang inférieur. Pour une addition sur n bits, on enchaîne n additionneurs complets (additionneur à propagation de retenue). En mettant à 1 la Cin du rang de poids faible et en inversant B, on obtient A − B = A + (¬B + 1), ce qui permet la soustraction avec le même circuit. Grâce à cette propriété, l'ALU des CPU assure addition et soustraction avec un seul additionneur.

Questions fréquentes

Quelle est la différence entre un demi-additionneur et un additionneur complet ?

Un demi-additionneur additionne deux bits et produit une somme et une retenue, tandis qu'un additionneur complet additionne deux bits plus une retenue entrante venant du rang inférieur. Seul l'additionneur complet peut être chaîné pour additionner des nombres de plusieurs bits.

Quelles sont les expressions booléennes d'un additionneur complet ?

Somme = A ⊕ B ⊕ Cin et Cout = AB + BC + CA, ce qui équivaut à AB + Cin(A ⊕ B). La retenue sortante est la fonction majorité des trois entrées.

Combien de demi-additionneurs faut-il pour faire un additionneur complet ?

Deux. Le premier additionne A et B, le second ajoute cette somme à Cin, et une porte OU combine les deux retenues en Cout.

« Additionneur complet » dans les explications

Questions mentionnant « Additionneur complet » (5)

  1. Quelle combinaison correspond aux entrées d'un additionneur complet ?
  2. Dans un demi-additionneur 1 bit, quelle logique produit la somme (S) et la retenue (C) ?
  3. Quelle est la condition correcte pour que la sortie d'un circuit majoritaire à 3 entrées vaille 1 ?
  4. Quel est l'inconvénient de l'additionneur à propagation de retenue (ripple carry), qui enchaîne des additionneurs complets en série ?
  5. Quelle est la principale raison de l'emploi d'additionneurs à retenue conservée pour additionner les nombreux produits partiels d'un multiplieur ?

Termes associés

RIE (gravure ionique réactive) Additionneur à retenue conservée (carry-save) Bascule (flip-flop) Circuit combinatoire Circuit séquentiel Code de Gray Complément à deux Décalage d'horloge (clock skew) Décodeur Glitch (impulsion parasite)

Retour au glossaire