3. Additionneur¶
On a découvert quelques portes logiques ainsi que la possibilité de les connecter pour en faire des circuits logiques plus complexes. Ces portes logiques vont maintenant permettre de réaliser l’additionneur annoncé en début de chapitre précédent.
On rappelle qu’on a deux bits de sortie à calculer pour la sortie
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
En comparant cette table de vérité avec celles des portes logiques, on se rend compte que
La table de vérité pour
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Et on constate que
Exercice 1
Vérifiez que ce circuit livre bien les bonnes valeurs de sortie qui correspondent aux tables de vérité ci-dessous. Combien de combinaisons différentes devrez-vous tester ?
Corrigé
Le circuit fonctionne correctement. Il faut tester les quatre combinaisons qui apparaissent dans les tables de vérité.
3.1. Additionneur complet¶
Le circuit précédent est particulièrement intéressant, car il montre qu’il est possible d’utiliser des opérateurs logiques pour réaliser l’opération arithmétique de l’addition. L’additionneur est limité: en fait, on l’appelle un demi-additionneur. Il n’est capable d’additionner que deux bits — c’est très limité. En fait, il serait intéressant d’avoir un additionneur de trois bits. Pourquoi ? À cause de la manière dont on pose les additions en colonnes.
Lorsqu’on additionne deux nombres à plusieurs chiffres, que ce soit en base 10 ou en base 2, on commence par la colonne de droite, les unités. On connait le concept de retenue: en base 10, si l’addition des unités dépasse 9, on retient 1 dans la colonne des dizaines. En base 2, de façon similaire, si l’addition des unités dépasse… 1, on retient 1 dans la colonne suivante à gauche. C’est ce qu’on a fait avec le demi-additionneur: on peut considérer que la sortie
C’est ici que ça se complique : pour additionner les chiffres de la deuxième colonne, on doit potentiellement additionner trois chiffres, et plus seulement deux. On a donc, en entrée, les deux bits
Exercice 2 – Bases de l’additionneur complet
Déterminez combien de combinaisons différentes sont possibles pour trois signaux d’entrée
, et qui chacun peuvent valoir soit 1 soit 0.Listez toutes ces combinaisons.
Pour chaque combinaison, déterminez la valeur binaire qui est la somme des trois signaux d’entrée.
Finalement, avec les informations ainsi obtenues, complétez la table de vérité d’un additionneur complet qui a deux sorties
et
Corrigé
Il y a
La table de vérité est ainsi:
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
En faisant pour l’instant abstraction des détails d’un additionneur complet, on peut se dire qu’on le dessine simplement ainsi :
3.2. Chaînage d’additionneurs¶
La flexibilité de ce composant fait qu’on peut maintenant facilement l’utiliser pour construire un circuit qui additionne deux nombres
Si
L’additionneur de droite, comme précédemment, additionne les deux bits des unités :
Exercice 3 – Limite de cet additionneur à 2 bits
Avec l’additionneur ci-dessus, est-il possible d’obtenir des 1 sur toutes les sorties, donc d’avoir
Indice
Déterminez quel est le nombre décimal qui serait représenté par
Corrigé
La configuration
Exercice 4 – Additionneur de demi-octets
En connectant des additionneurs complets, réalisez un circuit qui additionne deux nombres
Les entrées sont déjà disposées. Glissez autant d’additionneurs et de bits de sortie que nécessaire et connectez les composants du circuit.
Corrigé
On a besoin de cinq bits de sortie. Le schéma, représenté horizontalement et de droite à gauche pour être proche de la représentation selon laquelle les additions se résolvent en colonne, est :
Cet exercice démontre l’opportunité de penser en termes modulaires, ce qui revient souvent en informatique. Ici, on a réalisé qu’un additionneur complet résout un sous-problème bien défini d’une addition générale d’un nombre à
Exercice 5 – Dépassement de capacité
Le schéma ci-dessous montre le même additionneur de demi-octets de l’exercice précédent, mais, de plus, la valeur en base 10 de ses 4 bits d’entrée pour
Réglez les entrées du circuit de manière à lui faire effectuer les additions suivantes, et vérifiez le résultat. Dans quelles circonstances est-il correct et pourquoi est-il de temps en temps incorrect ? Comment, en regard de ceci, interpréter le bit de sortie
Corrigé
Dès que la somme dépasse 15, elle n’est plus représentable sur les 4 bits qui sont affichés sur la sortie. La plupart des ordinateurs et smartphones actuels représentent les nombres non pas sur 4 bits, mais sur 64. Mais même avec 64 bits, il y a un nombre maximal que l’on peut représenter (en l’occurrence,
Exercice 6 – Circuit défectueux
L’additionneur de demi-octets ci-dessous a été endommagé et ne fonctionne plus correctement. Par exemple, lorsqu’on lui demande d’effectuer le calcul
Déterminez quel composant est défectueux dans ce circuit et comment il faudrait le réparer. Vous pouvez changer les entrées pour vérifier ce qui ne fonctionne pas.
Corrigé
La retenue sortant du deuxième additionneur depuis la droite est bloquée à 0 à la place de correctement changer de valeur suivant ses entrées.
Exercice 7 – Design d’un additionneur complet
Note : exercice difficile et actuellement peu guidé ici ; prochainement complété par davantage d’indications.
En s’aidant de la table de vérité d’un seul additionneur complet, créer un circuit logique qui calcule ses sorties
Indice
La sortie
doit être 1 soit lorsque les trois entrées valent 1, soit lorsqu’une seule des trois entrée vaut 1.La sortie
, qui est la retenue, doit être 1 lorsque deux ou trois des trois entrées valent 1.