Préparation de l'UAL (suite)
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.
Le muxeur
- Pour choisir entre la partie arithmétique et la partie logique de l'UAL, il faut un muxeur sur 4 bits.
- Réaliser un circuit qui correspond au composant ci-dessous.
L'UAL
- Voilà, on a tout ce qu'il faut pour faire une UAL.
- Pour rappel, voici le schéma de l'UAL :
- Pour obtenir une quadruple porte NAND, il faut faire un clic-droit sur la quadruple porte et choisir le type NAND.
- 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 |