Attention, les symboles + et . ci-dessous ne correspondent pas à l'addition et la multiplication classique. Ils ne s'appliquent qu'à des termes booléens et l'addition réagit de cette façon :
1 + 1 = 1
1 + 1 + 1 = 1
AND
Le AND correspond à la multiplication booléenne : \({a.b}\)
OR
Le OR correspond à l'addition booléenne : \({a+b}\)
NAND
Le NAND est le complément du AND : \(\overline{a.b}\)
NOR
Le NOR est le complément du OR : \(\overline{a+b}\)
XOR
Le XOR : \(a \oplus b = a.\overline{b}+\overline{a}.b\)
L'informatique est basée de nos jours sur l'électricité et plus particulièrement l'électronique.
L'un des composants matériels de base des ordinateurs est le transistor. On le trouve dans toutes les parties de ces machines.
Survolons donc rapidement les notions que vous devriez connaître, à défaut de vraiment maitriser.
2.1 Courant électrique
Un courant électrique est dû à un mouvement global d'électrons. Les électrons se dirigent massivement dans la même direction. C'est l'analogie du courant d'eau où les molécules d'eau se dirigent globalement dans la même direction.
2.2 Intensité électrique
On caractérise l'importance d'un courant électrique par une grandeur algébrique
qu'on nomme intensité électrique
qu'on représente par la lettre I
qu'on mesure en Ampère
Pour information, 1A correspond au transport de plus de 6 milliards de milliards d'électrons par seconde. Plus facile de mesurer ça en Ampère non ?
2.3 Tension électrique
Un courant électrique est constitué d'électrons. Encore faut-il leur donner envie de bouger !
C'est là qu'intervient la tension électrique entre deux points, A et B par exemple. Plus la tension électrique entre deux points est grande, plus les électrons auront tendance à se déplacer.
C'est d'ailleurs la raison physique de l'existence des éclairs lors des orages : la tension électrique entre les deux zones devient tellement grande que les électrons parviennent à se déplacer alors que l'air est normalement un isolant électrique ! Il faut dire qu'on atteint plusieurs millions de Volt.
Une fois les électrons déplacés, la tension repasse sous le seuil où l'air est isolant. C'est fini, jusqu'à la recharge progressive et l'arrivée du prochain éclair.
On peut donc voir la tension électrique entre deux points A et B comme une mesure de la différence de charges électriques entre le point A et le point B.
On définit pour cela la tension électrique UAB = VA - VB où VA désigne le potentiel électrique du point A.
Tensions et potentiels se mesurent en VOLT.
On peut voir le potentiel électrique VA comme une mesure des charges électriques présentes au point A.
Ainsi une batterie possède bien
une borne + (on y trouve plus de charges électriques positives que de charges négatives) et
une borne - (on y trouve plus de charges électriques négatives que positives).
SI on permet aux électrons de se déplacer en plaçant un conducteur entre les deux, l'intensité électrique sera d'autant plus forte que la tension électrique est forte.
2.4 Pour information : tensions limites de danger
Le danger pour un être humain est bien la différence de tension entre deux points (main - pied par exemple).
Avec un système générant une tension continue
Milieu mouillé : sans danger si U < 30 V
Milieu humide : sans danger si U < 60 V
Milieu sec : sans danger si U < 120 V
Avec un système générant une tension alternative
Milieu mouillé : sans danger si U < 12 V
Milieu humide : sans danger si U < 25 V
Milieu sec : sans danger si U < 50 V (définition de la Très Basse Tension)
2.5 Résistance électrique
Loi d'Ohm
Un conducteur dit ohmique possède une caractéristique : il s'oppose au courant électrique sans être isolant.
On caractérise cette opposition au passage du courant continu par une grandeur algébrique
qu'on nomme résistance électrique
qu'on représente par la lettre R
qu'on mesure en Ohm (Ω)
Sur un tel conducteur, on peut utiliser la loi d'Ohm :
$$U = R.I$$
On peut déduire de la loi d'Ohm que pour une source de tension U constante, on a :
$$I = \frac{U}{R}$$.
Cela veut donc dire que plus la résistance électrique est grande, plus l'intensité électrique est petite. Logique.
Deux cas particuliers
Fil conducteur : R = 0
Un fil conducteur est conçu pour laisser passer le courant. On peut considérer que sa résistance est nulle en première approche.
D'après la loi d'Ohm, on en déduit facilement que U = 0.I = 0V.
Il n'existe donc aucune tension aux bornes d'un fil conducteur et la tension est intégralement retransmise : si l'un des côtés est à 5V, l'autre côté est à 5V également. En réalité, l'intégralité du fil est à 5V.
Résistor non parcouru par un courant : I = 0
Un résistor dont l'intensité I est nulle possède à ses bornes une tension U de 0V : U = R.0 = 0V.
Il se comporte donc comme un simple fil conducteur et on peut donc le remplacer mentalement par un fil.
01° Calculer la tension nécessaire pour établir une intensité de 0,002 A à travers un résistor de 2000 Ω.
...CORRECTION...
U = R . I = 2000 * 0.002
U = 4 V
02° Calculer l'intensité obtenue pour une tension continue de 5V et une résistance de 40 Ω.
Aucune connaissance n'est exigible sur les transistors en NSI. Toute cette partie n'est qu'un ensemble de connaissances de culture générale.
Le transitor est le composant électronique principal de tout ordinateur, que ce soit dans le processeur ou dans la mémoire.
3.1 Description du transistor
Dans le cadre de cette introduction à l'architecture interne d'un ordinateur, on peut voir le transistor comme un interrupteur commandé par une action électrique plutôt que mécanique.
Voyez le transistor comme un composant possédant 3 bornes :
une borne qui sert de commande. Selon la technologie du transistor, on doit y imposer un courant ou une tension.
deux autres bornes qui servent à laisser passer le courant, ou pas.
Il existe plusieurs technologies de transistors. En voici trois :
La technologie bipolaire à jonction, contrôlée par courant positif (dit Transistor NPN) ou négatif (dit Transistor PNP). Les trois bornes sont nommées B C E pour Base - Collecteur - Emetteur.
La technologie MOSFET (Field Effect Transistor, transistor à effet de champ), controlée par tension positive (dit à canal N) ou par tension négative (dit à canal P). Les trois bornes sont nommées G D S pour Grille Drain Source.
La technologie MOS, comportant à chaque fois un couple de transistors à canal N et à canal P.
3.2 Montage du transistor avec une entrée à 5V
Transistor bipolaire à jonction NPN
La borne de gauche est placée à 5V :
ce transistor est commandé en fermeture par un courant positif.
ici, le 5V d'entrée va bien provoquer l'apparition d'un courant positif.
le transistor est donc équivalent à un interrupteur fermé.
0V en sortie puisque la sortie est alors directement reliée à la masse (en bas) par un fil conducteur.
Transistor MOSFET à canal N
La borne de gauche est placée à 5V :
ce transistor est commandé en fermeture par une tension UGS positive entre sa borne G et S.
ici, UGS = 5-0 = 5V, une tension positive.
le transistor est donc ici équivalent à un interrupteur fermé.
0V en sortie puisque la sortie est alors directement reliée à la masse (en bas) par un fil conducteur.
3.3 Montage du transistor avec une entrée à 0V
Transistor bipolaire à jonction NPN
La borne d'entrée (à gauche) est placée à 0V :
ce transistor est commandé en fermeture par un courant positif.
ici, le 0V d'entrée ne provoque l'apparition d'aucun courant positif.
le transistor est équivalent à un interrupteur ouvert.
pas de courant dans le résistor du haut puisque le courant ne peut s'évacuer vers la masse. On a donc I = 0A dans le résistor
Puisque U = R.I, il y a U = 0V aux bornes du résistor qui se comporte donc comme un simple fil conducteur
la borne 5V est donc reliée à la sortie par un simple fil : 5V en sortie !
Transistor MOSFET à canal N
La borne de gauche est placée à 0V :
ce transistor est commandé en fermeture par une tension UGS positive entre sa borne G et S.
ici, UGS = 0-0 = 0V, une tension positive.
le transistor est équivalent à un interrupteur ouvert.
pas de courant dans le résistor du haut puisque le courant ne peut s'évacuer vers la masse. On a donc I = 0A dans le résistor
Puisque U = R.I, il y a U = 0V aux bornes du résistor qui se comporte donc comme un simple fil conducteur
la borne 5V est donc reliée à la sortie par un simple fil : 5V en sortie !
Bon, et c'est quoi le rapport avec l'informatique ?
3.4 Porte logique NOT avec le NPN ou le MOSFET canal N
On peut donc construire une porte logique NON à l'aide d'un transistor.
Voici comment on gère les états Vrai et Faux dans un ordinateur :
L'état HAUT (ou 1 ou True en Python) est encodé physiquement par une tension différente de 5V.
Techniquement, on prend plus large : toute tension supérieure à 2.5 V.
L'état BAS (ou 0 ou False en Python) est encodé physiquement par une tension de 0V. Techniquement, on prend plus large : toute tension inférieure à 2.5 V.
Etat
Nombre
Python
Tension
HAUT
différent de 0
True
U > 2.5 V (5V)
BAS
égal à 0
False
U < 2.5 V (0V)
Si on reprend les deux possibilités précédentes mais en plaçant les états True et False, on obtient ceci :
Nous venons de créer l'équivalent d'un NOT / NON.
C'est comme cela que l'UAL parvient à exécuter électroniquement un not de Python :
Première opération possible pour l'UAL : l'inversion ou le complément.
(Rappel) Table de vérité du NON
On considère une expression booléenne notée a et une valeur booléenne de sortie notée s.
Voici la table de vérité du NON :
En version FAUX / VRAI
Expression a
Sortie s
FAUX
VRAI
VRAI
FAUX
En version 0 / 1
Expression a
Sortie s
0
1
1
0
4.1 Créer électroniquement un NON
A - Avec un transistor bipolaire ou mosfet
Au début de la généralisation des microprocesseurs, les circuits étaient conçus à l'aide des deux technologies susnommées.
Ce qui amène à ces deux cas possibles en fonction de l'état de l'entrée :
B - Technologie CMOS
C'est le cas des portes logiques actuelles. On utilise un ou des couples de transistors : l'un avec un canal N, l'autre avec un canal P (même symbole mais un rond en entrée pour symboliser l'inversion de fonctionnement).
Canal N
Canal P
Symbole
Interrupteur fermé entre DS si sa tension UGS est
UGS > 0
UGS < 0
Interrupteur ouvert entre DS si sa tension UGS est
UGS ≤ 0
UGS ≥ 0
Voici le montage à réaliser pour obtenir un NON :
Entrée à 5V
Pour le canal P du haut : UGS = 5-5 = 0V : se comporte comme un interrupteur ouvert.
Pour le canal N du bas : UGS = 5-0 = 5V : se comporte comme un interrupteur fermé.
Entrée à 0V
Pour le canal P du haut : UGS = 0-5 = -5V : se comporte comme un interrupteur fermé.
Pour le canal N du bas : UGS = 0-0 = 0V : se comporte comme un interrupteur ouvert.
L'avantage du montage CMOS est liée à l'absence du résistor de dissipation, encombrant physiquement et thermiquement.
4.2 Symbole
Symbole dans un schéma électrique
On note 1 à l'intérieur de la boîte qui ne possède qu'une entrée unique a. Pour indiquer qu'on inverse la sortie par rapport au OUI, on rajoute un rond ou une barre oblique sur la sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple inverseur sur un unique bit
4.3 NON bit à bit : complément
Un processeur X bits est capable de manipuler X bits d'un seul coup.
Sur l'exemple ci-dessus, l'UAL 8 bits est donc capable d'inverser en une opération les 8 bits d'un octet.
Le AND n'est VRAI que si toutes les expressions d'entrée sont VRAIES.
Le NAND n'est FAUX que si toutes les expressions d'entrée sont VRAIES.
Avec 2 expressions :
Expression a
Expression b
a NAND b
FAUX
FAUX
VRAI
FAUX
VRAI
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
FAUX
5.1 Créer électroniquement un NAND
A - Technologie TTL (avec des transistors bipolaires)
On peut réaliser un NAND avec deux transistors en série :
Le schéma de principe (la différence avec le AND vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Lors des trois premiers cas, aucun courant ne peut circuler dans le résistor du haut : il se comporte comme un fil et la tension 5V se retrouve en sortie.
Sur le dernier cas, le 0V se retrouve en sortie et le résistor chauffe.
B - Technologie CMOS (avec des couples de MOSFET N et P)
Les 4 cas possibles :
5.2 Symbole du NAND
Symbole dans un schéma électrique
On symbolise le NON-ET comme une porte logique ET en rajoutant le cercle symbolisant qu'on complémente (inverse) l'état de sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple NAND 2 entrées d'un bit
03° Trouver les deux opérateurs logiques qu'on parvient à simuler en combinant des portes logiques NAND de cette façon.
...CORRECTION...
Dans le premier cas, il s'agit d'un NON puisque le montage parvient à inverser l'entrée.
Le schéma en notation européenne donne ceci :
Pour le deuxième, c'est un ET : on voit que la réponse est réalisée en deux temps.
Le premier NAND permet de réaliser une fonction NAND.
Le second NAND permet de réaliser une fonction NOT.
Avec des explications sur les schémas :
04° En utilisant la table de vérité du AND, démontrer a NAND a = NOT a.
...CORRECTION...
On place deux fois la même valeur a sur les deux entrées du NAND.
Expression a
Expression b
a NAND b
FAUX
FAUX
VRAI
FAUX
VRAI
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
FAUX
La seule utilisation de la table de vérité dans laquelle b = a permet de voir qu'on a bien une inversion avec les deux seuls cas possibles.
05° Démontrer NOT(a NAND b) = a AND b en utilisant simplement la définition du NAND et le fait que deux négations successives revient à ne pas avoir de négation.
...CORRECTION...
La démonstration attendue
On obtient NON (a NAND b) = NON ( NON (a AND b)) = a AND b
Avec des explications sur les schémas :
La démonstration algébrique
Le circuit peut s'écrire algébriquement \(\overline{\overline{a.b}}=a.b \)
5.3 NAND X bits
NAND sur X bits
On applique une entrée de X bits à un NAND acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
Cette porte logique répond FAUX si et seulement si tous les bits sont à 1.
La question est donc "L'octet d'entrée est-il différent du maximum ?"
Porte logique AND
(Rappel) Table de vérité du ET
Le ET n'est VRAI que si toutes les expressions d'entrée sont VRAIES.
Avec 2 expressions :
Expression a
Expression b
a ET b
FAUX
FAUX
FAUX
FAUX
VRAI
FAUX
VRAI
FAUX
FAUX
VRAI
VRAI
VRAI
Avec 3 expressions :
Expression a
Expression b
Expression c
a ET b ET c
FAUX
FAUX
FAUX
FAUX
FAUX
FAUX
VRAI
FAUX
FAUX
VRAI
FAUX
FAUX
FAUX
VRAI
VRAI
FAUX
VRAI
FAUX
FAUX
FAUX
VRAI
FAUX
VRAI
FAUX
VRAI
VRAI
FAUX
FAUX
VRAI
VRAI
VRAI
VRAI
5.4 Créer électroniquement un AND
A - Technologie TTL (avec des transistors bipolaires)
On peut réaliser un AND à partir de deux transistors en série :
Le schéma de principe (la différence avec le NAND vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Lors des trois premiers cas, aucun courant ne peut circuler dans le résistor du bas : il se comporte comme un fil et la tension 0V se retrouve en sortie.
Sur le dernier cas, le 5V se retrouve en sortie et le résistor chauffe.
B - Technologie CMOS (avec des couples de MOSFET N et P)
Malheureusement, on ne peut pas vraiment être aussi symétrique qu'avec le NAND.
Le plus simple est de prendre le montage d'un NAND et d'INVERSER la sortie.
5.5 Symbole et propriétés du AND
Symbole dans un schéma électrique
On symbolise le ET comme un carré avec un &.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple AND 2 entrées d'un bit
Propriété : associativité
On notera qu'on peut vérifier facilement la propriété d'associativité du ET : on peut calculer s = a . b . c comme on le veut.
s = a . b . c = (a . b) . c = a . (b . c)
En commençant par a ET b : ( a . b ) . ( c )
En commençant par b ET c : ( a ) . ( b . c )
Commutativité
On peut vérifier facilement la commutativité du ET.
Il s'agit de la propriété qui précise que a ET b est identique à b ET a.
Mathématiquement, cela donne s = a . b = b . a
5.6 AND bit à bit
AND sur X bits
On applique une entrée de X bits à un AND acceptant X bits en entrée. Il fournit un seul bit de réponse.
La porte logique répond VRAI si et seulement si tous les bits sont à 1.
La question est donc "L'entrée est-elle au maximum (composée intégralement de 1) ?"
AND Bit à Bit
On a deux entrées comportant chacune X bits.
On applique AND sur chaque couple de bits ayant le même poids.
On obtient un bit de sortie à 1 indique que les deux bits correspondant des entrées sont à 1.
06° Aller sur https://logic.modulo-info.ch/ (ou utiliser le schéma ci-dessous) puis réaliser un AND 8 bits à l'aide du schéma fourni pour réaliser un AND 4 bits.
Remarques :
L'entrée 8 bits peut être obtenue en prenant l'entrée 4 bits (mult IN) qu'on peut transformer en entrée 8 bits avec clic droit + nombre de bits
Le OR n'est FAUX que si toutes les expressions d'entrée sont FAUSSES.
Le NOR n'est VRAI que si toutes les entrées sont FAUSSES.
Avec 2 expressions :
Expression a
Expression b
a NOR b
FAUX
FAUX
VRAI
FAUX
VRAI
FAUX
VRAI
FAUX
FAUX
VRAI
VRAI
FAUX
6.1 Créer électroniquement un NOR
A - Technologie TTL (avec des transistors bipolaires)
On peut réaliser un NOR avec deux transistors en parallèle :
Le schéma de principe :
Les 4 cas possibles :
Sur le premier cas, aucun courant ne peut circuler dans le résistor du haut : il se comporte comme un fil et la tension 5V se retrouve en sortie.
Sur les autres cas, le 0V se retrouve en sortie et le résistor chauffe.
B - Technologie CMOS (avec des couples de MOSFET N et P)
Les 4 cas possibles :
6.2 Symbole du NOR
Symbole dans un schéma électrique
On symbolise le NON-OU comme une porte logique OU en rajoutant le cercle symbolisant qu'on complémente (inverse) l'état de sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple NOR 2 entrées d'un bit
6.3 NOR X bits
NOR sur X bits
Il s'agit d'appliquer une entrée de X bits à un NOR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond VRAI si et seulement si tous les bits sont à 0.
On pose la question "L'entrée est-elle à 0 ?"
NOR Bit à Bit
On a deux entrées comportant chacune X bits.
On applique NOR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 1 indique que les deux bits correspondant des entrées est à 0.
Porte logique OR
(Rappel) Table de vérité du OU
Le OU n'est FAUX que si toutes les expressions d'entrée sont FAUSSES.
Avec 2 expressions :
Expression a
Expression b
a OU b
FAUX
FAUX
FAUX
FAUX
VRAI
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
VRAI
Avec 3 expressions :
Expression a
Expression b
Expression c
a OU b OU c
FAUX
FAUX
FAUX
FAUX
FAUX
FAUX
VRAI
VRAI
FAUX
VRAI
FAUX
VRAI
FAUX
VRAI
VRAI
VRAI
VRAI
FAUX
FAUX
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
VRAI
VRAI
Remarquez bien que ce OU ne correspond pas au OU usuel du Français : la plupart du temps, on veut dire que l'UNE des choses est possible à la fois. Ici, toutes peuvent être vraies en même temps également.
6.4 Créer électroniquement un OR
A - Technologie TTL (avec des transistors bipolaires)
On peut réaliser un OR à partir de deux transistors en parallèle :
Le schéma de principe (la différence avec le NOR vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Sur le premier cas, aucun courant ne peut circuler dans le résistor. La sortie est alors à 0V.
Lors des trois autres cas, la sortie est à 5V.
B - Technologie CMOS (avec des couples de MOSFET N et P)
Malheureusement, on ne peut pas vraiment être aussi symétrique qu'avec le NOR.
Le plus simple est de prendre le montage d'un NOR et d'INVERSER la sortie.
6.5 Symbole et propriétés du OR
Symbole dans un schéma électrique
On symbolise le OU comme un carré avec >=1.
Pourquoi >=1 : on peut considérer que tout ce qui n'est pas 0 est donc VRAI.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple OR 2 entrées d'un bit
Propriété : associativité
On notera qu'on peut vérifier facilement la propriété d'associativité du OU : on peut calculer s = a + b + c
En commençant par a OU b : ( a + b ) + ( c )
En commençant par b OU c : ( a ) + ( b + c )
Commutativité
On notera d'ailleurs qu'on peut vérifier facilement la commutativité du OU.
Il s'agit de la propriété qui précise que a OU b est identique à b OU a.
Mathématiquement, cela donne s = a + b = b + a
6.6 OR X bits
OR sur X bits
Il s'agit d'appliquer une entrée de X bits à un OR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond FAUX si et seulement si tous les bits sont à 0.
On pose la question "L'entrée est-elle différente de 0 ?"
OR Bit à Bit
On a deux entrées comportant chacune X bits.
On applique OR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 0 indique que les deux bits correspondant des entrées est à 0.
07° Aller sur https://logic.modulo-info.ch/ et réaliser une porte OR en utilisant uniquement une porte NOR, une porte INVERSEUR.
Vous prendrez deux entrées IN pour simuler a et b
Vous visualiserez le résultat en utilisant le capteur OUT.
...CORRECTION...
Porte logique XOR
(Rappel) Table de vérité du OU EXCLUSIF (XOR)
Le XOR n'est VRAI que si UNE UNIQUE EXPRESSION d'entrée est VRAIE.
Le X du XOR vient du X de eXclusif.
Ce OU correspond au OU usuel du Français : fromage ou dessert ?
Avec 2 expressions :
Expression a
Expression b
a XOR b
FAUX
FAUX
FAUX
FAUX
VRAI
VRAI
VRAI
FAUX
VRAI
VRAI
VRAI
FAUX
Avec 3 expressions :
Expression a
Expression b
Expression c
a XOR b XOR c
FAUX
FAUX
FAUX
FAUX
FAUX
FAUX
VRAI
VRAI
FAUX
VRAI
FAUX
VRAI
FAUX
VRAI
VRAI
FAUX
VRAI
FAUX
FAUX
VRAI
VRAI
FAUX
VRAI
FAUX
VRAI
VRAI
FAUX
FAUX
VRAI
VRAI
VRAI
FAUX
6.7 Créer électroniquement un XOR
Comme les autres portes logiques, on peut créer un XOR soit avec la technologie TTL, soit avec la technologie CMOS.
Néanmoins, dans un cas comme dans l'autre, le schéma de principe est assez conséquent, notamment car il faut utiliser à la fois les entrées a et b mais également obtenir leurs compléments avec des inverseurs.
Je ne présente donc pas ici le schéma de principe, même s'il existe. Nous verrons par contre comment construire un XOR en utilisant les autres portes, ce qui permettra d'obtenir un schéma compréhensible.
En conclusion, les portes XOR existent et utilisent à la fois des montages parallèles, séries et inverseurs.
6.8 Symbole du XOR
Symbole dans un schéma électrique
On symbolise le XOR comme un carré avec =1.
Pourquoi =1 : il faut que la somme donne exactement 1 pour obtenir VRAI en sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Exemple XOR 2 entrées d'un bit
6.9 XOR X bits
XOR sur X bits
Il s'agit d'appliquer une entrée de X bits à un XOR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond VRAI si l'entrée comporte un nombre IMPAIR de bits à 1.
XOR Bit à Bit
On a deux entrées comportant chacune X bits.
On applique XOR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 1 indique que les deux bits correspondant sont différents sur les deux entrées.
Une réponse ne comportant que des "1" indique que les deux entrées n'ont aucun bit en commun.
Une réponse ne comportant que des "0" indique que les deux entrées sont identiques.
08° Aller sur https://logic.modulo-info.ch/ (ou utiliser le schéma ci-dessous) puis réaliser une porte XOR à 8 bits d'entrée en continuant le schéma proposé. Vous devriez comprendre pourquoi la sortie n'est sur VRAI que s'il y a un nombre impair de 1 en entrée.
Si on regarde la colonne jaune, on obtient bien (0 XOR 1) = 1
Si on regarde la colonne bleue, on obtient bien (1 XOR 1) = 0
Si on regarde la colonne verte, on obtient bien (1 XOR 0) = 1
12° En terminal NSI, l'une des parties permet d'aborder le chiffrement des données, la "cryptographie". Or, on y utilise énormement le XOR. Si l'UAL sait réaliser cette opération rapidement à l'aide d'une porte logique, le calcul sera bien entendu rapide. Voyons comment cela fonctionne :
On veut envoyer le message "Bonjour" avec une clé valant 124 par exemple.
Trouver chaque valeur ASCII du mot "Bonjour" en utilisant la fonction native ord() pour trouver la valeur encodant chaque caractère. Pour le premier : ord('B') qui donne 64.
Transformer ensuite le nombre obtenu à l'aide d'un XOR entre votre nombre et la clé 124. Pour le premier : 64 ^ 124 qui donne 62.
Fournir alors la suite de nombres chiffrés qui représente le message "Bonjour" : 62 ...
...CORRECTION...
ord('B') donne 66 et 66^124 donne 62
ord('o') donne 111 et 111^124 donne 19
ord('n') donne 110 et 110^124 donne 18
ord('j') donne 106 et 106^124 donne 22
ord('o') donne 111 et 111^124 donne 19
ord('u') donne 117 et 117^124 donne 9
ord('r') donne 114 et 114^124 donne 14
62 - 19 - 18 - 22 - 19 - 9 - 14
13° Pour décoder le message, il faut connaître la valeur de la clé.
Appliquer un XOR entre chaque nombre caractère chiffré et 124 pour retrouver le code du caractère en clair.
Par exemple, pour le premier : 62 ^ 124 donne 66.
Utiliser la fonction native chr() pour retrouver le caractère correspondant. Par exemple : chr(66) donne 'B'.
...CORRECTION...
n^124 vaut 66 et chr(66) donne B
n^124 vaut 111 et chr(111) donne o
n^124 vaut 110 et chr(110) donne n
n^124 vaut 106 et chr(106) donne j
n^124 vaut 111 et chr(111) donne o
n^124 vaut 117 et chr(117) donne u
n^124 vaut 114 et chr(114) donne r
14° Utiliser ce schéma qui permet de voir comment l'UAL via ces circuits peut chiffrer puis tenter de déchiffrer les bits d'un message.
Pour rendre le circuit compréhensible, on se limite ici à 4 bits mais cela ne change rien au principe : avec une machine 8, 16, 32 ou 64 bits, il a juste plus de portes.
Utilisation
Utiliser des clés différentes pour chiffrer et déchiffrer pour visualiser qu'on ne peut déchiffrer correctement le message que si on connaît la valeur de la clé qui a permis le chiffrement.