Parlons Hardware – A quoi sert la RAM?

Parlons Hardware – A quoi sert la RAM?

13 février 2019 Non Par Tomasz EJCHLER

Dans cette série d’articles que vous propose WeGeek, nous parlerons de différents points Hardware.

A savoir une RAM est une mémoire volatile, qui s’efface des lors que l’on coupe le courant. Il faut donc qu’elle se décharge sur le Disque Dur avant l’arrêt si l’on veut que nos données modifiées soient sauvegardées pour le prochain démarrage.​ Tout le travail que l’on effectue est situé dans la RAM​.

Types de mémoires vives :

Les mémoires dynamiques (DRAMDynamic Random Access Module), peu coûteuses. Elles sont principalement utilisées pour la mémoire centrale de l’ordinateur. Les mémoires statiques (SRAMStatic Random Access Module), rapides et onéreuses. Les SRAM sont notamment utilisées pour les mémoires cache du processeur.​

  • La 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*106)). ​
  • 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 vive​:

Il 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.​

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.

La DRAM EDO (Extended Data Out, soit Sortie des données améliorée parfois également appelé “hyper-page“) est apparue en 1995. La technique utilisée avec ce type de mémoire consiste à adresser la colonne suivante pendant la lecture des données d’une colonne. Cela crée un chevauchement des accès permettant de gagner du temps sur chaque cycle. Le temps d’accès à la mémoire EDO est donc d’environ 50 à 60 nanosecondes pour une fréquence de fonctionnement allant de 33 à 66 Mhz. ​

Ainsi, la RAM EDO, lorsqu’elle est utilisée en mode rafale permet d’obtenir des cycles de la forme 5-2-2-2, soit un gain de 4 cycles sur l’accès à 4 données. Dans la mesure où la mémoire EDO n’acceptait pas des fréquences supérieures à 66 Mhz, elle a disparu au bénéfice de la SDRAM. ​

Les barrettes de mémoire ECC (Error Correction Coding) sont des mémoires possédant plusieurs bits dédiés à la correction d’erreur (on les appelle ainsi bits de contrôle). Ces barrettes, utilisées principalement dans les serveurs, permettent de détecter les erreurs et de les corriger. ​

Barrettes avec registre ou tampon (registered ou buffered)​ :

Ces barrettes ont un registre entre les puces de DRAM et le contrôleur mémoire du système (dans le chipset ou dans le processeur). Ce registre retient les données pendant un cycle d’horloge avant qu’elles ne soient envoyées vers le contrôleur mémoire. Ce processus augmente la fiabilité du transfert de données, au détriment du temps de traitement, en retard d’un cycle d’horloge par rapport à de la mémoire sans registre. Ces modules de mémoire avec registre ne sont généralement utilisés que dans les serveurs. 

Dual Channel​ :

La plupart des contrôleurs mémoire proposent un fonctionnement en double canal (en anglais Dual Channel) pour la mémoire. Il s’agit d’exploiter les modules de mémoire par paire afin de cumuler la bande passante et ainsi exploiter au maximum les capacités du système. Il est essentiel, lors de l’utilisation du Dual Channel, d’utiliser des barrettes identiques par paire (fréquence, CAS, capacité, et préférentiellement de même marque).