29 Oct

Full adder !

Publié par Nain0nain ,

Full adder !

Hey, salut à tous c'est parti pour la suite ! Je vais vous parler, du full-adder ! Et ben GO !

  • Qu'est ce qui il y a de spécial ?
  • Comment on la fait ?
  • Et pourquoi on l’utilise ?

I. Le full-addeur

1. Qu'est ce qu'il y a de spécial ?

Comme le semi-addeur, ce circuit sert à additionner, mais cette fois on va utiliser trois entrée : les deux bits a additionner, soit A + B, avec la retenu en plus ! Mais pourquoi une retenu en entrée ? C'est pour tout simplement pouvoir ajouter des opérateurs à la suite : l'entrée reprend la retenu de l'addition d'avant pour faire ensuite le bon calcul !

Mais on reste sur deux entrée : la somme (l'unité, chez nous) et la retenu (dizaine, chez nous), qui peuvent cette fois nous donner 3. Tout cela nous donne un joli tableau, assez long malheureusement

Comme l'ancien additionneur, si il y a deux 1, sur une ligne, la sortie est 10. Et si on a trois 1, la résultat est 3, donc 11

Comme l'ancien additionneur, si il y a deux 1, sur une ligne, la sortie est 10. Et si on a trois 1, la résultat est 3, donc 11

2. Et alors comment on fait ?

Déjà on va garder le semi-additionneur tel, et va en placer plusieurs, Il faudrait deux additionneur : Si on les places comme ça

Full adder !

Et si on essaye d'en encastrer un dans l'autre ?

L'unité en bas et la retenue tout le temps en haut, sinon le resultat est inversé , et ça fais plus 10 mais 01

L'unité en bas et la retenue tout le temps en haut, sinon le resultat est inversé , et ça fais plus 10 mais 01

Ben ça va pas faire grand chose... On aura soit 00, ou 01. Donc pas très bonne idée ! Et mais nous avons le droit à trois entrée ! Donc si on encastre le deuxième dans la sortie des unités, qui sont allumé quand le résultat est 1, donc ça :

Full adder !

Si on a que 1,l'additionneur le fait descendre (tester dans votre tête, pour A = 1, B = 0, et D = 0; si on a trois 1 : A + B = 10, donc sortie de B soit C = 0 et C + R = 0 + 1 = 1 : 101; si on a A = B = 1 et D = 0, l'additionneur monte la retenu a A2 (sortie directe de A), puis avec C qui est 0 on ajoute D = 0, donc encore 0 : 100; mais si on a A = R = 1 et B = 0 ou B = R = 1 et A = 0 (qui est le même cas) on devrai avoir 100, non ? Testons : A + B = 1 + 0 = 01 et B + R = 1 + 1 = 10, donc 010 ! (on suit ? :D)

Je recapitule :

  • un seul 1==> 001 (le bon résultat = 01)
  • trois 1 ==> 101 (= 11)
  • deux 1 en haut : 11 0 ==> 100 (= 10)
  • deux 1, un en haut et un en bas : 10 1 ou 01 1 ==> 010 (= 10)

Tenez si on regarde de plus près toute les unités sont bonnes (le chiffre en dernier), mais si on regarde les deux chiffres d'après, il y a toujours le 1 ou 0 quand il faut : mais pas forcément au bon endroit :

  • 00 1 (00 pas de 1; et c'est bien 0 1)
  • 10 1 (10 un 1; c'est bien 1 1)
  • 10 0 (10 un 1; c'est bien 1 0)
  • 01 0 (01 un 1; c'est bien 1 0)

Ben donc il nous faudrai pas une porte qui filtre le 1, et il y aurra bien 2 sorties ? Exactement et c'est laquel ? Euh... Une Et toute simple ! Nous avons donc tout le schéma !

Puif compliqué : la Ou (Or) !

Full adder !

3. Et pourquoi faire ?

Et là, la porte accepte les retenues d'avants et additionne trois bit ! C'est un full-adder de un bit !

Nain0nain

Nain0nain

La suite des cours : ici

Retour au menu : fonctionnement du processeur
Commenter cet article

Suivez nous sur :