TOUT SUR LA MÉMOIRE RAM

Un aperçu des différents types de RAM.


Par David K. Every, traduit de l'anglais par Charles Giguère.
(C) 1997 - Tous droits réservés par l'auteur
 

RAM signifie Random Access Memory (mémoire à accès aléatoire) (1). La RAM est abordable et rapide comparativement à d'autres types de mémoire. La RAM est une zone de stockage temporaire. Les données emmagasinées dans la RAM à partir du disque dur ou d'un ROM, seront perdues dès que l'ordinateur sera éteint. Rappelez-vous de sauvegarder ce que vous avez en RAM sur votre disque dur avant d'éteindre l'ordinateur ou vous perdrez tout. Imaginez que votre disque dur est une étagère et que la RAM est votre bureau. La RAM est l'endroit où vous effectuez du travail. Plus grand est votre bureau, le plus de choses vous pouvez y mettre, sans que les choses ne se recouvrent pour en cacher d'autres.


(1) C'est plutôt bizarre puisque la ROM est également à accès aléatoire, mais n'essayez pas de comprendre la terminologie informatique -- ça ne fera que vous frustrer.

L'emballage

Il fût un temps où la RAM était vendu en puces individuelles que vous insériez séparément dans de petites cavités. C'était vraiment un tas de problèmes. Maintenant les puces de RAM sont habituellement soudées sur de petits circuits électroniques (bâtonnets) appelés SIMM ou DIMM. Il y a également des circuits de mémoire adaptés pour certains dispositifs, mais la plupart des compagnies ont adopté des «standards».

SIMM signifie Single Inline Memory Module (module de mémoire simple en ligne), DIMM signifie Dual Inline Memory Module (module de mémoire double en ligne) -- la différence, c'est que les DIMM ont plus de broches (ils utilisent les deux côtés du circuit électronique) et renferment plus d'espace mémoire. Physiquement ils sont de formes différentes, ainsi vous ne pouvez pas accidentellement insérer le mauvais type d'emballage et briser quelque chose. Pour embrouiller davantage les standards, les fabricants ont conçu différents types de SIMM et DIMM -- pour que vous ayez à contacter le support technique afin de savoir quel TYPE de SIMM/DIMM et quel type de mémoire vous avez besoin. Certains SIMM ou DIMM diffèrent physiquement pour que vous ne puissiez pas insérer le mauvais type, mais la plupart sont semblables.

Il y a également un nouvel emballage appelé SO-DIMM. SO signifie Small Outline, ce qui veut dire qu'ils sont physiquement plus petits. C'est important pour les ordinateurs portables, et la plupart d'entre eux utiliseront les SO-DIMM dans le futur (ce n'est pas encore très répandu).

Encore aujourd'hui certaines mémoires sont livrées dans des emballages propriétaires -- habituellement soudées sur des cartes de mémoire adaptées. C'est plus courant dans les portables. Certaines mémoires sont disponibles sur des cartes mémoires standard, comme les cartes PCMCIA, PC-CARD ou CARD-BUS (qui sont à peu près tous semblables).

La plupart du temps vous n'avez pas à connaître les différents types de SIMM ou DIMM. Vous pouvez appeler votre fournisseur et demander de la mémoire pour votre ordinateur, selon votre modèle, il vous dira ce dont vous avez besoin. Ainsi ces explications ne vous sont données uniquement en tant que base d'informations.

 

Les caractéristiques

La différence entre les types d'emballage (SIMM ou DIMM) repose souvent sur le nombre de broches (raccords) sur les bords du circuit. Quelquefois ce sera les fonctions de l'emballage ou la configuration de mémoire sur l'emballage. Les différentes caractéristiques de RAM sont :

PARITÉ, c'est l'utilisation d'un petit peu de mémoire supplémentaire (un bit supplémentaire pour chaque 8 bits) permettant de valider la valeur, afin d'être sûr que la valeur en RAM est la bonne. C'est un peu comme indiquer le nombre de pages expédiées par télécopieur pour que le destinataire sache qu'il a bien reçu toutes les pages. En théorie c'est bien, mais la RAM d'ordinateur (dans les applications courantes) ne fait défaut qu'une fois tous les 10 à 50 ans environs. La plupart des ordinateurs avec la RAM munie de la parité ne peuvent faire autre chose (lorsque la parité indique une erreur) que de planter immédiatement -- ce qui prévient l'écriture de données erronées sur le disque dur, et c'est à peu près tout. En général une erreur de parité surviendra dans une zone de mémoire qui n'affecte rien du tout. Alors pour un coût de 15% supérieur, vous avez très peu en retour, excepté une machine qui peut planter une fois de plus chaque 50 ans.

