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

Contenu supprimé Contenu ajouté
Ligne 487 :
 
L'associativité, la commutativité et la distributivité ressemblent beaucoup aux règles arithmétiques usuelles, ce qui fait qu'on ne les détaillera pas ici. Les autres règles sont par contre plus importantes.
 
====Les lois de de Morgan====
 
Parmi les règles précédentes, les loi de de Morgan sont de loin les plus importantes à retenir. Elles sont les seules à impliquer les négations, avec la règle de simplification des doubles négations.
 
{|class="wikitable"
|+ Illustration des lois de De Morgan
|-
!<math>\overline{a}.\overline{b}=\overline{a+b}</math>
|[[File:1. Theorem.svg|1. Theorem.svg]]
|-
!<math>\overline{a}+\overline{b}=\overline{a.b}</math>
|[[File:2. Theorem.svg|2. Theorem.svg]]
|}
 
Les loi de de Morgan permettent aussi de transformer une équation écrite sous forme normale conjonctive et forme normale disjonctive et réciproquement.
 
====Les règles de type bit à bit====
Ligne 537 ⟶ 521 :
 
Ces relations peuvent s'utiliser pour simplifier des équations logiques, mais peuvent avoir des conséquences plus importantes. Par exemple, prenons le cas où on XOR un bit avec lui-même : le tableau plus haut nous dit que le résultat est toujours zéro. Et cela s'applique aussi à des nombres : si on XOR un nombre avec lui-même, chacun de ses bits sera donc XORé avec lui-même, et sera donc mis à zéro. Conséquence : un nombre XOR lui-même donnera toujours zéro. Cette propriété est utilisé en assembleur pour mettre à zéro un registre, dans certaines situations. Elle est aussi utilisée pour le calcul des bits de parité, ou pour échanger une valeur entre deux registres.
 
====Les lois de de Morgan====
 
Parmi les règles précédentes, les loilois de de Morgan sont de loin les plus importantes à retenir. Elles sont les seules à impliquer les négations, avec la règle de simplification des doubles négations.
 
{|class="wikitable"
|+ Illustration des lois de De Morgan
|-
!<math>\overline{a}.\overline{b}=\overline{a+b}</math>
|[[File:1. Theorem.svg|1. Theorem.svg]]
|-
!<math>\overline{a}+\overline{b}=\overline{a.b}</math>
|[[File:2. Theorem.svg|2. Theorem.svg]]
|}
 
Les loi de de Morgan permettent aussi de transformer une équation écrite sous forme normale conjonctive et forme normale disjonctive et réciproquement.
 
La première loi de de Morgan nous dit simplement qu'une porte NAND peut se fabriquer avec une porte OU précédée de deux portes NON, comme nous l'avions vu au chapitre précédent.
 
[[File:Porte NAND fabriquée avec des portes NON et OU.png|centre|vignette|upright=2|Porte NAND fabriquée avec des portes NON et OU]]
 
La seconde loi, quant à elle, dit qu'une porte NOR peut se fabriquer avec une porte ET précédée de deux portes NON, comme nous l'avions vu au chapitre précédent.
 
[[File:Porte NOR fabriquée avec des portes NON et ET.png|centre|vignette|upright=2|Porte NOR fabriquée avec des portes NON et ET]]
 
Et de même, il est possible de démontrer qu'une porte ET peut se concevoir avec des portes NOR et réciproquement qu'une porte OU peut se construire avec des NAND. Il suffit pour cela de combiner les lois de de Morgan avec la règle de la double négation. Pour la porte ET, partons de la tautologie suivante :
 
: <math>a . b = \overline{\overline{a . b}}</math>
 
On utilise alors la loi de de Morgan :
 
: <math>a . b = \overline{\overline{a} + \overline{b}}</math>
 
En obtient le circuit vu au chapitre précédent :
 
[[File:Porte ET fabriquée avec des portes NON et OU.png|centre|vignette|upright=2|Porte ET fabriquée avec des portes NON et OU]]
 
Pour la porte OU, partons de la tautologie suivante :
 
: <math>a + b = \overline{\overline{a + b}}</math>
 
On utilise alors la loi de de Morgan :
 
: <math>a + b = \overline{\overline{a} . \overline{b}}</math>
 
En obtient le circuit vu au chapitre précédent :
 
[[File:Porte OU fabriquée avec des portes NON et ET.png|centre|vignette|upright=2|Porte OU fabriquée avec des portes NON et ET]]
 
====La formule équivalente de la porte XOR et de la porte NXOR====