L'unité centrale de l'ordinateur se compose en général de la mémoire centrale et de l'unité de traitement, c'est-à-dire du processeur.
Dans la suite, sauf indication contraire, nous allons désigner par mémoire la mémoire vive à accès direct (RAM).
On peut s'imaginer la mémoire RAM comme un ensemble de cellules de rangement appelées cellules-mémoire ou mots de mémoire [angl. memory cell, register; all. Speicherzellen, Register] dans lesquelles le programmeur peut déposer des données élémentaires (le contenu des mots). Manipuler des informations se ramène donc à modifier le contenu de certaines cellules-mémoire. Afin qu'il soit possible de localiser les données stockées en mémoire, les cellules-mémoire sont identifiables individuellement par un numéro d'ordre, appelé adresse de la cellule [angl. address; all. Speicheradresse].
Figure 6.2 Octets et adresses
En général, l'élément atomique dans l'organisation de la mémoire d'un ordinateur (c'est-à-dire la plus petite partie à laquelle on peut faire référence) est l'octet [angl. byte]. Ce sont donc les octets qui possèdent une adresse en mémoire centrale et l'adresse d'une cellule-mémoire constituée de plusieurs octets (2 ou 4 d'habitude) est celle de l'octet d'adresse minimale.
Les octets sont numérotées de 0 à N où N indique la capacité de la mémoire. On appelle espace adressable l'ensemble des cellules qui peuvent être référencées à l'aide d'une adresse physique.
La manipulation des adresses physiques par le programmeur étant quasi impraticable, une cellule-mémoire est identifiée à l'intérieur d'un programme par un nom symbolique appelé identificateur de la cellule-mémoire. Il est important de distinguer soigneusement le concept d'identificateur qui permet de localiser une cellule-mémoire de l'information contenue dans cette cellule.
Reprenons à ce sujet le programme Sum du chapitre 4.2 et étudions l'état des cellules-mémoire durant l'exécution du programme. Quand la valeur d'une variable n'a pas encore été définie par le cours de l'exécution du programme, nous allons la noter "?". Soit à effectuer la somme de 2 et de 3:
Figure 6.3 Etats des cellules-mémoire identifiées par A et B
lors de l'exécution du programme Sum
Le processeur exécute en séquence, c'est-à-dire l'une après l'autre, toutes les instructions du programme Turbo-Pascal jusqu'à rencontrer le mot réservé END suivi du symbole "." qui détermine la fin de l'exécution du programme. Il peut lire les données à partir des cellules-mémoire, effectuer des opérations sur ces données et ranger le résultat dans une cellule-mémoire. Cette dernière peut être une cellule de laquelle une donnée vient d'être lue. Dans ce cas, l'ancien contenu de la cellule est perdu et remplacé par une nouvelle valeur. Ceci est le cas pour la variable A dans la figure 6.2. Il faut donc noter que la valeur associée à un identificateur peut varier au cours de l'exécution d'un programme.
C'est la raison pour laquelle un identificateur de cellule-mémoire est généralement appelé identificateur de variable. Une variable dénote donc une cellule-mémoire qui contient la valeur de la variable dans un programme donné.
En informatique, le concept de variable est très différent du concept de variable en mathématiques. Ainsi par exemple la séquence d'instructions
I := 0;
I := I + 1;
est dépourvue de sens en mathématiques. Il en résulterait que 0 = 1. En informatique cependant, elle est bien définie:
Exercice: Etudier l'état des cellules-mémoire I et J du programme Blocks
(chapitre 5.5) durant son exécution
TERMES TECHNIQUES
adresse
cellule-mémoire
identificateur
identificateur de variable
mémoire centrale
mot de mémoire
octet
processeur
unité de traitement
variable
© Aflo Informatique , 2003-2004