Hiérarchie de mémoire
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 proche 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/seconde, 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
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/seconde[3] | |
Niveau 1 (L1) mémoire cache de données | |||
Niveau 2 (L2) cache partagée (instructions et données) | 1 Mo | 200 Go/seconde[3] | |
Niveau 3 (L3) cache partagée (instructions et données) | 6 Mo | 100 Go/seconde[3] | |
Niveau 4 (L4) cache partagée (instructions et données) | 128 Mo | 40 Go/seconde[3] | |
Mémoire vive de type DRAM | quelques Go | 10 Go/seconde[3] | |
Disque dur | quelques To | ||
Solid State Drive | 600 Mo/seconde [4] | ||
Librairie de sauvegarde | plusieurs exaoctets | 160 Mo/seconde[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
- Brooke Crothers, « Dissecting Intel's top graphics in Apple's 15-inch MacBook Pro », sur cnet.com, (consulté le ).
- « Intel's Haswell Architecture Analyzed : Building a New PC and a New Intel », sur anandtech.com (consulté le ).
- (en) « SiSoftware – Windows, Android, GPGPU, CUDA, OpenCL, analysers, diagnostic and benchmarking apps », sur sisoftware.co.uk (consulté le ).
- http://www.tomshardware.com/charts/ssd-charts-2013/AS-SSD-Sequential-Read,2782.html
- http://www.lto.org/technology/generations.html « Copie archivée » (version du 27 juillet 2011 sur l'Internet Archive)
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Memory hierarchy » (voir la liste des auteurs).