80 lines
2.8 KiB
Markdown
80 lines
2.8 KiB
Markdown
|
CM5 Calcul booléen - Notes de cours
|
||
|
==========================================
|
||
|
|
||
|
|
||
|
Pourquoi ?
|
||
|
==========
|
||
|
|
||
|
Le calcul informatique se base sur des transistors. Avec des transistors, on va voir qu'on sait faire des fonctions logiques NAND, NON, NOR. Et à partir de ces constructions, on sait construire ET et OU. Et à partir de ET et OU, on sait calculer, par exemple additionner des nombres. Avec tout ça, le calcul booléen sert de base à l'informatique.
|
||
|
|
||
|
|
||
|
Transistors et portes
|
||
|
=====================
|
||
|
|
||
|
Le principe du transistor :
|
||
|
- 3 pattes
|
||
|
- Source, Drain, Grille
|
||
|
- Source = positif, Drain = négatif, Grille = contrôle
|
||
|
- Version N : ouvert si contrôle vaut 0, fermé si contrôle vaut 1 (Version P = le contraire)
|
||
|
- Fermé = le courant passe entre S et D
|
||
|
|
||
|
Une porte logique :
|
||
|
- Un assemblage de transistors
|
||
|
- Une fonction de plus haut niveau
|
||
|
- Exemple de la porte NON : ![NON](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Porte_NON_fabriqu%C3%A9e_avec_des_transistors_CMOS._01.jpg/220px-Porte_NON_fabriqu%C3%A9e_avec_des_transistors_CMOS._01.jpg)
|
||
|
- NAND, NOR, ET, OU, ... ![OU](https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/CMOS_OR.svg/440px-CMOS_OR.svg.png)
|
||
|
|
||
|
Avec des transistors, on a créé l'implémentation matérielle de la logique booléenne (ET, OU, NON, etc.)
|
||
|
|
||
|
Détails [ici](https://fr.wikibooks.org/wiki/Fonctionnement_d%27un_ordinateur/Les_transistors_et_portes_logiques).
|
||
|
|
||
|
|
||
|
Logique booléenne
|
||
|
=================
|
||
|
|
||
|
Des opérateurs de base :
|
||
|
- Conjonction ET (., ^, &, &&) ![ET](https://upload.wikimedia.org/wikipedia/commons/thumb/4/46/And.svg/128px-And.svg.png)
|
||
|
- Disjonction OU (+, v, |, ||) ![OU](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Or-gate-en.svg/128px-Or-gate-en.svg.png)
|
||
|
- Négation NON (¬, -, !) ![NON](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Not-gate-en.svg/128px-Not-gate-en.svg.png)
|
||
|
- Tables de vérité
|
||
|
|
||
|
Des compositions :
|
||
|
- Ou exclusif XOR ![XOR](https://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Xor-gate-en.svg/128px-Xor-gate-en.svg.png)
|
||
|
- NAND ![NAND](https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Nand-gate-en.svg/128px-Nand-gate-en.svg.png)
|
||
|
- NOR ![NOR](https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Nor-gate-en.svg/128px-Nor-gate-en.svg.png)
|
||
|
|
||
|
Des règles :
|
||
|
- Associativité
|
||
|
- Commutativité
|
||
|
- Distributivité
|
||
|
- Idempotence
|
||
|
- Éléments neutres et absorbants
|
||
|
- Priorité : NON > ET > OU
|
||
|
|
||
|
Théorème de De Morgan :
|
||
|
- ¬(a+b) = ¬a . ¬b
|
||
|
- ¬(a.b) = ¬a + ¬b
|
||
|
|
||
|
Détails [ici](https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique))
|
||
|
|
||
|
Usages
|
||
|
======
|
||
|
|
||
|
Calcul
|
||
|
------
|
||
|
|
||
|
On peut calculer !
|
||
|
- XOR = additionneur 1 bit (mais sans la retenue)
|
||
|
- En TD, on fera un additionneur
|
||
|
|
||
|
Opérations logiques
|
||
|
-------------------
|
||
|
|
||
|
Conditionnelle avec &&, || : paresseux ET "synthétiques"
|
||
|
|
||
|
Opérations bit à bit
|
||
|
--------------------
|
||
|
|
||
|
- Opérations avec &, |, !
|
||
|
- Notion de masque réseau
|