NOMBRES - Curiosités, théorie et usages

 

Accueil                           DicoNombre            Rubriques           Nouveautés      Édition du: 18/03/2021

Orientation générale        DicoMot Math          Atlas                   Actualités                       M'écrire

Barre de recherche          DicoCulture              Index alphabétique        Références      Brèves de Maths

      

INFORMATIQUE

 

Débutants

Général

ORDINATEURS

 

Glossaire

Informatique

 

 

INDEX

 

Multimédia

 

Informatique

 

Logique

 

Introduction

Mémoire

Puissance

Puces

CPU/GPU/TPU

Programmation

Quantique

Historique

Autres objets

Moore

 Internet

 

Sommaire de cette page

>>> Principe

>>> Ordinateur ou PC

>>> Unité centrale

>>> Principe du calcul

>>> Exemple de microprocesseur et ordinateur

>>> Anecdote de 1969

 

 

 

 

- 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.

 

 

Le principe, en gros!

 

*    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. >>>

 

 

L'ordinateur ou PC (Personal Computer)

*    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.
Parmi les entrées, on compte également la webcam, le scanner
 

*      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).
Parmi les sorties, on compte aussi les enceintes acoustiques produisant les sons, l'imprimante ...

 

 

*      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 (UC) ou ordinateur

 

*    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).

 

 

Principe du calcul

 

*    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

 

 

 

Microprocesseurs et ordinateurs – Exemples 

 

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

 

 

Anecdote

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

*    CPU  / GPU / TPU

*    Mémoires numériquesGlossaire

*    Ordinateur – Historique

*    Ordinateur – Junior

Voir

*    Automates

*    Algorithmes

*    Binaire et informatique

*    Codage – Lignes de code

*    Coût microprocesseurs

*    InformatiqueGlossaire

*    Informatique – Historique

*    Loi de Moore

*    Multimédia et InformatiqueIndex

*    PC

*    ProgrammationIndex

*    Puces

*    Puissance de calcul

*    Puissance de calcul de l'escargot à l'homme

*    Puissances de 10 et capacités multimédia

Livre

*    Architecture de l'ordinateur – Cours et exercices – 3e édition – Andrew Tanenbaum – Dunod – 2000

Sites

*      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

http://villemin.gerard.free.fr/Multimed/OrdiIntr.htm