Demi additionneur et additionneur complet

Dans cette leçon en français, le présentateur explique en détail la construction de circuits d'addition binaire, en commençant par le demi‑additionneur (2 entrées, sorties somme S0 et retenue R0) puis l'additionneur complet (3 entrées, sorties somme Sn et retenue Rn). Il décrit les tables de vérité, dérive les fonctions logiques (S0 = A0 XOR B0, R0 = A0·B0 ; Sn = An XOR Bn XOR Rn‑1, Rn = (An·Bn) ∨ (An XOR Bn)·Rn‑1), et montre deux implémentations du full‑adder : directement avec portes logiques et en combinant deux demi‑adders. Ensuite, il assemble un additionneur à 4 bits en chaînant un demi‑additeur pour le LSB et trois additionneurs complets pour les bits supérieurs, illustrant le principe du ripple‑carry. Enfin, il généralise le schéma aux processeurs de 32 ou 64 bits, soulignant que le même motif (un demi‑additeur + N‑1 full‑adders) se répète pour chaque bit. Le cours se veut pédagogique, avec un ton technique et enthousiaste, et vise à donner aux étudiants les bases nécessaires pour comprendre et concevoir des circuits d'addition dans les processeurs modernes.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon sur la logique booléenne. Aujourd'hui, nous allons voir comment réaliser un demi-additionneur et un additionneur complet. Comme je l'ai signalé dans une vidéo précédente, l'opération d'addition est l'une des opérations les plus importantes qu'un processeur peut effectuer. En effet, ce dernier peut même exécuter d'autres opérations arithmétiques en les convertissant en opérations d'addition comme c'est le cas pour la soustraction. Par conséquent, l'un des circuits les plus importants dont dispose un processeur est l'additionneur. Cependant, on peut distinguer 2 types d'additionneurs, à savoir: le demi-additionneur et l'additionneur complet, que l'on peut combiner afin de créer des additionneurs qui peuvent effectuer des opérations d'addition sur plusieurs bits à la fois. Effectuons cette opération d'addition. Comme on l'a vu dans une vidéo précédente, il y a 4 cas possibles: 0+ 0= 0, 0+ 1= 1, 1+ 1= 10, 1+ 1+ 1= 11. Il s'agit bien entendu d'une opération d'addition et non pas du O logique. En appliquant ça, on aura 1+ 1= 0, retenue 1, 1+ 0+ 1= 0, retenue 1, 1+ 0+ 0= 1, Et 1 1 0, et retenu 1 que l'on va mettre juste à côté. Alors c'est comme ça que l'opération d'addition est faite sur plusieurs bits. Pour généraliser, on va noter que le premier opérande c'est A0, A1, A2, A3, et le deuxième opérande c'est B0, B1, B2 et B3. Alors a0 b0 est égal à s0 avec une éventuelle retenue r0. r0 a1 b1 égal à s1 avec retenue r1 qui peut valoir soit 0 soit 1. Même chose, r1 a2 b2 égal à s2, retenue r2. r2 a3 b3 égal à s3. Avec retenue R3 que l'on va noter à côté. Regardons maintenant la première opération, celle qui concerne le bit le plus à droite que l'on appelle le LSB ou bien least significant bit, c'est-à-dire le bit de poids faible. On constate que cette opération engage uniquement A0 et B0, et comme résultat il peut produire le S0 qui est la somme et R0 qui est la retenue. Alors on imagine que le circuit qui va faire cette opération a cette forme. Il a 2 entrées qu'on va noter A0, B0, et 2 sorties qui sont S0, la somme, et R0, la retenue. Puisque ce circuit contient 2 entrées, alors on l'appelle demi-additionneur, qu'on va noter comme ça, DA, parce que dans ce cas on peut pas avoir une retenue puisque c'est la première opération à effectuer. Pour les autres colonnes, par exemple pour la colonne A, 2, etc., ainsi de suite. On constate qu'on a 3 opérantes: l'ancienne retenue, c'est-à-dire la retenue de l'opération précédente, les 2 opérantes courantes A1, B1, et le résultat S1. Même chose pour la deuxième colonne et la troisième colonne. Alors on imagine que le circuit qui va faire cette opération a cette forme. Il a 3 entrées, Mais on va les généraliser. On va pas mettre A1, B1, mais on va plutôt mettre AN, BN et la retenue précédente, c'est-à-dire RN moins 1. Et il a 2 sorties, à savoir SN et RN. Puisque ce circuit contient 3 entrées, alors on l'appelle additionneur complet, qu'on va noter AC. Alors pour effectuer par exemple une opération de 4 bits, On aura besoin d'un demi-additionneur pour le bit de poids faible et de 3 additionneurs complets pour les bits restants. Commençons par le demi-additionneur. Nous allons dessiner sa table de vérité sachant qu'il contient 2 entrées A0 et B0 et 2 sorties S0 et R0. On va exposer les différentes combinaisons des entrées. 00, 01, 10 et 11. Alors 0+ 0, la somme c'est 0, retenu 0. 0+ 1, la somme c'est 1, retenu 0. 1+ 0, la somme c'est 1, retenu 0. Et 1+ 1, la somme c'est 0 et retenu 1. Maintenant on va établir 2 fonctions logiques: la fonction S0 et la fonction R0. S0 est égale à, donc là où c'est égal à 1, on représente par A0 barre B0 plus A0 B0 barre, ce qui donne A0 XOR B0. Et le R0, c'est égal à A0 B0. Alors on peut dessiner le circuit logique du demi-additionneur. On met les entrées A0, B0, on réunit les deux par une XOR. Et ça donne S0. Ensuite, on les réunit à travers une ET logique et ça donne R0. Alors, c'est ça le circuit logique du demi-additionneur. Concernant l'additionneur complet, il contient 3 entrées, donc la table de vérité sera comme ceci. On mettra AN, BN, RN moins un, SN et RN. On mettra différentes combinaisons pour les entrées. Alors zéro zéro zéro, zéro zéro un, zéro un zéro, zéro un un, un zéro zéro, un zéro un, un un zéro et un un un. 0+ 0+ 0, la somme c'est 0, retenu 0. 0+ 0+ 1, la somme c'est 1, retenu 0. 0+ 1+ 0, la somme c'est 1, retenu 0. 0+ 1+ 1, la somme c'est 0 et retenu 1. 1+ 0+ 0, c'est 1, retenu 0. 1+ 0 1, 0, retenu 1. 1+ 1+ 0, 0, retenu 1. Et un plus un plus un, c'est un et retenu un. Maintenant, on va établir les deux fonctions Sn et Rn. On commence par Sn. Donc là où c'est égal à un, on commence par cette ligne. C'est An barre, Bn barre, Rn moins un. Plus la deuxième ligne, c'est An barre, Bn, Rn moins un barre. Lus an bn bar rn moins un bar lus an bn rn moins un égal Donc on va factoriser avec l'expression a n barre b n barre n moins un plus b n par n moins un barre plus et là on factorise avec a n b n barre n-1 barre plus bn par n-1, ce qui est égal à an barre. Là c'est une XOR, alors c'est bn XOR n-1 plus an. Là c'est une XNOR, c'est-à-dire XOR inversé, bn xor rn-1 tout barre. Mais encore, regardez cette expression, vous avez x barre y plus xy barre, c'est encore une xor. Ça donne an xor bn xor rn-1. Alors ça, c'est sn. Alors, on va noter l'expression Sn ici. Maintenant, on exprime la fonction Rn, là aussi égale à 1. An bar bn rn moins un plus an bn bar rn moins un plus an bn rn moins un bar plus a n b n r n moins un c'est égal on factorise par r n moins un ici on aura a n barre b n plus a n b n barre ce qui donne a n XOR b n plus et là on factorise par a n b n Ce qui va nous rester, c'est Rn moins un barre plus Rn moins un qui est égal à un. Et le produit avec un donne An Bn. Donc ça, c'est l'expression de Rn. On va la noter ici. Maintenant, pour dessiner le circuit, il y a deux façons de faire. Soit on le fait directement à travers les portes logiques. On a trois entrées: AN, BN, RN moins un. On va réunir AN et BN à travers une XOR. Ensuite, Rn-1 qui va les rejoindre à travers une autre XOR. Bien sûr, on aurait pu utiliser une XOR à 3 entrées pour simplifier, mais j'ai fait ça exprès parce que j'aurais besoin de cette sortie An XOR Bn pour dessiner le Rn. Donc là, c'est Sn, et pour le Rn, je vais prendre cette sortie qui est le An XOR Bn. Et je vais la grouper avec Rn-1 à travers une porte ET. Maintenant on a cette partie. Il suffit d'ajouter maintenant An Bn comme ça, à travers une porte ET. On va réunir les deux à travers une porte OU. Et là ça donne Rn. C'est un dessin qui est assez simple, mais je préfère la deuxième méthode qui consiste en fait à exploiter les demi-additionneurs pour dessiner l'additionneur complet. Alors rappelons le demi-additionneur. Il a 2 entrées A0 et B0. S0 est égal à A0+ B0. Xor B0, et R0 est égal à A0 et B0. Alors ça, c'est le demi-additionneur. Maintenant, pour dessiner l'additionneur complet, on va mettre les 3 entrées: AN, BN, RN-1. Imaginez avec moi que j'ai placé un demi-additionneur ici, comme ça, que j'ai attaqué par AN et BN. Regardez, pour la première sortie, je vais obtenir AN XOR BN exactement comme ça. AN XOR BN. Et pour la deuxième sortie, c'est-à-dire la sortie R0 dans ce cas, ça va me renvoyer AN BN exactement comme ça. AN BN. On constate déjà que AN BN, on l'a ici, et AN XOR BN, on l'a ici. Et ici. Alors on se rapproche petit à petit. Maintenant on va placer un deuxième demi-additionneur que j'attaque ici par AN XOR BN et là par RN moins 1. À la sortie, ce que je vais obtenir, c'est la première entrée XOR la deuxième entrée, c'est-à-dire AN XOR BN XOR Rn-1. J'ai passé d'espace, mais c'est pas grave, vous avez compris. Alors ça, c'est exactement le Sn. Voilà, c'est ça. Donc on a obtenu le Sn directement. Et pour la deuxième sortie, ça va être cette entrée et cette entrée, comme ça. Voilà, donc ça va donner An XOR Bn et Rn-1, exactement comme ça. Ce qui nous manque maintenant pour avoir la sortie Rn, c'est juste An Bn qu'on va passer à travers une porte OU, comme ça. On va faire comme ceci, et ça donne exactement le Rn, cette expression qui est là. C'est-à-dire qu'il y a deux façons de faire: soit vous dessinez basiquement avec les portes logiques, ce qui est simple, ou bien en exploitant les demi-additionneurs qu'on a déjà réussis. Maintenant, dessinons un circuit qui permet de faire l'addition de 2 nombres binaires de 4 bits chacun. Alors c'est simple, puisque l'opération va engager 2 nombres binaires avec 4 bits chacun, donc on aura besoin de 4 circuits. Un demi-additionneur à droite ici par exemple. Maintenant je vais représenter les entrées ici. En haut. Alors là, c'est A0, B0, ce sont bien sûr les LSB ou bien les bits de poids faible des 2 opérandes. Et en sortie, on aura S0 qui est la somme et R0 qui est la retenue. Un deuxième circuit maintenant pour le deuxième bit qui sera un additionneur complet qui contient 3 entrées, bien entendu A1, B1 et Rn-1, qui dans ce cas est R0, voilà, que je vais relier ici. C'est-à-dire la sortie R0, il va attaquer l'additionneur complet. Et là, on aura encore 2 sorties, S1 et R1. Pour le 3e bit, on aura besoin d'un 3e circuit qui est aussi un additionneur complet, contiendra les entrées A2 et B2, en plus bien sûr du R1 qui sera récupéré ici. Et là, on obtient S2 et R2. Et finalement, le dernier circuit qui est aussi un additionneur complet, il contient les 2 entrées A3 et B3 et l'entrée R2. Que sera récupéré du circuit précédent. Et là, on obtient le S3 et le R3. Donc ça représente l'opération de tout à l'heure que je vais rappeler ici. C'est A0, A1, A2, A3 plus B0, B1, B2, B3, qui va donner comme résultat S0, S1, S2, S3. Et on aura d'éventuelles retenues ici R0, R1 et R2. Ici on aura un R3. Alors c'est ça l'additionneur qu'embarque un processeur. Généralement, les processeurs, ils travaillent sur 32 bits ou bien sur 64 bits, c'est-à-dire que dans la pratique, le circuit contiendra des modules comme ça qui vont être répétés autant de fois qu'on a de bits, c'est-à-dire un demi-additionneur et 31 additionneurs complets si le processeur opère sur 32 bits, ou bien un demi-additionneur et 63 additionneurs complets si le processeur opère sur 64 bits. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









