Bon au début je voulais parler des processeurs mais très vite je me suis dit qu’il fallait des bases sur comment fonctionne l’informatique au plus bas niveau.
Cette chronique est un peu un essai, si ce genre d’explication détaillée vous plait, je continuerai sur le principe dans les mois à venir, sinon je resterai hyper grand public et plus large.
Pour commencer, ne stressez pas :
Si vous décrochez un peu durant cette chronique, ce n’est pas grave, il n’y a pas besoin de TOUT retenir en détail.
Le but est d’avoir des “notions”
Si vous comprenez “vaguement le principe” c’est très largement suffisant.
Pour ceux qui le voudront, le pdf de cette chronique sera disponible (pour une fois).
A la fin de cette chronique, vous saurez donc “vaguement” comment on fait marcher une partie d’un afficheur LCD 7 segments (oui, le truc qui forme un 8 avec des bouts qui s’allument, comme un vieux radio réveil)
=> Il s’appelle 7 segments car il est composé de 6 barres (ou segments) qui font le pourtour et d’une horizontale au milieu)
Pour ça on aura besoin de 2 choses :
connaître le binaire et savoir compter en binaire
apprendre la “logique” au sens informatique
savoir mettre en place cette logique avec des “outils” dédiés.
LE BINAIRE
Pourquoi on fait de l’informatique avec le binaire?
Parce que l’informatique c’est basé sur de l’électricité comme celle que vous avez vu en techno ou physique.
1 = courant passe
0 = pas de courant
ça peut être une lumière éteinte ou allumée, un interrupteur ouvert ou fermé
Pour simplifier l’écriture on met juste 0 ou 1.
D’où binaire, car il y a 2 positions, 2 valeurs.
On l’appelle aussi la base 2 (parce qu’il n’y a que 2 possibilités de base)
On peut donc compter en binaire. L’intérêt étant de pouvoir
donner à la machine une valeur avec des combinaisons d’interrupteurs
faire représenter par la machine un chiffre (le résultat) avec des combinaisons d’ampoules
C’est pour ça que ça a été inventé à la base d’ailleurs.
Comment ça marche?
Vous avez l’habitude de la base 10, le décimal, qui a 10 valeurs possibles: 0123456789
Le principe est simple: on compte de 0 à 9 puis on incrémente le chiffre devant pour passer à la dizaine suivante et quand on arrive à 99 on re incrémente le chiffre devant.
Pour visualiser mieux le principe, on va imaginer comme un vieux compteur kilométrique de voiture ou un compteur d’eau ou d'électricité
Lorsque la roue la plus à droite arrive à 9, elle entraîne une seconde roue à sa gauche et la passe au chiffre suivant et ainsi de suite.
Le binaire c’est la même chose, mais au lieu de 0 à 9 on ne va que de 0 à 1.
On va donc compter ensemble de 0 à 10 en binaire:
0=>0000
1=>0001 (vous suivez? ça va se compliquer...)
2=>0010 (la roue primaire revient à zéro et on ajoute 1 à la roue d’à côté)
3=>0011
4=> 0100 (la roue primaire revient à zéro et on ajoute 1 à la roue d’à côté qui revient elle aussi à zéro et entraine une 3e roue)
5=> 0101
6=> 0110
7=> 0111
8=> 1000 (la roue primaire revient à zéro et on ajoute 1 à la roue d’à côté qui revient elle aussi à zéro et entraine une 3e roue qui elle aussi revient à 0 et entraine une 4e roue)
9=> 1001
10=>1010
Maintenant que nous avons appris la base de la base du langage de base des ordinateurs, gardez ça en tête pour la fin.
LA LOGIQUE
On va passer à ce qui fait l'intérêt d’un ordinateur: sa capacité à activer ou ne pas activer des trucs selon ce qu’on lui envoie comme information à l’initiale.
Cette transforation se fait selon une certaine logique
Exemple de logique :
Sur le radio réveil, prenons d’exemple d’un des segments : celui non activé quand ça écrit 9, en bas à gauche.
On veut que ce segment ne s’active que lorsque le chiffre à afficher est 0, 2, 6 ou 8 et qu’il soit non activé pour les autres.
(Les autres fonctionnent sur le même principe avec des nombres différents)
Et pour représenter cela, cet énoncé logique, on utilise des “portes logiques”.
Une porte logique c’est ce qui va donner (en sortie) un état 0 ou 1 prédéterminé en fonction du ou des signaux 0 ou 1 qu’on lui envoie en entrée.
C’est avant tout une construction mentale, un outil théorique qui peut avoir plusieurs réalisations physiques.
Il y a les portes standards pour répondre à toutes les fonctions de base. Elles peuvent être reliées à des variables (les entrées) et entre elles.
On va en présenter quelques unes
Pour ceux qui n’ont pas le tableau sous les yeux on peut y voir Nom, le symbole, le schéma électrique équivalent et surtout le plus important pour nous LA TABLE DE VERITE-TE-TE (écho)
Alors on dirait un truc de ouf, c’est vrai que le nom est assez badass mais en fait c’est juste l’état de la sortie en fonction des entrées
exemples : porte OUI, NON, ET, OU, OU EXCLUSIF
Ils y en a d’autres mais à priori on peut tout créer à partir de ces portes...
APPLICATIONS
Easy:
l’interrupteur des toilettes
=> c’est une porte OUI
Mais si on prend en compte l’ensemble de l’installation électrique de la maison avec le disjoncteur => l’ampoule des toilettes est connectée (selon votre interprétation)
à une porte ET (il faut que le disjoncteur ET l’interrupteur laissent passer le courant)
Mais on peut imaginer que le disjoncteur, quand il est “activé” en fait il fait sauter le courant puisque c’est son rôle.
du coup il faut l’interrupteur activé ET le disjoncteur non activé.
=> l’ampoule des toilettes est connectée
à une porte ET, elle-même reliée à l’interrupteur et reliée à une porte NON qui est relié au disjoncteur.
Exercice 1
la domotique la plus low tech du monde: les interrupteurs de couloir dit “va et vient”
On ne se concentrera pas sur comment c’est fait en vrai avec des câbles mais juste la logique à laquelle ça répond.
Table de vérité :
Circuit va-et-vient
=> A ou B mais pas A et B
on cherche une correspondance de table de vérité dans le tableau
=> A “ouexclusif” B
Comment on fait avec 3 variables, vu que les portes n’ont que 2 entrées?
On peut exprimer la logique comme le tableau de tout à l’heure mais aussi l’écrire sous une forme type algèbre et y mettre des parenthèses.
Donc prenons A.B.C c’est pareil que (A.B).C ou A.(B.C)
de même A+B+C = (A+B)+C ou A+(B+C)
Et allons un peu plus loin:
(A.B.C)+(A./B./C)= A.((B.C)+(/B./C))
C’est ce qu’on appelle la logique booléenne si vous voulez en savoir plus, allez sur Google !
en résumé : les ET se comportent comme les multiplications et les + comme des additions… il y a bien sur d’autres règles plus subtiles, mais je dois faire vite.
Alors c’est parti pour 3 interrupteurs :
Exercice 2
Circuit va-et-vient v2
=> tous ou exclusivement ⅓ .
[A.(B.C) ]+ [A⊕(B⊕C)]
Du coup avec 5 portes logiques, on peut faire marcher le système :
Exercice 3
Le radio-réveil (mais qu’on va pas faire jusqu’au bout) :
Bon, on est super chauds ?
Les plus réveillés d’entre vous auront décelé que les tables de vérité, au final, c’est un état de sortie en fonction d’un nombre compris entre 00=>0 et 11=>3
Donc si on partait sur 3 entrées, on pourrait compter de 000=>0 à 111=>7
ET si on partait sur 4 entrées, on pourrait compter de 0000=>0 à 1111=>15
Ce “nombre d’entrée” on peut ‘appeler le “nombre de bits” il est essentiel car il détermine le nombre de combinaisons en entrée :
1 bit c’est 2 combinaisons possibles (01)
2 bits c’est 8 combinaisons possibles (01234567)
4 bits c’est 16 combinaisons possibles (0123456789 10 11 12 13 14 15)
Donc si on veut compter de 0 à 10… il faut au minimum un système avec 4 bits en entrée.
Pour simplifier l’exercice, on ne va pas programmer tout l’affichage mais 1 seul chiffre à afficher.
Pour simplifier encore, on ne va pas programmer tout le chiffre mais juste la fameuse barre qui reste éteinte lorsque s’affiche “9”, donc en bas à gauche.
Elle ne s’allume qu’à 4 valeurs décimales: pour 0, 2, 6 et 8
Donc selon des états bien définis de A0, A1 A2 & A3, respectivement 1er, 2e, 3e et 4e chiffre du nombre codé en binaire en partant de la droite.
De là comme pour les interrupteurs, on en tire les expressions logiques correspondant aux 4 moments où la barre est activée
on factorise, réduit le plus possible et HOP, on construit le circuit avec les portes.
On répète ça (avec les mêmes entrées A 0 à 3 évidemment) pour toutes les 7 barres de l’afficheur 7 segments et vous avez un afficheur qui traduit visuellement une valeur binaire en nombre décimal.
Alors on est assez loin d’un microprocesseur, à ce niveau-là on parle de “circuits intégrés” voir vulgairement de “puce électronique”.
Ces composants contiennent ces portes logiques et on relie avec un circuit imprimé ces puces entre elles.
Maintenant, imaginez une puce où il y aurait des milliards de ces portes logiques, avec dans un coin une zone de mémoire pour stocker les valeurs pour ensuite y faire appel plus tard (du coup pouvoir agir selon un état précédent) et avec des cycles temporisés par une certaine fréquence...
On abordera ces fameuses puces le mois prochain et selon vos retours, soit on survolera le sujet, soit on ira dans le détail comme ici. Vous décidez !
Un grand merci à Oasis et à Mamancanard pour leur aide et leurs retours, la chronique aurait été beaucoup moins digeste sans eux^^