1- Les origines

La première machine "informatique" est l'ENIAC.

En quelle année l'ENIAC a été mis en service ?
1946
1944
1948

 

Les données de l'ENIAC étaient stockées sur quel support ?
Ruban
Bande magnétique
Carte perforée

 

En quelle le modèle de Von Neumann a été proposé ?
1946
1948
1944

 
Le modèle proposé par Von Neumann dans une publication, pose pleinement les bases de l'organisation du traitement automatisé de l'information binaire.
Les ordinateurs que nous utilisons aujourd'hui s'appuient encore sur cette architecture de base.
modele originel2 vonNeumannL'unité centrale est constituée d'une unité de commande et d'une unité arithmétique et logique.
Une mémoire permet de stocker de l'information.
Les entrées - sorties permettent les interactions avec l'utilisateur.
L'accumulateur inclus dans l'unité arithmétique et logique est une mémoire qui permet de retenir un résultat de calcul.

2- Modèle Von Neumann appliqué aux ordinateurs actuels

Les ordinateurs actuels s'appuient sur la même architecture, mais nous allons détailler la structure.

Unité arithmétique et logique (ALU en anglais)

Ce sont des circuits électroniques dédiés dont nous avons vu dans cette activité quelques exemples :
- Certains font des calculs (addition - soustraction - multiplication etc...). Donc en python, lorsqu'une instruction additionne deux nombres, c'est l'ALU qui s'en charge.
- D'autres sont dédié à la logique : faire des tests ET, OU, etc. Donc en python, lorsqu'un test dans un if est effectué, c'est encore l'ALU qui s'en charge.
À noter que l'accumulateur ci-dessus est relié directement aux registres (cases mémoires incluses dans le microprocesseur pour permettre un accès quasi instantané).
Par exemple, additionner 12 à une variable constisterai pour l'ALU à :
- lire la valeur de la variable sur le bus de donnée,
- lire la valeur 12 contenu dans un registre,
- additionner ces deux nombres
- transmettre le résultat à un autre registre via le bus de données.
Les registres sont inclus dans les mémoires caches des processeurs actuels.

Unité de commande

C'est la partie chargée d'interpréter les instructions et de les exécuter.
Les instructions ne sont pas en python, mais en langage assembleur (aussi appelée langage machine). Nous découvrirons ce langage dans l'activité suivante.
En fait, lorsque vous affectez un nombre à une variable, cela se traduit par plusieurs instructions.
L'une d'elle consistera à mémoriser le nombre dans la mémoire, à une adresse précise.

Mémoire RAM

C'est une mémoire volatile : si le courant est coupé, tout est perdu. C'est la situation que vous avez tous rencontrée lorsque vous travaillez sur un document qui n'a pas été enregistré alors qu'une coupure de courant survient.
Une RAM est généralement accessible par groupe d'octets : on parle d'architecture 32bits, 64bits...
La RAM contient tous les programmes en cours d'exécution et les données associées : on peut donc lire et écrire dans chaque octet.
Le "rangement" de ces informations dans la RAM, est assurée par le système d'exploitation qui décide des zones réservées aux programmes et des zones dédiées aux données. Chaque octet est accessible via une adresse.
Reprenons l'exemple d'affecter un nombre à une variable, l'instruction pour enregistrer cette valeur aura deux paramètres :
- l'adresse où il faut écrire en mémoire,
- la valeur du nombre à mémoriser.

Bus de données et d'adresse

Ce sont des "autoroutes" de transport de l'information entre les différents éléments d'une unité centrale.
L'unité centrale est constituée d'une carte mère sur laquelle est inséré le microprocesseur et la RAM, parfois d'autres cartes sont ajoutées.
Un bus est physiquement un ensemble de pistes de cuivres côte à côte qui permettent de transmettre des 0 et des 1 d'un élément à un autre.
- Le bus d'adresse va permettre d'indiquer à quel endroit, dans la mémoire, on souhaite lire ou écrire.
Pour ce faire, le registre d'adresse contient l'adresse, ce qui électroniquement permet d'accéder à la bonne case mémoire de la RAM.
- Quasi instantanément après, la valeur à l'information est sur le bus de données. Par exemple, pour la lecture d'un octet en case mémoire, une fois que le registre d'adresse indique l'adresse, la valeur apparaît sur le bus de données.

Schéma de synthèse

Identifier les principaux composants d'une architecture Von Neumann
Bus d'adresse
Processeur
ALU
Registres
RAM
Unité de commande
Registres adresses
Bus de données