Si vous pouvez lire cette note,
c'est que votre navigateur refuse d'exécuter les JavaScripts.


De nombreuses fonctionnalités utiles de cette page
sont dès lors dévalidées.

Pär exemple, des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur de souris
sur des icônes telles que
          
Pour des raisons de sécurité, certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript) .


Des précieuses informations, aidant à comprendre,
à se repérer, à étendre ses connaisances sont alors perdues.
Ainsi que les réponses aux exercices,


AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES SCRIPTS !


Ce site n'a aucun but commercial !
Il ne dépose pas de cookies !

Préambule :
Qu'entend-on par
"Le numérique",
" Données numériques"
? ? ?

PAGE D'ACCUEIL
DU SITE

Choix par Menu ou Parcours Séquentiel
Ici débute la série:
  
Unité Centrale

 

Préambule

Le mot "numérique" ou, son synonyme "digital" ainsi que le concept d ' "Intelligence artificielle"
ont envahi les media, le langage des journalistes, économistes, hommes politiques, etc.

Présentés comme la Fée Clochette, Carabosse ou la Lampe d'Aladin qu'il suffit de savoir frotter
pour qu'apparaisse le Génie qui va tout faire pour vous
sans que vous ayez à le payer du moindre effort !

Non, il n'y a pas de "Génie Numérique".
Pas plus qu'il n'y a d'intelligence dans ces objets dits "numériques",
ordinateurs, tablettes, téléphones, etc.
sinon celle des humains qui les ont conçus et programmés.

Cette page a pour objectif de démytifier ces phantasmes envahissants et trompeurs.

Les appareils informatiques ne sont que des automates !

Ils peuvent nous étonner par l'extrême rapidité à effectuer des calculs complexes
ou par la précision de leurs actions. Mais ce ne sont que des automates...

Les élever au statut des Dieux pourrait être une funeste erreur de l'Humanité.
Nombre d'accidents ont prouvé que le programmeur ne se rend pas toujours compte de toutes les situations
auxquelles son automate peut être confronté.
Devant certaines de ces situations non prévues un automate peut créer le chaos.

Note littéraire

Dès 1966, le romancier de science-fiction projective Isaac Asimov
mettait en scène un futur monde de robots et s'était déjà préoccupé
de leur coexistence avec les hommes en énonçant les trois lois de la robotique.

  1. Un robot ne peut porter préjudice à un être humain, ou, par inaction, laisser un être humain subir un préjudice.

  2. Un robot doit obéir aux ordres qui lui sont donnés par des êtres humains, sauf dans le cas où de tels ordres entrent en conflit avec la Première Loi.

  3. Un robot doit protéger sa propre existence aussi longtemps qu'une telle protection n'entre pas en conflit avec la Première ou la Seconde Loi


Plusieurs question se posent :

  • qui a programmé ces robots ?
  • dans quel but ?
  • en quels termes leur a-t-on indiqué les notions du "bien" et du "mal"
    dans la société génétiquement concurrentielle des humains. ?

Que désigne-t-on exactement par "Le numérique" ?
Une première présentation schématique.

Toutes les machines faisant appel à l'informatique :
ordinateurs, tablettes, téléphones mobiles, modules GPS, automatismes domestiques ou industriels, etc...
sont tous construits autour d'une Unité Centrale de Traitement ( UCT ou UC ; CPU Central Processing Unit)
parfois nommée "microprocesseur" vu sa miniaturisation sous forme de circuit intégré .

C'est cette Unité Centrale qui réalise la totalité des actions que l'on attend de l'appareil qui l'abrite.

Voici l'aspect de deux UC très répandues.

UC sous forme de Circuit Intégré ( CI ; IC Integrated Circuit)
Dimernsions : 3 à 5 cm.

Observez l'existence de très nombreuses bornes
par lesquelles l'UC peut recevoir ou émettre des signaux électriques.

Ces bornes (appelées "broches"),
peuvent être soudées sur la carte à circuits imprimés
qui supporte et relie électriquement entre-eux
les divers composants électroniques de la machine.
(image de gauche)

Image de droite :
l'UC peut être insérée ("embrochée") sur un support ( Socket )
lui-même soudé sur le circuit imprimé
de l'appareil qu'elle pilote : ordinateur, tablette, téléphone portable, etc....
de manière à pouvoir être rapidement remplacée si elle défaille.

 

Mais que fait au juste l'Unité Centrale de Traitement ?

Réponse : des calculs, uniquement des calculs !

Ces calculs se font, forcément, sur des nombres.

Ces machines sont donc exclusivement alimentées par des nombres
et nous retournent les résultats de leurs calculs sous forme de nombres !

Voilà l'explication du qualificatif "Numérique"
que l'on rattache à toutes les techniques et appareils informatiques,
c.à.d. contrôlés par une UC.

Cela peut sembler paradoxal.
L'informatique présente de telles réalisations qu'elle semble avoir acquis des qualités presque-humaines.
Reconnaissance des visages.
Robots obéissant à des ordres vocaux. Dotés de voix pour répondre
Faces humaines animées par des expressions de joie, de tristesse, etc.
Intelligences artificielles.
etc.
Tout cela serait géré uniquement par des nombres ?

Nous allons montrer que oui.
Mais nous découvrirons tout cela progressivement.



Un peu d'histoire ...

Le principe de toutes les machines informatiques actuelles gérées par une UC
a été imaginé par Alan Turing pendant la guerre mondiale 1939-1944.
Un peu d'histoire ?

