|
-
Mon ordinateur réalise cent millions de
calculs par seconde, avec un taux d'erreur de un
dix millionième. Super non! –
Oui mais, ça fait tout de même dix
conneries par seconde ? Calcul: 100x106 / 10x106
= 100 / 10 = 10 |
L'ordinateur et
l'homme sont les deux opposés les plus intégraux qui
existent. L'homme
est lent, peu rigoureux et très intuitif. L'ordinateur
est super rapide, très rigoureux et complètement con. Gérard Berry, informaticien français,
membre de l'Académie des sciences française. |
Voir Pensées & humour
ORDINATEURS - Introduction Chacun sait ce qu'est un
ordinateur. Du moins à quoi il sert. Voulez-vous savoir comment ça marche à
l'intérieur? Les grands principes. Comme pour la voiture, les
premiers ordinateurs étaient accessibles puis les composants intégrés se sont
complexifiés. En France, les microprocesseurs sont arrivés en 1971 dans les
labos des concepteurs d'ordinateurs. Depuis rares sont les personnes qui en
connaissent le fonctionnement intime. Nous allons partir de votre
ordinateur et descendre progressivement vers les couches basses, tout en
regardant d'un peu loin pour rester simple. |
|
|
Lorsque je veux effectuer une addition comme 3 + 4 = 7,
je dois indiquer deux choses à la machine:
Commander l'exécution d'une addition (a + b = c): c'est un programme
comportant plusieurs instructions: prendre
a puis b, les additionner et placer le résultat en c.
Spécifier les nombres à traiter: 3 et 4. Ce sont les données.
D'une manière générale, Un ordinateur traite des
données selon un programme
général préétabli.
Où se trouve le programme d'addition? Dans une mémoire qui est capable de se souvenir de ce
programme même si l'électricité est coupée, le disque
dur. Un disque
magnétique parcouru par une tête de lecture, comme la platine du bon vieux
tourne-disque.
Lors de l'exécution, le programme est transféré dans
une mémoire de travail, localisée à côté du microprocesseur.
Mémoire à très grande capacité de réaction, dite aussi mémoire vive, mémoire système ou RAM (Random
Access Memory). Cette mémoire a un défaut: elle se vide complètement à la
coupure du courant; elle est volatile. Sa capacité de
stockage est plus limitée que celle des disques durs (8 Go contre 1000 Go
pour un ordinateur de bonne configuration en 2013).
Comment cela fonctionne-t-il?
Le programme est introduit dans le microprocesseur
(ligne verte);
Les données d'entrée sont introduites au moyen d'un
clavier, par exemple (ligne bleue);
Le microprocesseur, disposant du programme d'addition
et des données 3 et 4, exécute l'addition et place le résultat 7 sur le
périphérique de sortie (écran de visualisation, par exemple).
Le principe est le même pour des opérations plus
complexes. Imaginons un programme de traitement des données en provenance
d'un satellite (la météo, par exemple). Le programme, une fois mis en place
dans la mémoire vive (vert) va être disponible pour traiter inlassablement les
immenses flots de données en provenance du satellite (flux en bleu). |
Capacité de stockage des mémoires
Avec huit informations binaires (8 bits ou 1 octet),
il est possible de spécifier une lettre de l'alphabet ou un nombre de 0 à
255.
Un ordinateur moderne
utilise des "mots" de 64 bits (8 octets).
Une mémoire
vive de 8 Go (8 gigaoctets)
est capable d'enregistrer huit milliards d'octets: 8 109 x 8 bits.
Un disque dur de 2 To (2 téraoctets) est
capable d'enregistrer deux mille milliards d'octets: 2 1012 x 8 bits. >>> |
|
|
Le travail effectif de l'ordinateur est exécuté dans l'unité centrale (UC). Cette boite est bourrée d'électronique
et d'autres composants comme les ventilateurs, les câbles, mais aussi le disque dur ou autres lecteurs
de CD.
Pour fonctionner cette unité centrale doit communiquer, et ceci au moins de quatre
façons:
Clavier et souris sont des moyens d'entrées vers l'ordinateur. Ces dipositifs sont
utilisés pour transmettre des ordres (instructions) et des données.
Autrefois, il fallait se débrouiller avec le clavier tout seul. Les ordres se
présentaient sous forme de longues suites de caractères souvent exotériques.
Aujourd'hui, les écrans sont de plus en plus tactiles
(tablettes). Un jour, la commande vocale,
encore balbutiante en 2012, sera complètement au point.
L'écran est l'organe de sortie qui permet la visualisation des résultats
du travail. Autrefois, il fallait se contenter de l'impression sur un
télétype (sorte de machine à écrire).
Les programmes
(logiciels) comme les données
(fichiers) sont stockés dans des mémoires:
la mémoire centrale ou
mémoire vive (RAM) qui est en relation permanente avec l'unité centrale. Les
programmes en cours d'exécution et les données à utiliser sont versées dans
cette mémoire. Aujourd'hui sa capacité est de plus en plus importante
(quelques gigaoctects). Autrefois (années 1970), on se contentait de moins
d'une centaine de kilooctets;
les mémoires périphériques (disques
durs internes et externes) qui stockent toutes les informations
permanentes, logiciels et fichiers. L'unité
centrale appelle les informations nécessaires à un travail et les déversent
dans la mémoire vive. Aujourd'hui, la capacité des disques durs dépassent
couramment le millier de gigaoctects (téraoctects).
Depuis quelques années, les ordinateurs sont en
majorité connectés à Internet, réseaux de communication avec l'extérieur via les lignes
téléphoniques ou câbles ou émetteurs (3G)
ou satellites. Après l'ère de l'échange d'informations, s'ouvre l'ère
où les échanges plus sophistiqués se multiplient (comme les clouds ou déport
de la capacité de traitement et de stockage en externe). |
Voir Objets multimédia
L'ordinateur: masculin ou
féminin ? (blague hyper-clasique)
Les
cinq arguments de l'homme:
Sa logique interne est incompréhensible, sauf
par son inventeur;
Un
aperçu s'impose avant de faire impression;
De
nombreux menus mais beaucoup de fonctions ne marchent pas;
La
moindre erreur est mise en mémoire et resurgira
subrepticement; et
Son
coût va s'avérer dispendieux en
accessoires et en entretien. |
Les
cinq arguments de la femme:
Il
faut l’allumer pour capter son attention;
Pléthore
d'informations, mais aucune imagination.
Ne
vide la poubelle que sur injonction;
Plus
qu'une aide, c’est souvent lui qui est le problème: et
Avec
un peu de patience, vous auriez pu avoir un modèle plus performant! |
Voir Pensées & humour / Dualité
|
|
L'unité centrale comporte deux parties, l'une visible,
l'autre invisible: le matériel et le logiciel.
Le matériel (hardware) est installé dans le boitier du PC
(station) ou de l'ordinateur portable. La miniaturisation
face à la consommation électrique et à la dissipation des composants est l'un
des problèmes majeurs à résoudre lors de la conception. Sans parler du routage
des circuits imprimés à plusieurs couches de manière à desservir tous les
composants en occupant un minimum de place.
Le logiciel (software) est bien entendu immatériel. Il
est concrétisé sous forme de fichiers rangés dans les mémoires. Dans le cadre
de cette explication sommaire, nous allons considérer quatre étages
successifs de logiciels:
Les applications
logicielles: ce sont tous les programmes que vous connaissez; ceux qui sont
accessibles à l'utilisateur: navigateur, messagerie, traitement de texte,
retouche de photos, lecture de films, etc. >>>
Le système d'exploitation
(Windows, Linux, Androïd …) ou Operating System (OS) en anglais. C'est le
chef d'orchestre de l'ordinateur. Il sait quoi faire et quand:
il partage le temps entre les différents travaux
simultanés que vous avez entrepris;
il surveille l'extérieur en attente de demande
d'actions (requêtes);
il gère tous les objets (périphériques) environnants;
il assure l'interface avec l'utilisateur notamment en
lui présentant les informations sur l'écran de manière sympathique. Autrefois l'OS n'était pas très
convivial. Le célèbre DOS exigeait des commandes bizarres (Ex: XCOPY *.* D:\
/s) frappées au clavier, sans possibilité d'annuler la dernière opération.
La couche de langage évolué
ou langage de haut niveau: il s'agit d'un langage compréhensible par
l'utilisateur, mais cependant suffisamment formalisé pour ne pas présenter d'ambiguïté
sur la marche des opérations à mener par l'ordinateur. Aujourd'hui, c'est
surtout Java; autrefois c'était Fortran, par exemple. Pascal, Visual basic,
C++ sont des langages qui ont eu beaucoup de succès.
La couche logiciel de base
ou langage machine: il s'agit du langage compréhensible par les circuits des microprocesseurs, donc du binaire. De longues
suites de 0 et de 1 mélangés. Pour faciliter leur écriture, on utilise des mnémoniques comme LDA STA (load A ou charge une information dans
la mémoire (registre) A; store A ou
range la donnée qui est dans la mémoire A): c'est le langage appelé assembleur.
Reste un problème tout de même! Comment les deux
langages (évolué et base) se comprennent-ils? C'est le rôle de programmes
spécialisés dit compilateurs que l'on
aurait tout aussi bien pu appeler traducteur. Passerelles entre le cerveau de
l'homme et le fin fond de la machine! |
Expérience des années 1969 à 1971
L'auteur
de ce site avec son équipe a conçu deux ordinateurs avant l'avènement des
microprocesseurs (1971): architecture de l'ordinateur, choix du jeu des
instructions, conception des cartes de calcul et de mémoire, écriture de
l'assembleur et du compilateur. Traitement sur 24 bits avec mémoire vive de
128 koctets (mémoire de 1 Mbits, un monstre à cette époque). |
|
|
Le microprocesseur est essentiellement composé d'une unité arithmétique et logique (ALU): arithmétique car
elle effectue des opérations; logique
car elle interprète les instructions pour les transformer en commandes
électriques. Baptisé aussi tout simplement processeur ou CPU (Central Processing Unit).
Le passage d'une instruction à la suivante est cadencé
par une horloge qui délivre des tops électroniques. En 2013, la cadence de
cette horloge est de l'ordre de 3 GHz (3 milliards de tops, soit un top tous
les tiers de nanosecondes).
L'unité logique accède à la mémoire en lui spécifiant
une adresse. Une adresse codée sur 16 bits (par exemple) permet un accès à 216
= 65 536 données en mémoire.
Voici la séquence des opérations:
Appel de l'instruction
située à l'adresse n°20 (nombre en rose).
L'information correspondante (LDA 110 ici indiquée sous
sa forme assembleur, mais en fait, rangée dans la mémoire sous forme binaire)
arrive au séquenceur.
Le séquenceur décortique l'information:
il commande la recherche d'une information à l'adresse
n°110 de la mémoire: c'est le nombre 3.
et il place cette valeur 3 dans le registre A. Un
registre est une toute petite mémoire qui enregistre temporairement une
donnée. Celui-ci est appelé Accumulateur.
Le prochain top horloge (en fait, un multiple du top
horloge; chaque top déclenchant des micro-instructions internes au
microprocesseur) va provoquer la recherche de l'instruction
suivante dans la case mémoire n°21.
C'est une demande d'addition qu'il faut interpréter
comme étant l'addition du contenu du registre A avec l'information qui se
trouve à l'adresse 120 de la mémoire. Voir Comment est réalisé un additionneur.
l'information de l'adresse 120 est un 4. Cette valeur
est placée à l'entrée de l'additionneur.
l'additionneur dispose du 3 (registre) et du 4 (venant
de la mémoire).
il exécute l'addition; le résultat, présent sur les
sorties de l'additionneur, est immédiatement transféré dans le registre A.
Nouvelle instruction
demandée en mémoire n°22.
Celle-ci (STA 153) spécifie que le contenu du registre
A doit être rangé dans la mémoire à l'adresse 153. Ce que va réaliser le
séquenceur.
FIN: en mémoire n°153 se trouve désormais la somme 3 +
4.
L'addition est un exemple. Il existe de nombreuses
autres possibilités qui nécessitent la mise en place de bien d'autres
instructions. LDA (load A), STA (store A), ADD, MUL, AND, OR, CMP (compare),
XCHQ (échange), JMP (saut), CALL (appel sous-programme), etc.
La simple addition fait appel à une circuiterie logique
déjà importance. L'implémentation de toutes les autres possibilités multiplie
le besoin en circuits et donc en transistors. Ce qui explique que les
microprocesseurs comptent plus d'un milliard de transistors! |
Voir Automates
|
||
Caractéristiques d'un des microprocesseurs
le plus puissant en 2010 |
||
Type Quantité de
transistors Épaisseur de la gravure Fréquence de l'horloge Taille des mots Puissance de traitement |
Intel Core i7G (Gulftown) 1 170 000 000 de transistors (1,2
milliards) 32 nm (0,032 µm) 3,47 GHz (de l'ordre de 3 milliards et demi
de coups par seconde) 64 bits (taille des instructions et des
données) 147
600 Mips (millions
d'instructions par seconde) |
|
Caractéristiques d'un ordinateur parmi les plus
puissants en 2013 |
||
Type Microprocesseur Quantité de
processeurs Fil d'exécution Fréquence de l'horloge Mémoire du µprocesseur |
Dell XPS One
27 Intel Core
i7-3770s 4 (cores) soit quatre microprocesseurs
fonctionnant en simultanéité 8 (threads) soit huit traitements simultanés (en
parallèle)
3,1 GHz 8 Mo (mémoire cache, accélère
considérablement les traitements en anticipant les instructions) |
|
Mémoire vive Disque dur Carte graphique Sa mémoire |
8 Go SDRAM (8 milliards d'octets) 2 To (2 mille milliards d'octets) NVDIA 2 Go (mémorise les images présentées ou à
présenter sur l'écran) |
|
Anglais: Core:
cœur et Thread: fil
En
1969, durant la mise au point d'un appareil connecté à un ordinateur survint
un problème peu banal. Il s'agissait d'attendre l'arrivée d'un signal externe
(une interruption, dans le jargon) pour exécuter la suite. Le programme d'attente était tout
simple et tout bête: À
chaque passage à l'instruction suivante, l'ordinateur passe son tour puis
revient en arrière, pour passer son tour et … Il s'agit bien d'une boucle
d'attente. Lors
de la mise au point, nous observons que le programme n'obéit pas et exécute
n'importe quoi. Que se passe-t-il ? Il a fallu un certain temps pour
découvrir avec les moyens de l'époque (oscilloscope deux traces) que c'était
une rangée de tores qui s'échauffait. Ceux sollicités par les deux
instructions. J'ai donc allongé la boucle: NOP,
NOP, NOP, NOP, NOP, JUMP – 5 et le problème fut résolu. Les
tores sont de minuscules couronnes de ferrites qui constituaient les mémoires
dites à tores. Autant de tores que de bits dans la mémoire. Le tout tapissé
d'une toile d'araignée de fillasse. |
Photo des tores extraite
du site JMP en référence
Suite |
Mémoires
numériques – Glossaire
Ordinateur – Junior |
Voir |
Codage – Lignes de code
Informatique
– Glossaire Multimédia et Informatique – Index Programmation – Index |
Livre |
Architecture
de l'ordinateur – Cours et exercices – 3e édition – Andrew Tanenbaum – Dunod – 2000 |
Structure et
fonctionnement des ordinateurs – Jean-Pierre Meinadier – Larousse / Cnam – 1988 –
400 pages (Livre très complet pour
approfondir ce thème)
Un témoignage sur les ordinateurs des années
1950/1970 – Site JMP |
|
Cette page |