4.2. �ventail des options de stockage
De nos jours, les ordinateurs modernes ont recours � une vari�t�s de technologies de stockage. Chaque technologie sert � remplir une fonction sp�cifique et pour ce faire, dispose de vitesses et de capacit�s appropri�es.
Parmi ces technologies figurent�:
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�:
Rapidit� consid�rable (temps d'acc�s de quelques nanosecondes)
Capacit� faible (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�ts �lev�s (plus d'un dollar par octet)
Toutefois, � l'autre extr�mit� de l'�ventail, le stockage hors-ligne affiche lui, les caract�ristiques suivantes�:
Lenteur consid�rable (les temps d'acc�s peuvent se mesurer en jours si le support de sauvegarde doit �tre achemin� sur de longues distances)
Capacit� �lev�e (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)
Co�ts tr�s �lev�s (de l'ordre du centime par octet)
En utilisant diff�rentes technologies avec des capacit�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 options 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�pend 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 conditions, 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 tr�s limit�s du CPU � vitesse �lev�e d'une part, et la m�moire du syst�me principal — � laquelle on fait g�n�ralement r�f�rence sous l'acronyme RAM[1] — d'une capacit� beaucoup plus �lev�e et relativement lente 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 telle sorte que, lorsque des donn�es doivent �tre lues depuis la RAM, 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 obtenues 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 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 stocker diff�rentes parties de la RAM d'une part, et d'autre part, pour 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 la valeur d'une donn�e change, la nouvelle valeur 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 stock�es dans la m�moire vive ne seraient plus identiques.
Les deux approches diff�rent au niveau de 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 comme �tant des donn�es propres (ou clean, signifiant que les donn�es en cache sont identiques � celles figurant dans la RAM) ou des donn�es sales (ou 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 permettant de transf�rer p�riodiquement des entr�es sales du cache vers la RAM.
4.2.2.1. Niveaux de cache
Les sous-syst�mes de cache des ordinateurs modernes peuvent avoir de multiples niveaux�; c'est-�-dire qu'il peut exister plus d'un niveau de cache entre le CPU et la m�moire principale. Les niveaux de cache sont souvent num�rot�s et les num�ros les plus bas repr�sentent g�n�ralement les niveaux de cache les plus proches du CPU. De nombreux syst�mes ont deux niveaux de cache�:
Le cache de niveau 1 (ou L1), plac� directement sur la puce m�me du CPU et tournant � la m�me vitesse que ce dernier
Le cache de niveau 2 (ou L2), souvent partie int�grante du module CPU et tournant aux m�mes vitesses (ou presque) que celles du CPU, qui 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 de niveau 3 (ou 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 vraisemblablement plus lent) que le cache L2.
Dans tous les 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 (RAM).
4.2.3. M�moire principale — RAM
La m�moire principale (aussi appel�e m�moire vive ou RAM de l'anglais Random Access Memory) constitue l'essentiel du stockage �lectronique pr�sent dans 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." 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 la puce et vers la puce)
Des connexions de lecture/�criture (pour contr�ler si les donn�es doivent �tre stock�es sur la puce, ou au contraire doivent �tre 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 des donn�es dans la RAM�:
Les donn�es � stocker sont envoy�es aux connexions de donn�es.
L'adresse � laquelle les donn�es doivent �tre stock�es est transmise aux connexions d'adresse.
La connexion de lecture/�criture est param�tr�e sur le mode d'�criture.
L'obtention de donn�es est un processus tout aussi simple�:
L'adresse des donn�es recherch�es est transmise aux connexions d'adresse.
La connexion de lecture/�criture est param�tr�e sur le mode de lecture.
Les donn�es recherch�es sont lues � partir des connexions de donn�es.
Ces �tapes, qui semblent relativement simples, se d�roulent � des vitesses tr�s �lev�es�; la dur�e de chacune des �tapes se mesure 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 de RAM individuelles reli�es � une petite carte � circuit int�gr�. 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.
| Remarque |
---|
| L'avantage principal d'un syst�me utilisant des modules de RAM conformes aux normes de l'industrie informatique se situe au niveau du co�t de la m�moire qui � tendance � rester faible puisque le fabricant du syst�me n'est pas la source exclusive 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, ne sont pas de nature volatile — 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. Ceci �tant, 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�rieure � 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 �galement 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.
| Remarque |
---|
| Nous n'avons couvert ici que certains aspects des disques 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 consid�rable 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 de 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 soi 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 charg�es sur le p�riph�rique de stockage au moment de la demande. 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 de tels p�riph�riques demeurent toutefois limit�es. M�me dans le meilleur des cas, les temps d'acc�s sont mesur�s en secondes, ce qui est bien plus long que les temps d'acc�s relativement lents mesur�s en millisecondes qui sont typiques des disques durs haute performance.
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.