Le principe de la Machine de Turing consistait
à créer un automate (mécanique, électrique, peu importe) composé de de deux parties essentielles :

  1. Un calculateur : l ' ALU ( Arithmetical & Logical Unit)
    capable d'effectuer les quatre opérations mathématiques de base :
    additionner, soustraire, multiplier, diviser

    plus quelques autres opérations dites "de logique" du type :
    " le nombre 'a' est-il égal, supérieur, ou inférieur à 'b' ? ", etc...
    Supplément d'information ici :

  2. Une unité de contrôle ( Control Unit)
    Elle a pour fonction de lire & exécuter de programmes.

    Vous avez dit "programmes" ?

    Il est évident qu'un automate ne peut pas deviner ce qu'on atend de lui.
    Un humain doit, d'une manière ou d'une autre, lui indiquer :

    • Quelles opérations il doit effectuer
    • Sur quels nombres (opérandes )
    • Dans quel ordre

    Ces ordres de calculs (instructions) constituent ce que l'on nomme un un programme.
    Un programme est préalablement écrit par un Programmeur / euse

    Lae programmeur(se) établit une liste de ces opérations
    dans l'ordre dans lequel elles doivent être effectuées,
    ainsi que des opérandes sur lesquels elles doivent porter.

    Un programme qui n'est autre qu'une liste d'instructions que l'UC devra exécuter.

    Bien entendu, ce programme doit être livré à la machine dans un langage compréhensible par elle.Nommé "code machine" .

    A chaque instruction correspond un code (un ou une suite de binaires de n bits).
    "n" dépendant du modèle d'UC utilisé : 8 , 16 , 32 , 64 bits...etc.

    Vue la très grande rapidité d'exécution de l'UC, il serait en effet impensable et stupide de lui fournir ces instructions une par une à la main !

                                                            

    On enregistre donc, dans l'ordre, l"ensemble des instructions du programme
    en codes-machine (binaires de n bits) sur un support accessible à l'UC.
    Le support le plus adéquat actuellement est un circuit intégré nommé MÉMOIRE.
    Le plus souvent une batterie de mémoires.

    L'UC, dès sa mise sous tension, lit et exécute automatiquement et dans l'ordre chacune des instructions du programme qu'il puise dans sa mémoire-programme.
    (Il existe d'autres mémoires destinées à enregistrer des données, des résultats intermédiaires ou définitifs, par exemple)


Quel est l'intérêt de ce dispositif ?

Réponse : la rapidité et l'exactitude !

Écrire la multiplication suivante : 187 952,125 × 0,000 251 987 c'est très rapide.
En calculer le résultat à la main : serait laborieux, long et propice aux erreurs de calcul.

Un calculateur automatique tel que l'ALU d'une UC

  1. Fait cela très rapidement

    Exemple (en 2017) :
    L'UC la plus rapide peut (pouvait) pouvait effectuer
    1018 = 1 000 000 000 000 000 000 opérations par seconde
    sur des opérandes de 128 chiffres significatifs en écriture décimale !.

    On parle plutôt de "pétaFLOPS" : "peta" = suffixe pour 1015
    FLOPS = FLoating point Operations Per Second
    Voir définitions ici :
    1018 FLOPS = 1000 petaFLOPS

  2. La partie calculatrice d'une UC est incapable de faire une erreur
    (sauf si elle est mal conçue, ou perturbée ou avariée).

Historiquement, les calculs de décryptage ou ceux de détonique
qui furent à l'origine des premiers calculateurs
n'auraient jamais pu être réalisés à temps sans la réalisation d'une machine de Turing.
Même avec une équipe très nombreuse de calculateurs humains
munis de crayons, papier et...de nombreuses gommes !

Réflexion

L'intelligence d'une personne se mesure-t-elle seulement à sa faculté de calculer vite
ou de trouver quels calculs il faut faire, dans quel ordre et sur quelles données ?
Ce qu'on nomme créer un algorithme.

Peut-on assimiler le fonctionnement de ces machines
à une intelligence artificielle?
Ou est-ce l'effet d'pparence du prestidigitateur ?

L'Univers se réduit-il à des nombres ?

Un lecteur non averti peut s'étonner de ce que toutes les applications des machines informatiques
les ordinateurs, les automatismes domestiques et industriels,
celles des téléphones portables dits "intelligents" (SmartPhones),
les ordinateurs de bord des avions, des automobiles,
la conduite automatique des véhicules terrestres
la reconnaissance des visages,
etc...
puissent être traitées uniquement par des calculs sur des nombres ???

Comment l'animal, l'humain reconnaissent-ils leur environnement ?
Rép. : Par leurs organes des sens.

Comment l'animal, l'humain agissent-ils sur leur environnement ?
Rép. : Par les muscles agissant sur les leviers des membres, l'émission de sons, etc.
Des organes d'action.

Nous retrouvonas dans toute machine pilotée par informatique
les équivalents électromécaniques des sens et des organes d'action

  • des CAPTEURS
  • des ACTIONNEURS

Ces capteurs & actionneurs ne font pas partie de l'UC.
Ils constituent la médiation entre l'UC et le monde extérieur.

CAPTEURS
Il faut faire observer que toutes les grandeurs physiques
peuvent être mesurées par des capteurs.

Les capteurs qui nous intéressent ici,
sont des appareillages permettant de fournir une tension électrique
proportionnelle à la grandeur physique
que l'on veut mesurer.
C'est la façon la plus pratique et efficace d'opérer.

Grandeur physique
Capteur
Longueur Distance
Télémètre
Altitude
Altimètre
Vitesse
Tachymètre
Accélération (pesanteur)
Accéléromètre
Température
Couple thermoélectrique
Altitude
Altimètre
Son
Microphone
Intensité lumineuse
Cellule Photo électrique
Image
Caméra
etc
etc

Si l'on dispose des capteurs adéquats,
il est possible de décrire toute situation par des nombres.
Ceux des tensions électriques fournies par les divers capteurs.

Reste à savoir comment on peut communiquer ces nombres à l'Unité Centrale.
Ce qui sera décrit plus bas.



ACTIONNEURS


Mais on n'attend pas de l'UC uniquement qu'elle ingurgite des nombres,
mais qu'elle en déduise des actions.

C'est là qu'interviennent les actionneurs.

Ce sont des dispositifs physiques généralement électromagnétiques.
Ceux qui nous intéressent ici sont les actionneurs pilotés par une tension électrique.
C.à.d. que l'action qu'ils développent est proportionnelle à une tension qui leur est appliquée.

Action physique
Actionneur
Déplacer un objet en translation
Électroaimant
Faire tourner, accélérer un axe
Moteur électrique
Chauffer
Résistances chauffantes
Produire un son
Haut-Parleur - Enceinte
Image
Écran
etc
etc


Schéma général des relations entre UC et le monde physique externe.



Ainsi, les relations entre UC et le monde extérieur se réduisent à des échanges de nombres !


En résumé :
Etant donné sa nature de calculateur numérique
l'Unité Centrale ne peut communiquer que par des nombres.

D'où le qualificatif de "numériques"
toutes les technologies à base d'informatique

Reste à savoir :

  1. Quels types de nombres peut accepter ou délivrer l'UC ? Voir le $ suivant :

  2. Comment convertir tout type de données de la Nature en de tels nombres ?

  3. Quel langage employer pour indiquer à l'UC quels calculs exécuter, sur quels nombres (opérandes) et dans quel ordre ?
    Ceci nous amènera aux notions de programme et d'algorithme.

1° Quels types de nombres une UC
est-elle en mesure d'accepter et de fournir ?

Inutile de parler, crier ou de gesticuler devant !

Un processeur, étant par nature un montage électronique,
il ne peut comprendre ou fournir que des signaux électriques.

Par exemple des tensions électriques appliquées à ses bornes d'entrée.

Pour des raisons de simplicité et d'immunité aux perturbateurs électriques
on a choisi de communiquer par deux valeurs de tension seulement.


Nous les appellerons provisoirement : tension basse / tension haute.
C'est ce qu'on nomme une grandeur binaire (bi : deux).
Des précisions ? Pointez ici :

Une grandeur binaire est généralement représentée sur le papier par les chiffres 0 et 1

Un conseil ? Cliquez ici :

Objection ! :
Une valeur binaire ne peut exprimer que deux valeurs (haut ou bas, symboliées par 1 ou 0 respectivement),
or une distance, une vitesse, par exemple,
peuvent prendre une très large étendue de valeurs de son minimum à son maximum !

On s'en tire en exprimant les grandeurs par des BINAIRES MULTI-BITS .

Par exemple, un
nombre binaire de huit bits, (dit "octet", mettons : 01101010)
peut expirimer 256 niveaux de valeur suivant les valeurs données à ses bits.
Voyez ici : .




Encore une objection !

Les grandeurs naturelles, dans leur grande majorité, varient de manière contine au sens mathématique
C.à.d. , en langagge imagé, que pour passer d'une valeur A à B
elles prennent une infinité de valeurs intermédiaires.
On les nomme des grandeurs analogiques.

Aors que les binaires multibits ne peuvent prendre que des valeurs "discretes"
c.à.d. par échelons, sans possibilité de valeurs intermédiaires..



Certes,... mais plus le nombre de bits choisi pour le binaire est élevé,
plus il existe d'échelons entre 0 et le maximum
et plus l'écart de valeur entre deux échelons successifs est petit.

De toutes manières il existe toujours une incertitude dans la mesure des grandeurs physiques.
Il suffira de choisir, pour représenter ces valeurs,
un nombre assez grand de bits pour que cette incertitude soit acceptable.

Un binaire de 32 bits peut exprimer 232=4 294 967 296 niveaux de valeur !
L'amplitude des échelons est 1/232 # 0,00000000023283064365386962890625×(vmax-Vmin)
Quelles grandeurs physiques exigent d'être mesurées au 1/4 294 967 296 ème ?
c.à.d. avec une invertitude relative inférieure à 1 milliardième près ?



Voici une calculatrice à votre disposition pour un callcul rapide du nombre d'échelons
et de l'écart relatif entre eux :

Binaires à n bits
Calculatrice : entrez le nombre de bits du nombre binaire, puis cliquer sur [Calciler]
n = nombre de bits
 
N=nombre d'états
Valeur relative de l'échelon=1/N

C'est donc gagné !
Des nombres binaires multi-bits peuvent bel et bien représenter des valeurs variant continûment.
Et ce avec des écarts qui peuvent être rendus inférieurs aux approximations usuelles de toute mesure.

Le langage de l'unité centrale
s'exprime en nombres binaires de n bits.
(n dépend du type de processeur)


L'Unité Centrale
n'étant capable que de calculs mathématiques sur des nombres,
on comprend mieux la qualification de "NUMÉRIQUES"
donnée à toutes ces techniques.


Entrées & Sorties

L'UC ne s'exprimant ou ne comprenant que des nombres binaires multi-bits
pour communiquer avec le monde extérieur,
(saisir les données en provenance des capeurs ou envouer des ordres aux actionneurs)
elle doit obligatoirement disposer de moyens matériels pour saisir ou émettre ces données binaires.

A cet effet, les UC scécialisées dans la saisie de grandeurs physiques
et le contrôle d'actionneurs (on les nomme "Microcontrôleurs"
sont munis de PORTS D'ENTRÉE et de PORTS DE SORTIE multi-bits.

Dans le cas de processeurs d'usage général ne comportant pas de tels ports
on peut leur adjoindre des circuits intégrés comportant des ports d'entrée ou/et de sortie
connectés à l'UC de manière à ce qu'elle puisse commander ces entrées et sortie.
Un exemple de cette pratique ici :

Les schéma général des interfaces entre le monde extérieur et l'UC est le suivant :

Convertisseurs

  • Pour passer d'une tension (mesurée par grandeur analogique)
    à un nombre binaire multi-bits recquis par le processeur,
    on dispose de circuits intégrés faisant office de
    Convertisseurs Analogique - Numérique
    ( CAN / ADC Analogic to Digital Converters).

  • Pour passer d'un nombre binaire multi-bits fourni par l'UC
    à une tension analogique recquise par un actionneur,
    on dispose de circuits intégrés faisant office de
    Convertisseurs Numérique - Analogique -
    ( CNA / DAC Digital to Analogic Converters).

Les adaptateurs du schéma sont généralement des circuits électroniques
permettant de convertir les tensions de fonctionnement nominales des capteurs ou des actionneurs
en celles recquises par les circuits intégrés (Convertisseurs & UC).

Ou, également adaptations de puissance entre celle (généralement forte) recquise par les actionneurs
et la faible puissance que fournissent les circuits intégrés.

PORTS PARALLELES / PORTS SERIELS

Les échanges de nombres binaires entre l'UC et l'extérieur
se font au travers d'ensembles de "n" bornes nommés PORTS
(n est le nombre de bits dépendant de l'UC utilisée)

Notez ici la présence de PORTS d'ENTRÉE et de SORTIE sur l"Unité Centrale elle-même ???

Le type de ports représenté sur la fig. ci-dessus est nommé "PORTS PARALLELES"
Car ils présentent simultanément les états logiques des nombres binaires à afficher.
Ou, en entrée, ils saisissent simultanément les états logiques de toutes les bornes.

Pour celles et ceux que cela intéresse,
Une page de ce site est consacrée à l'interfaçage d'une UC avec des capteurs TOR (Tout Ou Rien)
tels que ceux qui indiquent l'état ouvert ou fermé d'une vanne, d'un portillon, d'un interrupteur
ou l'état d'bouton poussoir, d'une touche de clavier, ...etc...
Cliquer ici

Il existe des PORTS de communication SERIELS
Ceux-là émettent ou reçoivent les bits de la valeur binaire les uns après les autres !
Sous forme de tensions variables entre une borne et l'équipotentielle OV.
Leur intérêt est certain, l'exemple des ports USB ( Universal Serial Bus) le prouve.

Leur étude sort du cadre de cette page.
Mais si ce type de transfert de données vous intéresse,
vous pouvez vous reporter dans ce site au chapitre consacré à la communication sérielle en pointant ici :


2° Comment convertir les grandeurs physiques
en binaires multi-bits ?
Pousque l'UC ne comprend que des binaires
toutes les données que l'on voudra faire traiter par l'UC
devront donc être préalablement converties en tensions binaires.
A l'inverse :
Les données binaires fournies en réponse par l'UC
devront être converties en grandeurs analogiques
pour agir sur le monde réel.

Cette opération se nomme "numérisation"
ou Conversion Analogique-Numérique ( CAN ; ADC Analogic to Digital Conversion).
L'opération inverse :
convertir les données binaires mult-bit fournies par l'UC en valeurs exploitables physiquement
est la Conversion Numérique Analogique ( CNA ; DAC Digital to Analogic Conversion).

Ces deux types de conversion :

  • CAN : d'une grandeur physique : distance, son, et même une couleur, etc...vers un nombre binaire.

  • CNA : d'un nombre binaire vers une valeur continue (par échelons)

    ...font l'objet d'une étude complète sur ce même site.
Pour prévisualise
cette étude

Pour s'y reporter,
lien ici


Compléments d'information.
Questions détaillées dans cette partie
Sujets traités dans cette page
Lien local
Le "bit" -Intérêt de la représentation binaire.
Données binaires à n bits
Taille en bits des données numériques traitées
Puissance des calculateurs (FLOPS)
Diverses interprétations des données binaires à n bits
Des binaires peuvent représenter des nombres entiers naturels
Des binaires peuvent représenter des nombres réels (positifs ou négatifs)
Des binaires peuvent représenter des caractèresalphanumériques : lettres, chiffres...
Des binaires peuvent représenter des couleurs
Simulateur de couleurs R V B
Des binaires peuvent représenter des insctructions données à l'UC (programme)
Des binaires peuvent représenter des états physiques de capteurs ou d'actionneurs.
Des binaires peuvent représenter des grandeurs continues (analogiques)

Pour approfondir certains points,
des explications détaillées seront accessibles en cliquant sur des icône de ce type : .


Plus de précisions sur les "données numériques" ?

1° Intérêt de la représentation binaire

Les ordinateurs sont faits de circuits électroniques miniaturisés (Circuits Intégrés CI - IC : )

Tout circuit électronique est sensible aux perturbateurs électromagnétiques ambiants.
Ce qui signifie que des tensions parasites peuvent apparaître au sein des circuits
lorsqu'un perturbateur (foudre, machines à étincelles généralement) agit à proximité.

Ces tensions accidentelles se superposent à celles qui assurent le fonctionnement normal du circuit
provoquant leplus souvent des dysfonctionnements.

Certains se souviennent encore des "crachements" dans le son produit par des haut-parleurs,
dans d'anciennes "chaînes Hi-Fi" analogiques ;
des rayures soudaines sur les écrans des vieux téléviseurs... etc.

Tout cela a pratiquement disparu avec l'ère du traitement numérique !

Vu l'écart de tension entre les représentations électriques des états logiques 0 et 1
il est très difficile à un perturbateur ordinaire,
de déformer le signal au point que la tension représentant l'un des niveaux
soit accidentellement portée à la valeur qui représent l'autre.

Ceci assure une grande immunité aux parasites des systèmes à logique binaire.



Les circuits traitant des données numériques sont construits de telle manière
qu'un signal appliqué en entrée est considéré comme étant au niveau haut
dès que sa valeur devient supérieure au seuil haut VIH.

Il est considéré au niveau bas lorsque sa valeur devient inférieure au niveau bas VIL.

Pour les niveaux intermédiaires du signal d'entré, le signal numérique ne change pas d'état.
(garde l'état précédent Haut ou Bas)

Dès lors, les signaux perturbateurs se superposant au le signal d'entrée
ne peuvent changer le niveau binaire que 'ils sont supérieurs à la différence des seuils.
Ces seuils sont, par construction des circuits de logique, suffisamment distants pour limiter leur effet.

C'est par ce mécanisme à seuils que le binaire s'est imposé comme particulièrement insensible aux perturbations.



Enfin, presque... débranchez donc votre ordinateur du réseau électrique en cas d'orage...
les perturbateurs dus la foudre en ligne (électrique ou téléphonique)
sont extraordinairement puissants !

Ou procurez-vous de parafoudres sur les lignes...
ou travaillez avec un ordinateur sur batterie...débranché du réseau.

2° Conventions

C'est la plus simple des données numériques ( bit = binary unit = unité binaire)
Si x représente un bit , x peut prendre deux valeurs seulement.
On symbolise ces deux valeurs suivant les circonstances :

  • par "vrai" ou "faux" ( true - false) quand il s'agit de problèmes de logique.
  • par les chiffres :"1" ou "0" quand il s'agit de calculs numériques.
  • par "niveau haut" ou "niveau bas" quand il s'agit des tensions électriques représentant le bit.
Un ordinateur est une machine faite de composants électroniques.
On y représente physiquement ces états logiques par des tensions électriques.
Elle répond de même par des tensions sur ses sorties.

On désigne généralement ces tensions par les symboles suivants :
  • VIH (I comme "In" : entrée ; H comme "High" : haut)
  • VIL (L comme "Low" : bas)

  • VOH (O comme "Out" : sortie)
  • VOL
Ces tensions, en Volt, dépendent des technologies des composants mis en oeuvre.
C'est pourquoi il est préférable de parler de niveaux "haut" et "bas", "1" ou "0", "vrai" ou "faux"
plutôt que de se baser sur la tension en Volt.

En somme :

Niveau électrique
Tension représentative
Symbole mathématique
Interprétation en logique
Bas ( L : Low)
VIL ou VOL en Volt
0
FAUX ( false)
Haut ( H : High)
VIH ou VOH en Volt
1
VRAI ( true)


On peut définir le "numérique" dont on parle abondamment dans la presse,
par toute technique traitant les données physiques :

  1. en les convertissant d'abord en des nombres binaires
    (Numérisation : conversion Analogique Numérique)

  2. en les traitant ensuite à l'état binaire par un calculateur binaire
    (unité centrale d'ordinateur)
    (Traitement numérique)

  3. en convertissant enfin les résultats binaires des calculs fournis par l'UC,
    en signaux physiques.
    (Retour au réel analogique : conversion Numérique Analogique)

3° Les binaires à n bits

Vous conviendrez que l'on ne va pas bien loin en calcul en se limitant à une seule donnée
binaire qui ne peut prendre que deux valeurs : 0 et 1 !

Les données que traitent les Unités Centrales des ordinateurs
sont des groupements de n bits.
On les nomme souvent des "binaires" tout court ( binaries, 1 binary)

Pour fixer les idées, voici quelques exemples de "binaires"
que l'on nomme aussi "mots de n bits"
Nombre n
de bits
du mot binaire
États possibles
Nombre de
combinaisons possibles
1
0 ou 1
21 = 2
2
00
01
10
11
22 = 4
3
000
001
010
011
100
101
110
111
23 = 8
4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
24 = 16
8
Un groupe de 8 bits se nomme octet
...
28 = 256
16
...
216 = 65 536
32
...
232 = 4 294 967 296
64
...
264 = 18 446 744 073 709 551 616
n
 
2n

Notez le nombre considérable de combinaisons que peut prendre un binaire de 64 bits !
..

4° Taille en bits des données binaires traitées

Le nombre n de bits des groupes binaires constituant les données que traite l'ordinateur
est fixé par la structure matérielle de son organe de calcul, c.à.d.
l ' UAL ( Unité Arithmétique et Logique. ALU Arithmetic and Logical Unit)
et qui fait partie de ce que l'on nomme l ' "Unité Centrale" ou "Processeur".
On parle ainsi d'une Unité Centrale de 8, 16, 32, 64 bits.

Il est bien évident qu'une unité centrale pouvant traiter des données de 64 bits
fournira des résultats numériques plus précis qu'une autre ne traitant que des données à 32 bits.

A moins qu''on ne prenne deux binaires de 32 bits pour constituer un binaire de 64 bits, ce qui est possible.
Mais alors, les opérations vont prendre plus de temps : les calculs seront moins rapides.

5° Puissance de calcul

Les ordinateurs actuels dérivent des premiers ordinateurs
qui furent imaginés et construits lors de la seconde guerre mondiale par Alan Turing
pour le décryptage des messages de guerre .
puis utilisées dans le cadre du Projet Manhattan (1942 à 1946)
pour effectuer les calculs mathématiques complexes
qu'exigeait la mise au point de la première bombe thermonucléaire.
.
Les modèles de machines théorisées par Alan Turing puis réalisées par Von Neumann
étaient théoriquement capables de toute sorte de calcul en combinant seulement des opérations simples.
Leur organe principal était et reste l'ALU ( Arithmetic and Logic Unit) l'unité de calcul.

Paradoxalement, une ALU ne "sait" faire que des calculs de types très simples
( + , - , × , / , et quelques opérations logiques : ET, OU, etc.)
donc ayant, apparemment seulement, une puissance très limitée.

Ils font ces opérations sur des nombres binaires lesquels, comme nous le verrons bientôt,
peuvent représenter toute sorte de nombres et de grandeurs.

Les mécanismes opératoires internes de l'ALU ne sont évidemment pas mécaniques !
Ils font appel à des mécanismes de transferts de charges entre atomes
lesquels se font très rapidement vu la petitesse ses distances interatomiques.

Ces calculs se font avec une extraordinaire rapidité !

Les UC actuelles intègrent une FPU (Floating Point Unit) : unité spéciale de calcul
traitant des opérandes au format dit "à virgule flottante"
(nombres binaires de 64 bits pouvant représenter en décimal, des nombres de 15 chiffres significatifs !
Voir définition ici ! )

Notons cependant que d'autres formats de représentation binaire des nombres
ont été développés récemment pour rendre l'exécution des opérations plus rapide.
Mais leur analyse, lorsqu'ils son divulgués, sor de notre cadre d'étude.



La rapidité de calcul se mesure actuellement en mégaFLOPS, gigaFLOPS, téraFLOPS, pétaFLOPS, HexaFLOPS
("FLOPS" signifie Floating Operations per Second : Nombre d'opérations en virgule flottante par seconde).

méga : 106 ; téra = 1012 ; péta : 1015 ; exa : 1018

1 pétaFLOP : 1 000 000 000 000 000 opérations par seconde !

Un ordinateur personnel (PC) actuel atteint 200 gigaFLOPS.

En 2013, un supercalculateur chinois a dépassé la barre des 33 pétaFLOPS.
On vise actuellement les HexaFLOPS...
Qui dit mieux ?




Diverses interprétations des données binaires à n bits
Ces binaires à n bits peuvent représenter

  • Des nombres entiers
  • Des nombres réels
  • Des caractères d'imprierie (alphanumériques)
  • Des états TOR ("Tout-Iu-Rien") de capteurs ou d'actionneurs dans des automatismes électro-mécaniques.
  • Des grandeurs analogiques (distance, vitesse, accélération, température, etc.)
  • Des couleurs
  • etc.
Nous voyons cela ci-dessous.

1° Des binaires à n bits peuvent représenter
des nombres entiers naturels


A chacune ces combinaisons on peut attribuer, par exemple,
un nombre entier naturel

Nombre de bits
de la donnée
Binaires correspondants
exprimés en base 2
Nombre entier correspondant
exprimé en base 10
1
0
1
0
1
2
00
01
10
11

0
1
2
3

3
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
etc...
etc
etc
8
0000 0000
à
1111 1111
0 à 255
etc
etc
etc
16
0000 0000 0000 0000
à
1111 1111 1111 1111
0 à 65.535
etc
etc
etc
32
 
0 à 4 294 967 296
64
 
0 à 18 446 744 073 709 551 616
etc
etc
etc

ConclusionDes ensembles de 8,16, 32, 64, etc... bits peuvent représenter des nombres entiers
sur une étendue largement suffisante pour effectuer avec précision toute sorte de calculs.

Mais... ces données binaires à n bits peuvent,
heureusement représenter bien autre chose que des nombres entiers !

Voir la suite .


2° Représentation binaire des nombres réels

(positifs ou négatifs)


Des binaires peuvent aussi représenter des nombres réels commme par exemple : 12,456 ou -16,35
Des formats conventionnels ont été définis pour cela.
En particulier la représentation dite en virgule flottante ( floating point - détails ici : )

La connaissance précise des conventions de représentation des nombres réels
n'est nullement nécessaire à la compréhension de ce cours purement descriptif
sur le fonctionnement général des ordinateurs.
La seule chose utile ici, est de savoir
qu'un groupe de n bits (n= 8, 16,32, etc...bits)
peut aussi représenter tout nombre réel (positif ou négatif).
Pour celles et ceux qui souhaitent aprofondir cette question
ces conventions sont exposées en détail...
Pour les nombres relatifs ici :
Pour les nombres réels ici :

3° Représentation binaire des caractères d'imprimerie

Par exemple, les lettres, les chiffres, les signes d'imprimerie :
Dans la convention de codage 8 bits connue sous le nom de Code ASCII
(American Standard Code for Information Interchange)

Quelques échantillons...
Caractère
Code ASCII
A
0101 0001
B
0101 0010
C
0101 0011
etc
 
0 (chiffre zéro)
0011 0000
1
0011 0001
2
0011 0010
3
0011 0011
etc...
...
9
0011 1001
$
0010 0100
&
0010 0110

Voir détails du code ASCII ici :

Note : Pour une meilleure visibilité on sépare les bits en groupes de 4
en écrivant 0011 0007 au lieu de 00110007

Une page d'écriture n'est autre qu'une suite de codes binaires ASCII.
(avec quelques autres indications, toujours en binaire, pour le positionnement, l'apparence des caractères, etc.)

Vous enregistrez vos pages d'écriture dans votre ordinateur sous forme de fichiers.
Un fichier n'est autre qu'une suite de codes binaires enregistrée dans une quelconque mémoire.

Outre ces codes binaires constituant le contenu, les fichiers comportent d'autres indications, toujours en binaire,
de positionnements, un nom de fichier, des indications de nombre de binaires contenus, de dates, etc....


4° Représentation de couleurs

Même des couleurs peuvent être conventionnellement représentées
par des nombres binaires de 24 bits.

Ci-dessous quelques exemples de le codage des couleurs
en vigueur dans la présentation des pages Web, dites HTML,
comme celle que vous regardez en ce moment.

Binaire (24 bits)
Hexadécimal
Couleur correspondante
Nom conventionnel
0100 0001 0111 0100 1110 0101
4174E5
 
cornflowerblue
1111 1111 1111 1111 0000 0000
FFFF00
 
yellow
1111 1111 0000 0110 0111 0010
FF0099
 
deeppink
1111 1111 1111 1111 1111 1111
FFFFFF
 
white (blanc)
0000 0000 0000 0000 0000 0000
000000
 
black (noir)
0101 1100 1111 1111 0000 0000
5CFF00
 
chartreuse


Cette correspondance nombre-couleur résulte d'un convention particulière en vigueur dans le standard HTML.
Ce standard permet de coder des pages Web comme celles que vous regardez en ce moment.

Comment s'établit cette correspondance nombre-couleur ?

Nous ne ferons ici qu'un bref descriptif.
Pour une analyse complète, voir chapitre spécial de ce site consacré à la représentation des couleurs
dans les pages Internet au standard HTML (Hyper Text Media Langage)
en cliquant ici :



Fait physique expérimental : la plupart des couleurs visibles peuvent être reconstituées
en mélangeant trois couleurs dites primaires : Rouge Vert Bleu dans certaines proportions.

Trois nombres R V B (ou rvb) mesurent par convention
les quantités de ces trois couleurs dans le mélange qui détermine chaque couleur.

Prenons un exemple : la couleur "deeppink" ci-dessus.
Hexadécimal : FF009916
Composé de R=FF16 V=0016 B=9916
En décimal : R=25510 , V=0 , B= 15310


Simulateur de couleurs
¨Pour vous permettre d'expérimenter, voici un simulateur de couleurs.
Pour vous faciliter le travail, vous entrerez les nombres RVB en décimal (0 à 255)
En appuyant sur le bouron "Voir" vous visualiserez la couleur correspondante dans le cadre prévu à cet effet.

Notez que R=B=V correspond à des nuances de gris allant de R=B=V=0 : le noir total
à R=B=V=255 le blanc maximal.

Passage de l'écriture hexadécimale précédente à RVB, ou inversement,
P.ex. couleur : "chartreuse" ci-dessus.
#5CFF00 = #5C FF 00 = # R16 V16 B16
Pour cet exemple : R10 = 72 ; V10 = 255 ; B10 = 00

Essayez notament la couleur "deeppink" : FF009916 (R=255,V=0,B=153) calculés ci-dessus.


Je vous propose de fixer vous-même les trois proportions RVB pour visualiser la couleur correspondante,
en remplaçant les valeurs 255 255 255 prédéfinies ci-dessous.
par des valeurs dans l'intervalle [0,255]
R = Proportion de Rouge
<= 255
V = Proportion de Vert
<= 255
B = Proportion de Bleu
<= 255
En hexadécimal :
 
 
Cadre visualisant la couleur désignée ci-dessus

Mais il existe d'autres standards de représentation des couleurs dans d'autres applications.


5° Instructions - codes machine -

L'UC ne travaille pas de sa propre initiative.
Nous verrons que les opérations que doit exécuter l'UC sont inscrites sous forme de codes binaires
dans une mémoire externe à l'UC dite mémoire-programme
à laquelle elle a accès.

Ces codes se nomment "instructions"
L'ensemble des instructions est le programme (écrit par un programmeur )
que doit exécuter l'UC.

Ces codes binaires, dits "codes-machine" sont spécifiques à chaque type d'UC.

Automatismes - Asservissements - Robotique

Le systèmes pilotés par une unité centrale d'ordinateur ne servent pas seulement
à effectuer des calculs en comptabilité, en bureautique, en laboratoire scientifique, en bourse, etc...

Mais aussi à réaliser des automatismes.

Exemples :
Automatisation des machines dans l'industrie, l'agriculture, l'électroménager.
Citons aussi les automobiles et camions à conduite automatique,
les drones à usages divers, le diagnostic médical avancé...

Ce qui suppose une grande puissance et rapidité de calcul que seuls peuvent aligner
les processeurs numériques.



Un automatisme comporte une partie opérative et une partie commande.

La partie commande (gérée par processeur) peut envoyer des signaux (électriques)
pour mettre en euvre des moteurs, des vérins, des résistances chauffantes, etc...etc.
qui constituent la partie opérative.

La partie commande a besoin d'être informée de divers paramètres d'état de la partie opérative
(distances, vitesses, températures) pour ajuster les signaux émis par la commande.

(On continue à faire fonctionner le moteur d'avance tant que la distance de déplacement voulue n'est pas atteinte)
(On arrête d'alimenter les résistances de chauffe si la température souhaitée est atteinte ou dépassée).

Asservissement
La partie commande garde en mémoire des consignes : (distance, vitesse, température, à atteindre)
Des valeurs qu'il faut respecter.
Par des capteurs elle effectue constamment des mesures de ces valeurs.

Pour chaque paramètre de fonctionnement l'automatisme,
le module de commande relève constamment sa veleur (vitesse, distance, températire, etc...)
et la compare à la consigne donnée pour ce paramètre.

Suivant qu'une quelconque mesure atteint, dépasse, ou n'atteint pas sa consigne,
le module de commande modifie l'état des actionneurs (vérins, résistances de chauffe, etc.)
par des commandes appropriées.

P.ex.
Si la température dépasse la consigne, la commande coupe le chauffage.
Si la vitesse d'un module rotatif est inférieure à la consigne,
la commande envoie aussitôt des tensions supérieures au moteur qui maintient la rotation.
etc...


Entrées- sorties

Ainsi, la partie commande ENTRE et SORT constamment des données
représentant les mesures (entrées) et les commandes (sortie)


Schéma d'une unité centrale.

On y trouve l'ALU (unité de calcul sur des nombres binaires)
et deux blocs d'interface [ENTREES] et [SORTIES] aussi nommés "Ports d'entrée" ou "Ports de sortie"
Ce sont des ensembles de "n" contacts accessibles par les dispositifs externes à l'UC.
("n" état le format de données traité par ce processeur).

L'UC peut, grâce à une ou des instructions spécialisées,
transférer dans l'Accumulateur les états binaires des contacts du (ou d'un) port d'entrée.
C'est une opération de "lecture" dite aussi d' "entrée". ( "read" , "in")

L'UC peut aussi, grâce à une ou des instructions spécialisées,
transférer les états binaires de son Accumulateur
sur les états électriques binaires du (ou d'un) port de sortie.
C'est une opération d'"écriture" dite aussi de "sortie". ( "write" , "out")

On les nomme "Ports d'entrée(s)" ou "Ports de sortie(s)"

Plus de détails sur les entrées :
Plus de détails sur les sorties :

Signaux TOR (Tout Ou Rien)

  • Mettre en marche un moteur, une résistance de chauffage, ouvrir ou fermer une vanne, etc.
    sont des commandes TOR (Tout Ou Rien).
    Elles expriment deux etats seulement : Marche ou Arrêt.
    Elles peuvent donc bien être générées chacune par un bit d'un port de sortie d'une unité centrale.

  • Un moteur, une résistance chauffante, une vanne peuvent être munis d'un contact qui permet d'indiquer si l'élément est actif ou non (Marche ou Arrêt).
    Elles émettent alors un signal électrique qui peut aboutir sur un bit d'un port d'entrée à une unité centrale (processeur).

  • Une donnée à n bits peut représenter :
    • en entrée : n capteurs TOR
    • en sortie : n actionneurs TOR

Plus de détails sur cette question en :

Représentation de grandeurs analogiques
par des binaires à n bits

Beaucoup d'actionneurs et de capteurs de la partie opérative d'un automatisme
ne sont pas TOR, mais analogiques.

Exemples pour les actionneurs :
Contrôle d'une vitesse de manière progressive.
Modification progressive de l'intensité dans une résistance chauffante
pour faire varier la température.
etc.

L'information fournie pas certains capteurs peut être une tension variant continûment de Vmin à Vmax
pour indiquer une grandeur telle qu'une température, une vitesse, une distance, etc...

Une unité centrale d'ordinateur ne "sait" pas prendre en compte de telles tensions continues.

On fait alors appel à des circuits intégrés nommés
Convertisseurs Analogique-Numérique ( CAN : ADC Analog to Digital Converter)
qui transforment une tension continue fournie par un capteur analogique de la partie opérative
en des données binaires à n bits aceptables par l'UC,

Ou à des Convertisseurs Numérique-Analogique ( CNA : DAC Digital to Analog Converter)
qui transforment les données binaires fournies par l'UC
en tensions continues acceptables par les actionneurs de la partie opérative.



Ce sont des circuits d'interface disposés entre la partie commande et la partie opérative.
Voir ici un exposé plus détaillé sur ces questions :

Cependant, pour réaliser des systèmes ultra-miniaturisés tels que les téléphones mobiles par exemple,
on a développé des circuits intégrés contenant à la fois le processeur, les entrées et sorties T.O.R
et les convertisseurs CAN & CNA.



Nous connaissons mieux maintenant
sur quel type de données exclusivement travaille un ordinateur :
des nombres binaires de n bits.

Voyons comment il peut les traiter à la page suivante...

Vos réactions par courriel ici

 

Choix par Menu ou Parcours Séquentiel
Ici début e la série
  
Suite : Unité centrale
PAGE D'ACCUEIL
DU SITE