Aller au contenu

Préparation de l'UAL⚓︎

Exercice 1 : L'inverseur

Afin de réaliser le circuit d'un UAL, il faut préparer plusieurs composants. La plupart de ces composants existent déjà dans Logic, mais nous allons les reconstuire à partir des portes de base.

Nous allons commencer par réaliser un inverseur qui prend en entrée 4 bits de données et un 5e qui sert à déterminer si la sortie est une copie des données ou une inversion bit à bit.

Vous pouvez observer le comportement attendu à partir du composant présent dans Logic.

Indices
Indice 1

Il faut travailler bit par bit.

Indice 2

Il faut trouver une porte qui permet d'obtenir la table suivante pour un bit de donnée D :

D SĂ©lecteur Sortie
0 0 0
1 0 1
0 1 1
1 1 0
Indice 3

On rappelle la table du XOR (ou-x) :

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Solution

Il faut utiliser des portes XOR :

Exercice 2 : L'unité logique

L'UAL permet de choisir l'opération logique effectuée en fonction du code opération.

Cette partie s'appelle parfois l'unité logique.

Nous allons faire un prototype d'unité logique à l'aide des portes de base. Il y a 2 entrées A et B, ainsi que 2 interrupteurs permettant de choisir l'opération à effectuer, selon la table suivante :

Choix NĂ©gation RĂ©sultat
0 0 A ET B
0 1 NON (A ET B)
1 0 A OU B
1 1 NON (A OU B)

Réaliser le circuit demandé à l'aide des portes disponibles. Il y a plusieurs solutions et vous n'utiliserez probablement pas toutes les portes.

Indices pour Choix
Indice 1

Il faut avoir une partie du circuit qui permet de sélectionner entre A ET B et A OU B.

Indice 2

On peut utiliser un muxer.

Indice 3

Pour rappel, voici le schéma d'un sélecteur :

Indices pour NĂ©gation
Indice 1

Il faut un circuit qui permet d'inverser ou non le signal en fonction de NĂ©gation.

Indice 2

On peut utiliser une porte XOR comme dans l'exercice précédent.

Solution

Il faut utiliser un circuit de type "sélecteur" pour choisir entre le ET et le OU et une porte XOR pour activer ou non la négation.

Exercice 3 : Quadruple NAND

Notre UAL manipulera des blocs de 4 bits de données. Nous avons besoin de réaliser une porte NAND qui peut gérer des entrées et des sorties de 4 bits.

RĂ©aliser un circuit qui correspond au composant ci-dessous.

Solution

Il suffit de mettre 4 portes NAND.

Exercice 4 : Quand on vous dit que NAND, ça fait tout

On sait que la porte NAND est universelle. Lorsqu'on associe une porte quadruple NAND avec 3 inverseurs, on peut obtenir les opérations A ET B, A OU B, NON (A ET B), NON (A OU B).

En modifiant les valeurs des 3 sélecteurs, déterminer les valeurs qui permettent d'obtenir les opérations booléennes listées au dessus. Remplir le tableau ci-dessous afin de trouver les combinaisons correspondant à chaque opération. Il y a des combinaisons qui correspondent à d'autres opérations. Il n'est pas demandé de déterminer quelles sont ces opérations.

Indice

Vous pouvez remarquer que les valeurs de A et de B correspondent aux valeurs dans un tableau de vérité :

A B C
0 0 ?
0 1 ?
1 0 ?
1 1 ?

En regardant la valeur de C, on peut en reconnaître si cela correspond à une des opérations recherchées.

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 NON (A ET B)
0 0 1 A ET B
0 1 0 Autre
0 1 1 Autre
1 0 0 Autre
1 0 1 Autre
1 1 0 A OU B
1 1 1 NON (A OU B)
Exercice 5 : L'additionneur 4 bits

Nous avons déjà réalisé un additionneur sur un bit. Nous allons utiliser le demi-additionneur et l'additionneur de Logic pour réaliser un additionneur 4 bits.

Pour avoir plus d'informations sur ces portes, il suffit laisser la souris dessus une fois qu'il est placé.

Il est recommandé de changer l'orientation des additionneurs. Il suffit d'appuyer sur la touche Up lorsque la souris est sur l'additionneur.

RĂ©aliser un additionneur sur 4 bits Ă  l'aide des portes disponibles. On rajoute aussi une sortie qui correspond Ă  la retenue qui peut rester Ă  la fin de l'addition.

Les affichages permettent de contrôler facilement les résultats. Les bits sont écrits de bas en haut. Le bit le plus bas correspond à la plus grande puissance de 2.

⚠ Puisque nous nous limitons à 4 bits, lorsqu'on atteint 16, on revient à 0. Ainsi, 14+12=26 mais le résultat affiché sera 10.

Solution