Hiérarchie de mémoire

Un article de Wikipédia, l'encyclopédie libre.
Hiérarchie mémoire d'un ordinateur
Hiérarchie mémoire d'un ordinateur. Les niveaux sont indicatifs : une architecture donnée peut en inclure plus ou moins.

Dans un ordinateur, le processeur accède aux instructions du programme à exécuter ainsi qu'aux données nécessaires à son exécution depuis la mémoire.

Il existe une hiérarchie des mémoires informatiques : les plus rapides sont les plus coûteuses, donc en nombre limité, et placées le plus près du processeur (les registres font partie intégrante du processeur). Les plus lentes sont les moins coûteuses et sont éloignées du processeur.

Le matériel et le système d'exploitation sont responsables du déplacement des objets le long de cette hiérarchie. Par exemple, dans un système de mémoire virtuelle, une faute de page va probablement faire déplacer un bloc de données depuis un niveau assez bas (disque dur) vers la mémoire centrale, puis l'accès à ces adresses en mémoire vont à nouveau créer une recopie vers des caches plus proches du processeur.

C'est la technologie et l'organisation des mémoires qui vont influer sur ses temps d'accès. Par exemple, la mémoire SRAM à un temps d'accès de quelques nanosecondes, tandis que la DRAM est 5 à 10 fois plus lente. Un disque dur peut avoir un taux de transfert de 75 Mo/s, mais qui peut se voir plus que doublé si l'on fait appel à un châssis RAID.

Caractéristiques des différents niveaux de mémoire[modifier | modifier le code]

La capacité, la vitesse et le coût des différents niveaux de mémoire varient grandement. Par exemple, en voici une illustration utilisant des équipements de 2013 (pour le processeur, un Intel Haswell Mobile a été utilisé[1]) :

Type Capacité Vitesse
Registres de processeur quelques milliers d’octets 1 cycle processeur
Mémoire cache CPU Niveau 0 (L0) mémoire des microcodes 6 Ko[2]
Niveau 1 (L1) mémoire cache des instructions 128 Ko 700 Go/s[3]
Niveau 1 (L1) mémoire cache de données
Niveau 2 (L2) cache partagée (instructions et données) 1 Mo 200 Go/s[3]
Niveau 3 (L3) cache partagée (instructions et données) 6 Mo 100 Go/s[3]
Niveau 4 (L4) cache partagée (instructions et données) 128 Mo 40 Go/s[3]
Mémoire vive de type DRAM quelques Go 10 Go/s[3]
Disque dur quelques To
Solid State Drive 600 Mo/s[4]
Librairie de sauvegarde plusieurs exaoctets 160 Mo/s[5]

Les coûts varient également entre les niveaux. Ainsi, en 2012, un Go de mémoire de disque dur coûtait 0,06 € comparativement à 5 € pour un Go de mémoire vive de type DRAM.

Les couts des mémoires diminuent aussi rapidement dans le temps. Le coût d'un Go de mémoire de disque dur a chuté de 0,6 € en 2005 à 0,06 € en 2012. De même, le coût d'un Go de mémoire vive de type DRAM a chuté de 200 € en 2005 à 5 € en 2012.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Article connexe[modifier | modifier le code]