Architecture de Von Neumann

Architecture de référence

L'architecture générale des ordianteurs a été imaginée par John Von Neumann, mathématicien et physicien américano-hongrois en 195.

L’architecture de von Neumann décompose l’ordinateur en 4 parties distinctes :

Architecture de Von Neumann

Lien vers un excellent site (pixees) : https://pixees.fr/informatiquelycee/n_site/nsi_prem_von_neu.html

UAL

L'unité arithmétique et logique est le coeur de l'ordinateur. On la représente habituellement par ce schéma (en forme de V) : UAL

Mémoire

La mémoire est un tableau dans lequel seront sttockés aussi bien les varaibles que les programmes. Chaque cellule de ce tableau possède une adresse X. Il exite plusieurs façon de noter les valeurs : M[X], X (et $X pour une valeur), etc.

Unité de commande

C'est elle qui donne les ordres à toutes les autres parties de l'ordinateur. Elle possède principalement quatre registres :

On peut résumer son fonctionnement par l'algorithme suivant :

Répéter indéfiniment : RI ← M[CO] CO ← CO+1 R.OP(RI.AD) Fin du répéter
Quelques commentaires :

Exemples

On imagine un ordinateur constitué d'ume mémoire centrale et d'un jeu d'instructions.

Voici le tableau d'instructions :

Instruction Effet
LD X Lit le contenu de la cellule X (ACC ← M[X])
STO X Enregistre dans la cellule X (M[X] ← ACC)
ADD X Ajoute le contenu de la cellule X (ACC ← ACC +M[X])
SUBB X Soustrait le contenu de la cellule X (ACC ← ACC - M[X])
JMP ADR Saute à l'adresse ADR (CO ← A)
JMPZ ADR Saute à l'adresse ADR si nul
JMPP ADR Saute à l'adresse ADR si positif
JMPN ADR Saute à l'adresse ADR si négatif

On considèrera qu'un programme commence à l'adresse 8, les adresses 0 à 7 étant réservées au stockage des données.

Voici un exemple de programme :

Adresse Contenu
0 48
1 37
..... ......
8 LD 0
9 SUB 1
10 STO 2
11 END

Que fait ce programme ?

Ecrire un autre programme, avec ce jeu d'instructions, qui lit la valeur entrée dans la case mémoire 0

Ecrire un programme qui taduise l'expression z = x+y

Ecrire un programme qui écrit le max de deux nombres

Simulateurs de CPU

simulateur

Il existe autant de langages machines que de types de processeurs. Les commandes de base sont assez faciles à transposer d'un langage à l'autre.

Exemple avec l'instruction STO qui peut s'appeler STR, STA

Lien vers un simulateur : http://www.peterhigginson.co.uk/AQA/

avec sa liste d'instructions :

The AQA Instruction Set.

De nouveau, un lien vers pixees : https://pixees.fr/informatiquelycee/n_site/nsi_prem_sim_cpu.html

Travaux à réaliser

Il s'agit de programmer en langage machine les structures de base qu vous connaissez. Vous utiliserez le simulateur afin de tester vos productions.

Télécharger le fichier Jupyter que vous trouverez ici : Télécharger le fichier jupyter