Aller au contenu

L'Unité Arithmétique et Logique⚓︎

Exercice 6 : L'unité arithmétique

Tout comme l'unité logique, il est possible de faire une unité arithmétique qui permet de faire diverses opérations en fonction du code opération.

Et comme l'unité logique, il est possible de faire cela à l'aide d'inverseurs en plus de l'additionneur.

En modifiant les sélecteurs Sa, Sb et Sr, déterminer comment faire les opérations A+B, A-B et B-A.

Les affichages sont réglés pour des nombres relatifs en complément à 2 sur 4 bits. Ils vont donc de -8 à 7.

Sa Sb Sc Opération
0 0 0
0 1 0
1 0 0
1 1 0
0 0 1
0 1 1
1 0 1
1 1 1

Solution
Sa Sb Sc Opération
0 0 0 A + B
0 0 1 Autre
0 1 0 Autre
0 1 1 Autre
1 0 0 Autre
1 0 1 B - A
1 1 0 A - B
1 1 1 Autre

Si on note \(\overline{A}\) l'inverse bit à bit de \(A\), on a alors \(-A = \overline{A} +1\) par définition du complément à 2.

On a donc \(\overline{A} = -A - 1\).

Lorsqu'on active Sa et Sc, mais pas Sb, on otbient :

\[\overline{\overline{A}+B} = -(\overline{A}+B) - 1 = -(-A-1+B) -1 = A + 1 - B -1 = A - B\]

De même,

\[\overline{A+\overline{B}} = -(A+\overline{B}) - 1 = -(A-B-1) -1 = -A + B +1 -1 = B - A\]
Exercice 7 : Le muxer 4 bits

Pour choisir entre la partie arithmétique et la partie logique de l'UAL, il faut un muxer sur 4 bits.

Pour tester un muxer 4 bits

Portes multiples

Vous pouvez utiliser des portes multiples qui réalisent l'opération indiquée bit à bit. Vous pouvez changer le type de la porte avec un clic droit dessus.

Solution

Exercice 8 : L'Unité Arithmétique et Logique

Nous avons tout ce qu'il faut pour réaliser une UAL.

Pour rappel, voici le schéma :

alu alu

Réaliser le circuit de l'UAL à l'aide des portes disponibles. Pour le muxer, il faut modifier le nombre de sorties pour le mettre à 4.

Exemples d'utilisations de l'UAL

L'opcode se lit dans l'ordre op4, op3, op2 et op1. Voici des exemples d'utilisation :

Opcode A B Résultat Commentaire
0000 0011 0101 1000 A+B
0000 0001 1111 0000 overflow
0101 0011 0101 0010 B-A
1001 0011 0101 1110 A-B
0101 0011 0000 1101 -A
0001 1100 0000 0011 non A
0010 0011 0101 1110 non(A et B)
0011 0011 0101 0001 A et B
1110 0011 0101 0111 A ou B

Solution

Pour aller plus loin

Vous pouvez utiliser Logic pour essayer de réaliser d'autres circuits en explorant les portes disponibles.

Vous pouvez aussi aller tester le jeu NandGame qui propose de réaliser un ordinateur en partant uniquement des portes NAND.

Bonus