00:00:03
Salut, je suis Carrie Anne et bienvenue dans Crash Course Informatique!
00:00:06
Aujourd'hui nous commençons notre ascension de l'échelle de l'abstraction, où l'on perdra la capacité
00:00:10
de voir chaque interrupteur et rouage, mais où l'on gagnera la possibilité d'assembler
00:00:15
des systèmes de plus en plus complexes.
00:00:16
00:00:25
Dans le dernier épisode, nous avions abordé comment les ordinateurs avaient évolué depuis les appareils
00:00:30
électromécanique qui n'avaient souvent qu'une représentation décimale des nombres - représentés
00:00:35
par les dents d'un rouage - vers les ordinateurs électroniques utilisant des transistors capables d'éteindre ou d'allumer le courant électrique.
00:00:39
Fort heureusement, même avec seulement 2 états électriques, on peut représenter d'importantes informations.
00:00:44
Nous appelons Binaire cette représentation - ce qui signifie littéralement "à deux états", de la même
00:00:48
manière qu 'une bicyclette a deux roues ou qu'un bipède a deux jambes.
00:00:52
Vous devez penser que deux états ne sont pas suffisants, et vous auriez raison!
00:00:55
Cependant, c'est exactement ce dont vous avez besoin pour représenter les valeurs "vrai" et "faux".
00:00:59
Dans les ordinateurs, l'état "allumé", quand le courant passe, représente vrai.
00:01:03
L'état "éteint", le courant ne passe pas, représente faux.
00:01:06
On peut aussi écrire le binaire à l'aide de 1 et de 0 au lieux de vrai et faux -
00:01:10
ils ne sont qu'une expression différente d'un même signal - mais nous aborderont cette question dans le prochain épisode.
00:01:15
À présent, nous pouvons utiliser les transistors non plus seulement pour laisser passer ou non le courant
00:01:19
et pour autoriser différents niveaux de courant.
00:01:22
Certains anciens ordinateurs électroniques était ternaires, à trois états, voir même quinaires, utilisant 5 états
00:01:27
Le problème est que, plus il y a d'états intermédiaires, plus il est difficile de les différencier - si votre
00:01:31
batterie de téléphone est faible ou qu'il y a des perturbations électriques
00:01:35
à cause d'un four à micro-ondes en marche à proximité, les signaux peuvent se mélanger... et ce problème
00:01:39
empire avec des transistors changeant d'état des millions de fois par seconde!
00:01:43
Donc, en plaçant deux signaux aussi éloignés que possible - en utilisant seulement "allumé" ou "éteint" -
00:01:48
nous permet de mieux distinguer les signaux et de minimiser ces problèmes.
00:01:51
Une autre raison pour laquelle les ordinateurs utilisent le binaire est qu'une des branches des mathématiques
00:01:55
existe déjà et traite justement des valeurs "vrai" et "faux".
00:01:58
Elle a d'ailleurs déjà résolu les règles et les opérations nécessaires pour les manipuler.
00:02:01
Elle s'appelle l'Algèbre de Boole!
00:02:03
George Boole, qui donna son nom à l'Algèbre de Boole, était un mathématicien autodidacte anglais du 19ème siècle.
00:02:09
Il était intéressé dans la représentation logique des assertions qui allaient "sous, sur et au delà"
00:02:14
de l'approche Aristotélicienne de la logique, qui était, sans surprise, encrée dans la philosophie.
00:02:18
L'approche de Boole permettait de prouver systématiquement et formellement la vérité, grâce aux équations logiques
00:02:22
qu'il introduisit dans son premier livre "L'analyse mathématique de la logique" en 1847.
00:02:27
En algèbre "normale" - celle que vous avez probablement apprise au lycée - les valeurs des variables
00:02:31
sont des nombres, et les opérations sur ces nombres peuvent être par exemple les additions et les multiplications.
00:02:36
Cependant en Algèbre de Boole, les valeurs des variables sont vraies ou fausses, et les opérations sont logiques.
00:02:41
Il existe 3 opérations fondamentales en Algèbre de Boole : NON, ET, OU.
00:02:47
Et ces opérations sont vraiment pratiques donc nous allons les voir individuellement.
00:02:51
NON prend une seule valeur booléenne, vrai ou faux, et l'inverse.
00:02:55
Il transforme vrai en faux et faux en vrai.
00:02:58
On peut écrire une petite table logique qui montre les valeurs d'entrées originale, et
00:03:01
celles de sorties après l'application de l'opération.
00:03:04
Maintenant, la partie cool - on peut facilement construire une logique booléenne à l'aide de transistors.
00:03:08
Comme nous l'avions vu dans le précédent épisode, les transistors ne sont réellement que des interrupteurs contrôlés électriquement.
00:03:13
Ils sont composés de 3 fils : deux électrodes et un fil de contrôle.
00:03:16
Lorsqu'on applique un courant électrique sur le fil de contrôle, il laisse le courant passer à travers
00:03:21
depuis une électrode, à travers le transistor, jusqu'à la seconde électrode.
00:03:24
C'est un peu comme un robinet sur un tuyau - quand on ouvre le robinet, l'eau s'écoule, quand on le ferme, l'eau s'arrête.
00:03:29
On peut utiliser le fil de contrôle comme une entrée et le fil sortant de l'électrode en bas comme une sortie.
00:03:34
Donc avec un seul transistor, nous avons une sortie et une entrée.
00:03:38
Si l'on active l'entrée, la sortie est également active car le courant peut passer au travers.
00:03:42
Si l'entrée est désactivée, la sortie l'est également et le courant ne passe plus au travers.
00:03:46
Ou en terme booléen, quand l'entrée est vraie, la sortie est vraie.
00:03:50
Et quand l'entrée est fausse, la sortie est fausse.
00:03:53
On peut aussi le montrer à l'aide d'une table logique.
00:03:55
Ce n'est pas très intéressant car le circuit ne fait pas grand chose - l'entrée et
00:03:58
la sortie sont identique.
00:04:00
Cependant, on peut juste un peu modifier le circuit pour créer un NON.
00:04:03
Au lieu d'avoir le fil de sortie après le transistor, on peut le déplacer avant.
00:04:07
Si on active l'entrée, le transistor fait passer le courant vers la "masse",
00:04:11
et le fil de sortie ne recevra aucun courant - il sera éteint.
00:04:14
Dans notre métaphore avec l'eau, mettre à la masse sera comme si toute l'eau de la maison coulait
00:04:17
à travers un gros tuyau afin qu'il n'y ait plus aucune pression pour la douche.
00:04:21
Dans ce cas, si l'entrée est activée, la sortie est inactive.
00:04:24
Lorsqu'on éteint le transistor, en revanche, le courant ne peut plus s'écouler vers la masse
00:04:28
et s'écoule donc vers le fil de sortie.
00:04:31
Donc l'entrée est inactive et la sortie est active.
00:04:34
Cela correspond à la table logique du NON, donc félicitations, nous venons de construire un circuit qui calcul NON!
00:04:38
Nous les appelons des portes NON - on les appelle des portes car elle contrôle le chemin que prend le courant.
00:04:43
L'opération booléenne ET prend deux entrées mais toujours qu'une seule sortie.
00:04:48
Dans ce cas, la sortie n'est vraie que si les deux entrées sont vraies.
00:04:51
Voyez le comme dire la vérité.
00:04:53
Vous n'êtes honnêtes que si vous ne mentez même pas un peu.
00:04:56
Par exemple, prenons l'assertion "Mon nom est Carrie Anne ET je porte une robe bleue".
00:05:01
Ces deux assertions sont vraies, l'ensemble de la proposition est donc vraie.
00:05:03
Mais si je dit "Mon nom est Carrie Anne ET je porte un pantalon", ça devient faux.
00:05:08
Parce que je ne porte pas un pantalon.
00:05:09
Ni un froc.
00:05:10
Si vous êtes en Angleterre.
00:05:11
La partie "Carrie Anne" est certes vraie, mais vrai ET faux, c'est toujours faux.
00:05:15
Si je voulais inverser cette assertion, elle serait toujours fausse, et si je voulais
00:05:19
vous dire deux mensonges complets, ça serait également faux, et encore une fois on peut écrire toutes
00:05:24
ces combinaisons dans la table.
00:05:25
Pour fabriquer une porte ET, nous aurons besoin de deux transistors connectés ensembles afin d'avoir nos deux entrées
00:05:30
et une sortie.
00:05:31
Si on active seulement le transistor A, le courant ne passe pas car il est stoppé par le transistor B.
00:05:36
Et inversement, si le transistor B est actif mais pas le transistor A,
00:05:40
idem, le courant ne passe pas.
00:05:41
Le fil de sortie n'a du courant que si le transistor A ET le transistor B son actifs.
00:05:46
La dernière opération booléenne est OU - où une seule des entrées doit être vraie pour que la sortie soit vraie.
00:05:51
Par exemple "mon nom est Hamilton OU je porte une robe bleue".
00:05:55
C'est une assertion vraie car même si je ne suis pas Margaret Hamilton, malheureusement,
00:05:59
je porte bien une robe bleue, dont l'ensemble de la proposition est vraie.
00:06:02
Une assertion OU est également vraie si les deux faits sont vrais.
00:06:06
La seule fois où l'assertion OU est fausse c'est quand les deux entrées sont fausses.
00:06:09
Construire une porte OU à partir de transistors requiert quelques fils supplémentaires.
00:06:12
Au lieu d'avoir deux transistors en série - l'un après l'autre - on les mets en parallèle.
00:06:17
On connecte la source de courant aux deux transistors.
00:06:20
On dessine un petit arc pour noter que les file passe l'un au dessus de l'autre et ne sont pas connectés,
00:06:24
même s'ils donnent l'impression de se croiser.
00:06:26
Si les deux transistors sont inactifs, le courant ne passe pas vers la sortie
00:06:30
donc la sortie est inactive.
00:06:32
Maintenant, si on active juste le transistor A, le courant passe vers sortie.
00:06:36
De même si le transistor A est inactif et le transistor B est actif.
00:06:39
En clair, si A OU B sont actifs, la sortie est active.
00:06:43
De plus, si les deux transistors sont actifs, la sortie est active.
00:06:47
OK, maintenant que nous avons les portes NON, ET, OU et que nous pouvons laisser derrière nous les transistors
00:06:52
les composant et prendre un niveau d'abstraction.
00:06:54
Le standard utilisé par les ingénieurs pour ces portes sont un triangle avec un point pour NON,
00:06:58
un D pour le ET, et un vaisseau spatial pour le OU.
00:07:01
Ce ne sont pas les nom officiels, mais c'est comme ça que je me les imagine.
00:07:03
Les représenter et y penser de cette manière nous permet de construire des composants encore plus grands
00:07:07
tout en gardant la complexité générale relativement identique - rappelez-vous seulement
00:07:11
que ce bazar de fils et de transistors est toujours là.
00:07:13
Par exemple, une autre opération booléenne très utile en informatique est appelé le OU eXclusif - ou XOR pour faire court.
00:07:20
XOR est comme un OU normal mais avec une différence, si les deux entrées sont vraies, XOR est faux.
00:07:26
La seule fois où XOR est vraie c'est quand une des entrées est vraie et que l'autre est fausse.
00:07:31
C'est comme lorsque vous allez diner et que le repas est accompagné d'une salade OU d'une soupe.
00:07:35
- malheureusement, vous ne pouvez avoir les deux!
00:07:36
Construire ceci à partir de transistors est assez confus, mais on peut montrer comment un XOR est créé
00:07:41
à partir de nos portes booléennes basiques.
00:07:43
On sait que nous avons encore deux entrées -A et B - et une sortie.
00:07:46
Commençons par une porte OU, vu que la table logique est presque identique à celle du OU.
00:07:50
Il n'y a qu'un problème - quand A et B sont vraie, la logique est différente par rapport au OU,
00:07:55
et la sortie doit être "fausse".
00:07:56
Pour faire cela, on a besoin de portes supplémentaires.
00:07:59
Si nous ajoutons une porte ET, et que les entrées sont toutes deux vraies, la sortie est vraie.
00:08:03
Ce n'est pas ce qu'on veut.
00:08:04
Mais si nous ajoutons un NON, tout de suite après, cette valeurs sera inversée à faux.
00:08:08
OK, à présent, si nous ajoutons une porte ET, et que nous connectons cette sortie et celle de
00:08:13
notre porte OU original, le ET prendra en entrée vrai et faux et comme ET a besoin des deux entrée à vrai
00:08:19
pour être vraie, sa sortie est fausse.
00:08:21
C'est la première ligne de la table logique.
00:08:22
Si nous essayons les combinaisons d'entrées restantes, on voit que ce circuit logique booléen
00:08:26
implémente effectivement un OU exclusif.
00:08:28
XOR s'avère être un composant très utile, et nous y viendrons dans dans un autre épisode,
00:08:33
tellement utilise qu'en fait les ingénieurs lui donnèrent son propre symbole - un porte OU avec un sourire :)
00:08:38
Le plus important est que maintenant nous pouvons mettre le XOR dans notre boîte à outil métaphorique et ne plus s'inquiéter
00:08:42
des portes logiques qui la constituent, ou des transistors qui font ces portes,
00:08:46
ou des électrons qui passent à travers un semi-conducteur.
00:08:49
Nous prenons un autre niveau d'abstraction.
00:08:51
Quand les ingénieurs en informatique conçoivent des processeurs, ils travaillent rarement au niveau des transistors,
00:08:55
et travaillent plutôt avec des blocs bien plus gros comme les portes logiques ou même des composants bien plus grands
00:08:59
composés de portes logiques et dont on parlera dans les prochains épisodes.
00:09:02
Et même si vous êtes un-e programmeur-se informatique professionnel-le, ce n'est pas souvent que vous réfléchissez
00:09:05
à comment la logique que vous programmez est implémentée dans le monde physique
00:09:09
par ces minuscules composants.
00:09:11
Nous avons également avancé depuis des signaux électriques bruts vers notre première représentation
00:09:15
de données - vrai et faux - et nous avons même eu un avant-goût du calcul informatique.
00:09:20
Avec seulement l'aide des portes logiques, dans cet épisode, nous avons pu construire une machine capable d'évaluer des assertions logiques complexes,
00:09:25
comme si "Nom est John Green ET après 17H OU est fin de semaine
00:09:29
ET proche de Pizza Hut", alors "John voudra une pizza" égal vrai.
00:09:33
Et maintenant, je suis affamé, à la semaine prochaine!