Types de mémoires vivesOn distingue généralement deux grandes catégories de mémoires vives :
- Les mémoires dynamiques (DRAM, Dynamic Random Access Module), peu coûteuses.
Elles sont principalement utilisées pour la mémoire centrale de l'ordinateur ;
- Les mémoires statiques (SRAM, Static Random Access Module), rapides et onéreuses.
Les SRAM sont notamment utilisées pour les mémoires cache du processeur ;
Fonctionnement de la mémoire viveLa mémoire vive est constituée de centaines de milliers de petits condensateurs
emmagasinant des charges. Lorsqu'il est chargé, l'état logique du condensateur est
égal à 1, dans le cas contraire il est à 0, ce qui signifie que chaque condensateur
représente un
bit de la mémoire.
Etant donné que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est
rafraîchir, en anglais
refresh)
à un intervalle de temps régulier appelé
cycle de rafraîchissement.
Les mémoires DRAM nécessitent par exemple des cycles de rafraîchissement
est d'environ 15 nanosecondes (ns).
Chaque condensateur est
couplé à un transistor (de type
MOS) permettant de « récupérer » ou de modifier l'état du condensateur.
Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire
que l'on accède à une
case mémoire (aussi appelée
point mémoire) par une ligne et une colonne.
Chaque point mémoire est donc caractérisé par une adresse, correspondant à
un numéro de ligne (en anglais
row) et un numéro de colonne (en anglais
column). Or cet accès n'est pas instantané et s'effectue pendant un délai appelé
temps de latence. Par conséquent l'accès à une donnée en mémoire
dure un temps égal au temps de cycle auquel il faut ajouter le temps de latence.
Ainsi, pour une mémoire de type DRAM, le temps d'accès est de 60 nanosecondes
(35ns de délai de cycle et 25 ns de temps de latence). Sur un ordinateur, le temps de cycle
correspond à l'inverse de la fréquence de l'horloge, par exemple pour un ordinateur
cadencé à 200 MHz, le temps de cycle est de 5 ns (1/(200*10
6)).
Par conséquent un ordinateur ayant une fréquence élevée et utilisant
des mémoires dont le temps d'accès est beaucoup plus long que le temps de cycle du processeur
doit effectuer des
cycles d'attente (en anglais
wait state) pour accèder à la mémoire. Dans le cas d'un ordinateur
cadencé à 200 MHz utilisant des mémoires de types DRAM (dont le temps d'accès
est de 60ns), il y a 11 cycles d'attente pour un cycle de transfert. Les performances de l'ordinateur sont
d'autant diminuées qu'il y a de cycles d'attentes, il est donc conseillé d'utiliser des mémoires plus rapides.
Formats de barrettes de mémoire viveIl existe de nombreux types de mémoires vives. Celles-ci se présentent toutes sous
la forme de barrettes de mémoire enfichables sur la carte-mère.
Les premières mémoires se présentaient sous la forme de
puces appelées
DIP (
Dual Inline Package). Désormais les mémoires
se trouvent généralement sous la forme de barrettes, c'est-à-dire des cartes
enfichables dans des connecteurs prévus à cet effet. On distingue habituellement trois types de barrettes
de RAM :
- les barrettes au format SIMM (Single Inline Memory Module) : il s'agit de circuits
imprimés dont une des faces possède des puces de mémoire. Il existe deux types
de barrettes SIMM, selon le nombre de connecteurs :
- Les barrettes SIMM à 30 connecteurs (dont les dimensions sont 89x13mm) sont des mémoires
8 bits qui équipaient les premières générations de PC (286, 386).
- Les barrettes SIMM à 72 connecteurs (dont les dimensions sont 108x25mm) sont des mémoires capables
de gérer 32 bits de données simultanément. Ces mémoires équipent des PC allant
du 386DX aux premiers Pentium. Sur ces derniers le processeur travaille avec un bus de données d'une
largeur de 64 bits, c'est la raison pour laquelle il faut absolument équiper ces ordinateurs de deux barrettes
SIMM. Il n'est pas possible d'installer des barrettes 30 broches sur des emplacements à 72 connecteurs dans
la mesure où un détrompeur (encoche au centre des connecteurs) en empêche l'enfichage.
</li>
les barrettes au format DIMM (Dual Inline Memory Module) sont des mémoires 64 bits, ce
qui explique pourquoi il n'est pas nécessaire de les apparier.
Les barrettes DIMM possèdent des puces
de mémoire de part et d'autre du circuit imprimé et ont également 84 connecteurs de chaque
côté, ce qui les dote d'un total de 168 broches. En plus de leurs dimensions plus grandes que les
barrettes SIMM (130x25mm) ces barrettes possèdent un second détrompeur pour éviter la
confusion.
Il peut être intéressant de noter que les connecteurs DIMM ont été
améliorés afin de faciliter leur insertion grâce à des leviers situés de part
et d'autre du connecteur.
Il existe en outre des modules de plus petite taille, appelés SO DIMM (Small Outline DIMM),
destinés aux ordinateurs portables. Les barrettes SO DIMM comportent uniquement 144 broches pour les
mémoires 64 bits et 77 pour les mémoires 32 bits.
les barrettes au format RIMM (Rambus Inline Memory Module, appelées également
RD-RAM ou DRD-RAM) sont des mémoires 64 bits
développée par la société Rambus. Elles possèdent 184 broches. Ces barrettes possèdent
deux encoches de repérage (détrompeurs), évitant tout risque de confusion avec les modules précédents.
Compte tenu de leur vitesse de transfert élevée, les barrettes RIMM possèdent un film thermique chargé
d'améliorer la dissipation de la chaleur.
Comme dans le cas des DIMM, il existe des modules de plus petite taille, appelés SO RIMM (Small Outline RIMM),
destinés aux ordinateurs portables. Les barrettes SO RIMM comportent uniquement 160 broches.
DRAM PMLa
DRAM (
Dynamic RAM, RAM dynamique)
est le type de mémoire le plus
répandu au début du millénaire. Il s'agit d'une mémoire dont
les transistors sont rangés dans une matrice selon des lignes et des
colonnes.
Un transistor, couplé à un condensateur donne l'information d'un bit. 1
octet comprenant 8 bits, une barrette de mémoire DRAM de 256 Mo
contiendra donc
256 * 2^10 * 2^10 = 256 * 1024 * 1024 = 268 435 456 octets = 268 435
456 * 8 = 2 147 483 648 bits = 2 147 483 648 transistors.
Une barrette de 256
Mo possède ainsi en réalité une capacité de
268 435 456 octets, soit 268 Mo !
Ce sont des mémoires dont le temps d'accès est de 60 ns.
D'autre part, les accès mémoire se font généralement sur
des données rangées consécutivement en mémoire. Ainsi le mode
d'accès en
rafale (
burst mode) permet d'accéder aux trois données
consécutives à la première sans temps de latence supplémentaire.
Dans ce mode en rafale, le temps d'accès à la première donnée est
égal au temps de cycle auquel il faut ajouter le temps de latence, et le temps d'accès
aux trois autres données est uniquement égal aux temps de cycle, on note donc sous
la forme X-Y-Y-Y les quatre temps d'accès, par exemple la notation
5-3-3-3 indique une
mémoire pour laquelle 5 cycles d'horloge sont nécessaires pour accéder à
la première donnée et 3 pour les suivantes.