Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
La mémoire vive, parfois abrégée avec l'acronyme anglaisRAM (random-access memory), est la mémoire informatique dans laquelle peuvent être enregistrées les informations traitées par un appareil informatique. On écrit mémoire vive par opposition à la mémoire morte[a].
L'acronyme RAM date de 1965.
Caractéristiques générales
Les caractéristiques actuelles de cette mémoire sont :
Sa rapidité d'accès, essentielle pour fournir rapidement les données au processeur ;
Sa volatilité, qui entraîne une perte de toutes les données en mémoire dès qu'elle cesse d'être alimentée en électricité.
Désignations
Il y a deux types principaux de mémoire vive. La mémoire vive dynamique (DRAM) doit être réactualisée périodiquement pour éviter la perte d'information, même sous alimentation électrique normale. La mémoire vive statique (SRAM) n'a pas besoin d'un tel processus sous alimentation électrique normale.
12 bits pour la plupart des premiers mini-ordinateurs de DEC, les appareils d'instrumentation travaillant au mieux sur 12 bits à l'époque.
Détection et correction d'erreurs
Afin d'assurer la fiabilité de l'information enregistrée en mémoire, on ajoute des bits supplémentaires à chaque mot de mémoire. Par exemple,
Dans les mémoires à parité, il y a un bit supplémentaire (dit de contrôle de parité), transparent à l'utilisateur (traitement matériel) ;
Dans les mémoires à correction automatique d'erreur sur 1 bit et détection sur plus d'un bit (ECC), ces bits invisibles sont parfois au nombre de six ou plus ;
Chaque mot des mémoires des serveurs modernes dits non-stop ou 24×365 dispose, en plus des bits de correction, de bits de remplacement qui prennent la relève des bits défaillants à mesure du vieillissement de la mémoire (une défaillance de 10-11 chaque année se traduit par 10,0 bits défaillants par an sur une mémoire de 128 Gio).
Les fabricants recommandent d'utiliser de barrettes de mémoire avec l'ECC pour celles ayant une capacité d'1 Gio ou plus, en particulier celles utilisées dans les serveurs, permettant de détecter les erreurs et de les corriger à la volée. Dans la pratique, les ordinateurs personnels les utilisent très rarement.
Temps d'accès
Le temps d'accès à un mot de la mémoire vive est de quelques dizaines ou centaines de nanosecondes tandis que celui d'une mémoire à disque dur est de quelques millisecondes (c'est-à-dire dix mille à cent mille fois plus lent) et celui d'une mémoire à semi-conducteur est intermédiaire. En revanche, il n'est possible avec ces derniers, de lire et écrire que par blocs de mots.
Un circuit intégré de mémoire ne comporte que le nombre de bits d'adressage mémoire nécessaire pour accéder aux mots de mémoire qu'il contient. L'unité centrale de traitement comporte beaucoup plus de bits d'adresse mémoire qu'un simple circuit intégré de mémoire afin d'adresser davantage de mémoire. Ces bits supplémentaires sont décodés par un circuit spécialisé, nommé décodeur d'adresse ou sélecteur, pour sélectionner le circuit intégré de mémoire approprié grâce à une broche de celui-ci nommé chip select.
Il est très facile de munir un microprocesseur d'une mémoire non contiguë (par exemple de 0 à 4 095, puis un trou, puis de la mémoire entre 16 384 et 32 767), ce qui facilite beaucoup la détection d'erreurs d'adressage éventuelles[réf. nécessaire].
Divers types de mémoire vive
Mémoire vive statique
Une mémoire vive statique est une mémoire vive qui n'a pas besoin de rafraîchissement.
Cette mémoire utilise le principe des bascules électroniques pour enregistrer l'information. Elle est très rapide, mais est cependant chère et volumineuse. Elle consomme moins d'électricité que la mémoire dynamique. Elle est utilisée pour les caches mémoire, par exemple les caches mémoire L1, L2 et L3 des microprocesseurs.
Cette mémoire est une variante de la Static Random Access Memory (SRAM) où on utilise un port double qui permet des accès multiples quasi simultanés, en entrée et en sortie.
Cette mémoire utilise la charge magnétique de l'électron pour enregistrer l'information. Elle possède un débit de l'ordre du gigabit par seconde, un temps d'accès comparable à de la mémoire DRAM (~10 ns) et elle est non-volatile. Étudiée par tous les grands acteurs de l'électronique, elle a commencé à être commercialisée en 2006, mais reste en 2020 confinée à un marché de niche.
Cette mémoire utilise le changement de phase du verre pour enregistrer l'information. Elle est non-volatile. Elle a commencé à être commercialisée en 2012.
Une mémoire vive dynamique est une mémoire vive qui a besoin de rafraîchissement.
La simplicité structurelle d'une mémoire vive dynamique (DRAM) (un condensateur et un transistor pour un bit) permet d'obtenir une mémoire dense à faible coût. Son inconvénient réside dans les courants de fuite des condensateurs : l'information disparaît à moins que la charge des condensateurs ne soit rafraîchie avec une période de quelques millisecondes, d'où le terme de dynamique. A contrario, les mémoires vives statiques (SRAM) n'ont pas besoin de rafraîchissement, mais utilisent plus d'espace et sont plus coûteuses.
↑La mémoire morte doit son nom au fait qu'elle est en lecture seule : ROM de l'anglais Read Only Memory.
↑L'expression « accès direct » s'oppose ici à « accès séquentiel » d'une bande magnétique, par exemple. Le mot anglais « random » ne peut être traduit par « aléatoire » comme c'est très souvent le cas, mais implique que l'on peut accéder à n'importe quelle donnée directement sans avoir besoin de lire toutes les données qui précèdent.