ECC, c'est un autre type de mémoire «à correction d'erreur» mais qui utilise un meilleur algorithme (peut détecter plus d'erreur). La parité ne peut détecter qu'une erreur équivalent à un bit (pour chaque octet), si deux bits du même octet sont erronés, alors la parité ne détecte pas d'erreur. ECC peut détecter les erreurs d'un et deux bits. Encore ici, le coût est supérieur à la mémoire ordinaire -- et n'apporte pas grand-chose pour la plupart des utilisateurs. Une erreur d'un seul bit est peu fréquente -- alors les chances qu'une erreur de deux bits survienne au même endroit en même temps sont encore moins fréquentes. La RAM fait défaut si rarement que c'est une paranoïa anachronique datant des vieilles années (10 à 20 ans auparavant) alors que la RAM n'était pas aussi fiable qu'aujourd'hui.

Voltage. La mémoire de 5V est la plus répandue, mais la vitesse, la taille et le voltage sont tous reliés. Plus la vitesse est élevée et la taille petite, plus le voltage doit être élevé. Ainsi les DIMM de 3.3V sont de plus en plus répandus, et il est possible que le voltage 2.5V devienne un jour la norme. Ainsi les différents voltages ne sont pas des caprices -- cependant ils confondent les utilisateurs.

VITESSE. La mémoire tourne à différentes vitesses -- mesurée en nanoseconde (milliardième de seconde). Votre mémoire doit être aussi rapide que ce dont l'ordinateur a besoin, sinon vous obtiendrez des erreurs de mémoire. Alors un ordinateur qui demande de la «RAM 70ns» aura besoin de RAM à 70ns ou plus rapide. 60ns est plus rapide et pourrait être utilisée, mais l'ordinateur accédera la mémoire à sa vitesse (70ns), alors vous n'y gagnerez rien. Ici plus le chiffre est petit, plus c'est rapide parce qu'il s'agit de la mesure du temps d'accès -- 60 milliardièmes est plus petit et plus rapide (prend moins de temps) que 70 milliardièmes de seconde.

DUAL-PORTED (VRAM). La RAM ne peut être normalement lue que par un seul dispositif à la fois (un seul BUS). Mais certains concepts sont plus simples si vous avez de la DUAL-PORTED RAM, une RAM qui accepte que deux dispositifs indépendants lui parlent en même temps (d'où le terme DUAL, deux, et PORTED, pour deux ports). Pour la RAM vidéo cela signifie que l'ordinateur (CPU) peut lire et écrire dans la RAM en même temps que le circuit électronique de la vidéo le fait également (afin de mettre à jour l'image de votre écran). Elle peut également être utilisée dans d'autres types d'entrées/sorties. C'est un peu comme si vous pouviez tenir deux conversations en même temps.

NV-RAM. Il s'agit de RAM non volatile -- elle n'oublie jamais, même si l'alimentation est coupée. La NV-RAM est fabriquée de différentes manières. Quelquefois c'est un EEPROM, mais souvent il s'agit de RAM dynamique à basse consommation alimentée par une pile interne ou par une pile située sur un circuit externe.

PRAM -- Parameter RAM (RAM à paramètres). Les Macs (et certains autres ordinateurs) ont une petite quantité de mémoire qui se rappelle certaines choses, même lorsque l'alimentation est coupée. Elle est souvent appelée Parameter RAM ou PRAM. Le nom indique la fonction de la RAM et non le type. Habituellement la PRAM des Macs est une SRAM alimentée par une pile (un type de NV-RAM) et est située dans une puce spécialisée qui fait autres choses, comme conserver la date et l'heure, et fournir cette information à l'ordinateur.

 

Les types

Non seulement existe-t-il différents types d'emballages de RAM et différentes caractéristiques, mais il existe également différents TYPES de RAM.

RAM DYNAMIQUE (DRAM) - c'est le type de RAM utilisé dans la plupart des micro-ordinateurs. Elle est peu dispendieuse -- comparativement à d'autres types de RAM. Le nom est redondant puisque Dynamique signifie «changement» alors que tous les types de RAM peuvent «changer» -- c'est ce qui différencie la RAM d'un ROM. Dans ce cas-ci le terme Dynamique est très spécifique, il signifie que la DRAM ne conservera pas son contenu très longtemps (millionième de seconde). Alors la DRAM a besoin de son propre circuit électronique pour se rafraîchir -- se rappeler de ce qu'elle possède déjà. Ce circuit électronique doit regarder chaque position à l'intérieur de lui-même et se rappeler qu'il doit en conserver la valeur -- qui se dissipera peu à peu jusqu'à ce qu'il revienne pour se la rappeler de nouveau. Par exemple, c'est comme si vous marchiez dans la rue en vous répétant à vous-même un numéro de téléphone ou une adresse parce que vous ne voulez pas l'oublier. La DRAM doit faire cela parce qu'elle utilise des capacités pour emmagasiner les valeurs (sorte de petite pile de très courte durée), à la place d'un jeu complexe de circuits électroniques (portes logiques). Les capacités ne demeurent chargées que pendant un certain temps, alors vous devez constamment les recharger. Puisque les capacités sont faciles à fabriquer et que le circuit de rafraîchissement peut être utilisé pour la puce entière, le coût des DRAMs est bas. Mais parce que les capacités sont lentes et qu'une logique de rafraîchissement fait partie intégrante d'elles, l'accès aux DRAMs est plus lent que les autres types de mémoire. Un accès prend environ 60ns (60 milliardièmes de secondes).

RAM STATIQUE (SRAM) - c'est le type utilisé lorsqu'on a besoin de mémoire rapide. Contrairement au concept de rafraîchissement de la mémoire RAM Dynamique, la SRAM utilise un concept plus complexe d'interrupteurs (appelé flip-flop). Cela signifie qu'une fois une valeur fixée dans la SRAM, elle n'a pas à être rafraîchie pour être conservée. Mais plus il y a d'interrupteurs (portes) dans une puce, plus son coût est élevé et plus l'espace nécessaire est grand. Les interrupteurs sont plus rapides que les capacités, ainsi la SRAM est rapide. Puisqu'elle n'a pas besoin d'être rechargée par un processus de rafraîchissement, elle consomme moins d'énergie. La SRAM est souvent utilisée dans les portables (ou encore ils utilisent la Pseudo RAM Statique qui est une DRAM à basse consommation prétendant être de la SRAM). La SRAM est également utilisée dans les caches L2, en tant que mémoire vidéo et dans d'autres applications requérant beaucoup de vitesse. Les temps d'accès sont de l'ordre de 8 à 14ns (milliardième de seconde) -- ou de 5 à 10 fois plus rapides que la DRAM.

 

Les types d'accès (lecture)

La manière d'accéder à l'information en mémoire peut aussi changer le nom de la RAM et ses caractéristiques de performance. Les programmeurs accèdent à la mémoire sous la forme d'un vecteur géant linéaire (une dimension) d'adresses -- tout comme les adresses de votre rue ou les numéros de téléphone sont différents d'un voisin à l'autre. Cependant, à l'intérieur de la puce, la mémoire est représentée sous la forme d'une grille à deux dimensions. C'est un peu comme le code postal du bureau de poste ou l'indicatif régional (préfixe) d'un numéro de téléphone - cela permet de faire un pré-tri selon la région, les chiffres les moins significatifs permettant de localiser précisément l'endroit dans la région. À l'intérieur de la RAM ce sont les lignes de contrôle RAS (Row Access Strobe, ligne d'accès) et CAS (Column Access Strobe, colonne d'accès) qui permettent de former les adresses.

Interleave (interfoliage) - La mémoire peut être lue selon la largeur du BUS (qui varie selon le processeur et l'ordinateur). La mémoire est plus lente que le CPU. Alors si vous prenez 2 (ou 4) banques de mémoires, et que vous les interfoliez, vous pourrez augmenter la vitesse. L'interfoliage est l'alternance des adresses entre deux puces (un va-et-vient entre 2 puces différentes). Imaginez les ensembles de données «AAA» et «BBB», lorsqu'ils sont interfoliés nous obtenons «ABABAB», Puisque la mémoire est souvent lue séquentiellement, et que la vitesse d'accès est fixe, en alternant les adresses ont peu presque doubler la vitesse d'accès. Lorsqu'une lecture est effectuée sur la banque A, la banque B est prête -- lorsqu'une lecture est effectuée sur la banque B, A est entrain d'obtenir sa prochaine adresse et pendant la lecture sur B on revient sur A, A est prête à renvoyer les données.

FPM RAM - Fast Page Mode RAM, RAM en mode page rapide. Plutôt que d'envoyer les adresses une par une en utilisant les lignes de contrôles CAS et RAS vues précédemment, on peut tricher. On envoie l'adresse complète une seule fois, puis tant qu'on se trouve dans la même région (colonne), on a qu'à déplacer la ligne d'adresse (la dernière partie). Puisque la puce ne fait pas beaucoup de changement de région, la vitesse est augmentée, la plupart du temps. C'est ce que page rapide signifie -- c'est rapide à l'intérieur d'une page (colonne). Mais lorsque vous sortez de cette région (colonne) la performance en souffre un peu. Alors c'est plus rapide pour les accès séquentiels, mais n'apporte pas beaucoup de gain en vitesse pour des accès aléatoires de la mémoire. (Heureusement, la plupart des accès sont séquentiels).

HPM/EDO RAM - Hyper Page Mode ou Extended Data Out RAM. Ce type d'accès utilise un joli artifice -- la mémoire retient ses vieilles données jusqu'à ce que vous ayez terminé d'envoyer une nouvelle adresse. Cela permet au CPU de lire les données, pendant que la RAM cherche l'adresse suivante. Normalement la RAM remet les données valides à un état nul dès que vous envoyez une nouvelle adresse. Sur la mémoire EDO, cela veut dire qu'il y a moins de perte de temps entre la fin de lecture d'une adresse et le début de lecture d'une autre -- parce que la EDO a déjà commencé à chercher l'adresse suivante pendant que vous terminez de lire la dernière. Imaginez que vous cherchez deux mots dans le dictionnaire (au hasard) -- en temps normal, lorsque vous avez terminé de lire la définition d'un mot, vous débutez la recherche du mot suivant pour lire sa définition. Avec la EDO, dès que vous débutez la lecture de la définition du premier mot, une partie de vous débute la recherche du mot suivant, alors aussitôt la lecture de la définition du premier mot terminée, vous pouvez immédiatement débuter la lecture de la définition du second mot car il a déjà été localisé.

BEDO RAM - Burst EDO RAM. Je ne sais pas en quoi elle diffère de la EDO ou la SRAM. Je crois que c'est un hybride entre les deux. Burst veut généralement dire quelque chose comme «synchrone» -- le premier accès est normal, alors que le reste vous est renvoyé très rapidement.

SDRAM - RAM Dynamique Synchrone. C'est un nouveau type de DRAM rapide. Les performances sont de mieux en mieux et rivalisent avec la SRAM. Les temps d'accès pour la SDRAM interfoliée peuvent être de 8 à 10ns, mais pas pour toutes les adresses (c'est une moyenne). La SDRAM utilise un artifice d'adressage. Lorsque vous demandez une adresse, la SDRAM vous trouvera cette adresse, puis à chaque coup d'horloge elle vous donnera l'adresse suivante séquentiellement (jusqu'à un nombre déterminé). Ainsi votre premier accès est normalement lent, puis toutes les adresses séquentielles suivantes seront crachées très rapidement. Dans la puce, il y a une logique importante permettant de supporter cela (un contrôleur interne) et c'est programmable jusqu'à un certain point (vous pouvez modifier la taille des données qui peut être renvoyée), c'est appelé à devenir la norme dans les futures mémoires centrales à cause du gain en vitesse.

Conclusion

Rappelez-vous, la mémoire RAM est livrée dans un emballage (DIMM/SIMM) et possède différentes caractéristiques et attributs (Parité, sans parité, vitesse, voltage, etc.). Elle est de conception différente (Statique ou Dynamique) et possède une méthode d'accès (Interfoliée, Page rapide, EDO, SDRAM). Tout cela ensemble définit le type exact de mémoire que vous utilisez.