La mémoire daccès aléatoire est le lieu de stockage des programmes

De nos jours, les ordinateurs modernes ont recours � une vari�t�s de technologies de stockage. Chaque technologie sert � remplir une fonction sp�cifique etpour ce faire, a des vitesses et capacit�s appropri�es.

Parmi ces technologies figurent�:

  • Registres du CPU

  • M�moire cache

  • RAM

  • Disques durs

  • Stockage de sauvegarde hors-ligne (bande, disque optique, etc.)

En termes de possibilit�s et de co�t, ces technologies constituent un large �ventail. Par exemple, les registres du CPU affichent les caract�ristiques suivantes�:

  • Tr�s rapides (temps d'acc�s de quelques nanosecondes)

  • Faible capacit� (g�n�ralement moins de 200 octets)

  • Possibilit�s de d�veloppement tr�s limit�es (un changement de l'architecture CPU serait n�cessaire)

  • Co�teux (plus d'un dollar par octet)

Toutefois, � l'autre extr�mit� de l'�ventail, le stockage hors-ligne affiche lui, les caract�ristiques suivantes�:

  • Tr�s lent (les temps d'acc�s peuvent se mesurer en jours si le support de sauvegarde doit �tre achemin� sur de longues distances)

  • Tr�s haute capacit� (dizaines - centaines de giga-octets)

  • Possibilit�s de d�veloppement quasiment illimit�es (la seule limitation se situe au niveau de l'espace physique n�cessaire pour h�berger les supports de sauvegarde)

  • Tr�s co�teux (de l'ordre du centime par octet)

En utilisant diff�rentes technologies dot�es des possibilit�s diff�rentes, il est possible de raffiner la conception des syst�mes afin de maximiser la performance, tout en r�duisant les co�ts au minimum. La section suivante examine chacune des technologies composant l'�ventail des possibilit�s de stockage.

4.2.1. Registres du CPU

Toute conception de CPU moderne inclut des registres et ce, pour une vari�t� de raisons allant du stockage de l'adresse de l'instruction en cours d'ex�cution au stockage et aux manipulations de donn�es � des fins plus g�n�rales. Les registres du CPU tournent � la m�me vitesse que celle du CPU�; dans le cas contraire, il existerait un s�rieux goulet d'�tranglement pour la performance g�n�rale du syst�me. En effet, les registres jouent un r�le dans presque toutes les op�rations effectu�es par le CPU.

Le nombre de registres du CPU (et leurs utilisations) d�pendent strictement de la conception de l'architecture du CPU lui-m�me. Il n'existe aucun moyen de modifier le nombre de registres du CPU, sauf en migrant vers un CPU avec une architecture diff�rente. Dans de telles consditions, le nombre de registres du CPU peut �tre consid�r� comme fixe dans la mesure o� son changement n�cessite non seulement de grands efforts mais �galement de lourdes d�penses.

4.2.2. M�moire cache

Le but de la m�moire cache est de jouer le r�le d'un tampon entre les registres du CPU � stockage limit� et vitesse �lev� d'une part, et la m�moire du syst�me principal dot�e d'une capacit� beaucoup plus �lev�e — � laquelle on fait g�n�ralement r�f�rence sous l'acronyme RAM[1] d'autre part. La m�moire cache a une vitesse de fonctionnement semblable � celle du CPU lui-m�me, si bien que lorsque le CPU acc�de � des donn�es mises en cache, il ne doit pas attendre avant d'obtenir les donn�es souhait�es.

La m�moire cache est configur�e de sorte que lors de toute demande de lecture de donn�es, le mat�riel du syst�me v�rifie d'abord si les donn�es requises sont en cache. Si tel est le cas, les donn�es sont rapidement extraites et utilis�es par le CPU. En revanche, si les donn�es ne sont pas en cache, elles sont lues depuis la m�moire vive (ou RAM) et, tout en �tant transmises au CPU, sont �galement mises en cache (juste au cas o� elles seraient n�cessaires plus ult�rieurement). Pour le CPU, tout le processus est effectu� de mani�re transparente si bien que la seule diff�rence entre l'acc�s aux donn�es en cache et l'acc�s aux donn�es en m�moire vive r�side au niveau de la dur�e n�cessaire � l'obtention des donn�es souhait�es.

En termes de capacit� de stockage, le cache a une taille beaucoup plus petite que la RAM. Par cons�quent, tous les octets en m�moire vive ne peuvent pas b�n�ficier de leur propre emplacement unique en cache. Dans de telles circonstances, il est n�cessaire de subdiviser le cache en sections qui peuvent alors �tre utilis�es pour d'une part, stocker diff�rentes parties de la RAM et d'autre part, disposer d'un m�canisme permettant � chaque partie du cache d'accueillir diff�rentes parties de la RAM et ce, � diff�rents moments. Malgr� la diff�rence de taille entre le cache et la RAM, et �tant donn�e la nature s�quentielle ou localis�e de l'acc�s au stockage, une toute petite quantit� de cache peut vraiment acc�l�rer l'acc�s � une grande quantit� de m�moire vive.

Lors de l'�criture de donn�es depuis le CPU, les choses se compliquent quelque peu. Pour une telle op�ration, deux approches diff�rentes peuvent �tre adopt�es. Dans les deux cas, les donn�es sont tout d'abord mises en cache. Toutefois, �tant donn� que le but du cache est de jouer le r�le d'une copie tr�s rapide du contenu de certaines parties choisies de la m�moire vive, chaque fois que des donn�es changent de valeur, cette derni�re doit �tre enregistr�e aussi bien dans le cache que dans la m�moire vive. Dans le cas contraire, les donn�es mises en cache et celles stocker dans la m�moire vive ne seraient plus identiques.

Les deux approches diff�rent dans la mani�re selon laquelle elles effectuent cette op�ration. Selon une approche de mise en cache dite write-through (ou en double �criture), l'�criture des donn�es modifi�es se fait imm�diatement dans la m�moire vive. Selon l'autre approche de mise en cache dite Write-back (ou r��criture), l'�criture des donn�es modifi�es dans la m�moire vive est en revanche diff�r�e. Cette m�thode permet de r�duire la fr�quence selon laquelle les op�rations de r��criture en m�moire vive devront �tre effectu�es pour mettre � jour les donn�es fr�quemment modifi�es.

Un cache en double-�criture �tant plus facile � impl�menter, il repr�sente le choix le plus courant. Un cache en r��criture est d'une impl�mentation plus complexe�; en plus du stockage des donn�es elles-m�mes, il est n�cessaire de maintenir un certain m�canisme capable d'identifier les donn�es mises en cache en tant que propres (ou clean, signifiant que les donn�es en cache sont identiques � celle dans la RAM) ou sales (dirty, indiquant que les donn�es en cache ont �t� modifi�es et que celles de la RAM ne sont par cons�quent plus actuelles). Il est �galement n�cessaire de mettre en place un moyen de transf�rer des entr�es sales du cache vers la RAM).

4.2.2.1. Niveaux de cache

Les sous-syst�mes de cache des ordinateurs con�us de nos jours peuvent avoir de multiples niveaux�; c'est-�-dire qu'il peut exister plus d'un syst�me de cache entre le CPU et la m�moire principale. Les niveaux de cache sont souvent num�rot�s, les num�ros les plus bas repr�sentant les niveaux de cache les plus proches du CPU. De nombreux syst�mes ont deux niveaux de cache�:

  • Le cache L1, plac� directement sur la puce m�me du CPU et tournant � la m�me vitesse que ce dernier

  • Le cache L2, souvent partie int�grante du module CPU et tournant aux m�mes vitesses (ou presque) que celles du CPU, est g�n�ralement un peu plus grand et moins rapide que le cache L1

Certains syst�mes (d'habitude les serveurs haute performance) ont aussi un cache L3 qui fait g�n�ralement partie de la carte m�re du syst�me. Comme on pourrait s'y attendre, le cache L3 est plus grand (est probablement plus lent) que le cache L2.

Dans les deux cas, le but de tous les sous-syst�mes de cache — qu'ils aient un seul niveau ou des niveaux multiples — est de r�duire le temps d'acc�s moyen � la m�moire vive.

4.2.3. M�moire principale — RAM

La m�moire principale (aussi appel�e RAM ou m�moire vive) constitue la majorit� du stockage �lectronique pr�sent sur les ordinateurs modernes. Elle est utilis�e comme stockage aussi bien pour des donn�es que pour des programmes lors de leur utilisation. La vitesse de la m�moire vive dont la plupart des ordinateurs modernes sont dot�s, se situe entre celle de la m�moire cache et celle des disques durs et se rapproche g�n�ralement plus de la vitesse du premier que de celle du dernier.

Le fonctionnement de base de la RAM est en fait tr�s simple. Au niveau le plus bas figurent les puces de la RAM — des circuits int�gr�s qui sont responsables de la "m�morisation elle-m�me." Ces puces sont dot�es de quatre types de connexions avec l'ext�rieur�:

  • Des connexions �lectriques (pour faire fonctionner la circuitrie au sein de la puce)

  • Les connexions aux donn�es (pour permettre le transfert de donn�es depuis et vers la puce)

  • Des connexions pour la lecture/l'�criture (pour contr�ler si les donn�es doivent �tre stock�es sur la puce, ou au contraire extraites de cette derni�re)

  • Des connexions d'adresse (pour d�terminer l'endroit dans la puce o� les donn�es devraient �tre lues/�crites)

Ci-apr�s figurent les �tapes effectu�es pour stocker les donn�es dans la RAM�:

  1. Les donn�es � stocker sont envoy�es aux connexions de donn�es.

  2. L'adresse � laquelle les donn�es doivent �tre stock�es est transmise aux connexions d'adresse.

  3. La connexion de lecture/�criture aux donn�es est r�gl�e sur le mode d'�criture.

La recherche de donn�es est un processus tout aussi simple�:

  1. L'adresse des donn�es recherch�es est transmise aux connexions d'adresse.

  2. La connexion de lecture/�criture aux donn�es est r�gl�e sur le mode d'�criture.

  3. Les donn�es recherch�es sont lues � partir des connexions de donn�es.

Alors que ces �tapes semblent relativement simples, elles ont lieu avec une tr�s grande rapidit�, la dur�e de chacune des �tapes se mesurant en effet en nanosecondes.

Presque toutes les puces de RAM fabriqu�es de nos jours sont vendues en tant que modules. Chaque module se compose d'un nombre de puces RAM individuelles reli�es � une petite carte � circuit. La pr�sentation m�canique et �lectrique du module est conforme aux normes de l'industrie informatique si bien que l'achat de m�moire peut se faire aupr�s d'un vaste �ventail de revendeurs.

La mémoire daccès aléatoire est le lieu de stockage des programmes
Remarque
 

L'avantage principal d'un syst�me utilisant des modules de RAM conformes aux normes de l'industrie informatique r�side dans le fait que le co�t de la m�moire � tendance � rester faible, dans la mesure o� le fabricant du syst�me n'est pas la seule source possible pour l'achat de modules.

Bien que la plupart des ordinateurs utilisent des modules de RAM conformes aux normes de l'industrie informatique, il existe tout de m�me des exceptions. Parmi les plus importantes figurent les ordinateurs portables (et � ce niveau �galement, un certain degr� de normalisation a lieu) et les serveurs de haut niveau. Toutefois, m�me dans ces cas-l�, il est possible que des modules de RAM d'autres fabricants soient disponibles, � condition que le syst�me soit assez populaire et ne soit pas d'une conception compl�tement nouvelle.

4.2.4. Disques durs

Toutes les technologies examin�es jusqu'� pr�sent sont de nature volatile. En d'autres termes, toutes les donn�es contenues dans un stockage volatil sont perdues lors d'une mise hors tension.

Les disques durs en revanche, sont eux non volatils — en effet, les donn�es qu'ils contiennent sont conserv�es m�me lors d'une mise hors tension. C'est la raison pour laquelle les disques durs occupent une place sp�ciale dans la gamme des options de stockage. En raison de leur nature non volatile, ils repr�sentent une option id�ale en mati�re de stockage de programmes et de donn�es pour une utilisation � plus long terme. Un autre aspect unique des disques durs est que, contrairement � la RAM et � la m�moire cache, il n'est pas possible d'ex�cuter des programmes directement lorsqu'ils sont stock�s sur des disques durs�; ils doivent �tre lus en m�moire vive avant d'�tre ex�cut�s.

La vitesse � laquelle les donn�es sont stock�es et extraites est �galement diff�rente de celle caract�risant le cache et la RAM�; la vitesse des disques durs est g�n�ralement une mesure de grandeur inf�rieur � celle des technologies enti�rement �lectroniques utilis�es pour le cache ou la RAM. Cette diff�rence de vitesse s'explique essentiellement par la nature �lectrom�canique de ces derniers. Tout transfert de donn�es depuis ou vers un disque dur se d�roule selon un processus compos� de quatre �tapes distinctes. La liste figurant ci-dessous illustre non seulement ces �tapes, mais fournit aussi le temps moyen n�cessaire � un disque dur haute performance normal pour effectuer chacune d'elles�:

  • D�placement du bras d'acc�s (5,5 millisecondes)

  • Rotation du disque (0,1 millisecondes)

  • Lecture/�criture de donn�es par les t�tes (0,00014 millisecondes)

  • Transfert de donn�es vers/depuis les composants �lectroniques du disque (0,003 millisecondes)

Parmi toutes ces �tapes, seule la derni�re ne d�pend pas d'un fonctionnement m�canique quelconque.

La mémoire daccès aléatoire est le lieu de stockage des programmes
Remarque
 

Nous n'avons en aucun cas couvert ici tous les aspects des disque durs, mais les technologies de stockage disque sont examin�es de mani�re d�taill�e dans le Chapitre 5. � ce stade, il suffit de garder � l'esprit d'une part, qu'il existe une diff�rence de vitesse �norme entre la RAM et les technologies � base de disques et d'autre part, que leur capacit� de stockage est souvent plus de 10 fois, voire souvent 100 fois, sup�rieure � celle de la RAM.

4.2.5. Stockage de sauvegarde hors ligne

Le stockage de sauvegarde hors ligne va encore plus loin que le stockage sur disque dur en termes de capacit� (sup�rieure) et vitesse (inf�rieure). � ce niveau en effet, les possibilit�s ne sont vraiment limit�es que par votre capacit� � obtenir et � stocker des supports amovibles.

Les technologies utilis�es dans ces p�riph�riques peuvent �tre tr�s vari�es. Ci-apr�s figurent les types les plus couramment utilis�s�:

  • Bande magn�tique

  • Disque optique

Il va de soit que le fait d'avoir des supports amovibles rallonge souvent encore plus le temps d'acc�s, en particulier lorsque les donn�es recherch�es ne sont pas actuellement charg�es sur le p�riph�rique de stockage. L'utilisation de dispositifs robotis�s capables de monter et d�monter automatiquement des supports am�liore quelque peu la situation, mais les capacit�s de stockage des supports de ces p�riph�riques demeurent toutefois limit�es. M�me dans le meilleur des cas, les temps d'acc�s sont mesur�s en secondes, ils demeurent toujours loin des temps d'acc�s pourtant assez longs caract�risant les disques durs haute performance, qui se mesurent eux en plusieurs millisecondes.

Apr�s avoir bri�vement examin� les diff�rentes technologies de stockage utilis�es � l'heure actuelle, il convient maintenant d'aborder les concepts �l�mentaires de la m�moire virtuelle.

Quel est le lieu de stockage des programmes ?

Le disque dur est l'un des principaux composants d'un ordinateur. Son rôle est de stocker des données informatiques : c'est donc la mémoire de celui-ci. Le disque dur contient le système Windows, vos programmes installés ainsi que vos données personnelles.

Est

Cette mémoire vive est tout simplement indispensable à votre ordinateur : c'est elle qui permet au processeur de stocker temporairement les données dont il a besoin pour lancer un programme.

Comment s'appelle la mémoire qui contient les programmes ?

La mémoire centrale contient le programme que le processeur doit exécuter ; ce programme est constitué d'un ensemble d'instructions et de données sur lesquelles les instructions vont agir. Données et instructions sont codées sous forme de chaînes binaires et sont contenues dans des mots de la mémoire.

Quelles sont les mémoires de stockage ?

En informatique, on distingue deux types de mémoires. La RAM, qui n'est autre que la mémoire vive, et la ROM, parfois présentée sous le terme de mémoire morte.