« Fonctionnement d'un ordinateur/Les circuits combinatoires » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎Un exemple complet : le multiplexeur à deux entrées : Déplacement de la section dans le chapitre suivant
Ligne 692 :
* faire un ET entre les variables qui ne varient pas.
* faire un OU entre les équations de chaque regroupement, et on obtient l'équation finale de la sortie.
 
==Un exemple complet : le multiplexeur à deux entrées==
 
[[File:Multiplexeur à deux entrées - symbole.png|vignette|Multiplexeur à deux entrées - symbole]]
 
Dans ce qui va suivre, nous allons utiliser la méthode complète sur un circuit relativement simple. Ce circuit nous servira plus tard dans le cours, dans quelques chapitres. Pensez-donc à bien mémoriser son fonctionnement, ainsi que le circuit lui-même. Le circuit en question est un '''multiplexeur à deux entrées'''. Les multiplexeurs sont des composants qui possèdent un nombre variable d'entrées et une sortie. Le rôle d'un multiplexeur est de recopier le contenu d'une des entrées sur sa sortie. Bien sûr, il faut bien choisir l'entrée qu'on veut recopier sur la sortie : pour cela, notre multiplexeur contient une entrée de commande qui permet de spécifier quelle entrée doit être recopiée. Le multiplexeur le plus simple est le multiplexeur à deux entrées et une sortie. Il est facile de le construire avec des portes logiques, dans les implémentations les plus simples. Voyons comment le créer.
 
===Méthode des minterms===
 
Pour commencer, établissons sa table de vérité. On va supposer qu'un 0 sur l'entrée de commande sélectionne l'entrée a. La table de vérité devrait être la suivante :
 
{|class="wikitable"
|-
!Entrée de commande
!Entrée a
!Entrée b
!Sortie
|-
|0||0||0||0
|-
|0||0||1||0
|-
|0||1||0||1
|-
|0||1||1||1
|-
|1||0||0||0
|-
|1||0||1||1
|-
|1||1||0||0
|-
|1||1||1||1
|}
 
Sélectionnons les lignes qui mettent la sortie à 1 :
 
{|class="wikitable"
|-
!Entrée de commande
!Entrée a
!Entrée b
!Sortie
|-
|0||1||0||1
|-
|0||1||1||1
|-
|1||0||1||1
|-
|1||1||1||1
|}
 
On sait maintenant quels comparateurs avec une constante utiliser. On peut, écrire l'équation logique du circuit. La première ligne donne l'équation suivante : <math>\overline{E_c} . a . \overline{b}</math>, la seconde donne l'équation <math>\overline{E_c} . a . b</math> , la troisième l'équation <math>E_c . \overline{a} . b</math> et la quatrième l'équation <math>E_c . a . b</math>. L'équation finale obtenue est donc :
 
<math>(\overline{E_c} . a . \overline{b}) + (\overline{E_c} . a . b) + (E_c . \overline{a} . b) + E_c . a . b</math>
 
===Simplification du circuit===
 
L'équation précédente est assez compliquée, mais il y a moyen de la simplifier assez radicalement. Pour cela, nous allons utiliser les règles de l’algèbre de Boole. Pour commencer, nous allons factoriser <math>(\overline{E_c}</math> et <math>E_c</math> :
 
<math> \left[ \overline{E_c} .[ (a . \overline{b}) + (a . b)] \right] + \left[ E_c . [(\overline{a} . b) + (a . b)] \right] </math>
 
Ensuite, factorisons <math>a</math> dans le premier terme et <math>b</math> dans le second :
 
<math> \left[ \overline{E_c} . a . (\overline{b} + b) \right] + \left[ E_c . b . (\overline{a} + a) \right]</math>
 
Les termes <math>\overline{b} + b</math> et <math>\overline{a} + a</math> valent 1 :
 
<math> \left[ \overline{E_c} . a . 1 \right] + \left[ E_c . b . 1 \right]</math>
 
On sait que <math>a . 1 = a</math>, ce qui fait que l'équation simplifiée est la suivante :
 
<math>(\overline{E_c} . a) + (E_c . b)</math>
 
===Traduction de l'équation en circuit===
 
Le circuit qui correspond est :
 
[[Fichier:Multiplexeur_à_deux_entrées_-_circuit.png|centre|vignette|upright=1.5|Multiplexeur à deux entrées - circuit]]
 
<noinclude>