PROJET AUTOBLOG


le hollandais volant links

Site original : le hollandais volant links

⇐ retour index

Mémoire vive — Wikipédia

dimanche 28 février 2021 à 20:07

RAM, pour « random access memory ».

Parfois, on traduit « random » par « aléatoire », et donc RAM par « mémoire à accès aléatoire ».

Sauf que ça ne veut pas dire la même chose : le système n’accède pas de façon aléatoire aux bits enregistrés dans la mémoire. Vous imaginez le bordel, s’il sortait des informations de façon aléatoire ?

En vrai, leur « random » se traduirait par « désordonné » ou « déséquentialisé », dans le sens où l’on supprime l’ordre d’accès ou la séquence d’accès au bits.

Ça veut dire quoi ?

Vous vous souvenez des vieilles cassettes audio ? Ben pour avoir accès à la 6e chanson, il fallait d’abord passer la chanson 1, la 2, la 3, la 4, la 5 et enfin lire la 6.

Dans la façon dont fonctionnait ce support de stockage, on devait faire défiler la bande magnétique du début jusqu’à l’emplacement désiré.

À l’inverse, sur un disque dur, un CD, on peut accéder pratiquement instantanément à n’importe quel endroit du disque. Il n’y a plus tellement de notion de « début du disque » ou « fin du disque ».
Bien-sûr, il y a la piste n°1 sur un CD, mais c’est purement un truc logique, voir marketing. L’artiste avait décidé que telle chanson serait la première, du coup les métadonnées sur le CD disaient « lire cette piste en premier ». Mais c’était un choix logique, pas une limitation matérielle.
Si l’on a envie de commencer par la dernière piste du CD, on peut le faire. Sur un PC par exemple, il suffit de double cliquer sur la dernière piste et elle est lu. Il n’y a pas besoin de lire toutes les autres pistes avant.

Sur une cassette, la mémoire est séquentielle : on doit faire défiler le début avant d’accéder à la fin. Sur un CD, la mémoire est à accès directe : on accède immédiatement au bit que l’on souhaite, peu importe sa position sur le disque.

~

D’un point de vue plus technique, les anciennes mémoires (à accès séquentielles) peuvent se voir comme un empilement (ou « stack », en anglais) de cases mémoire.

Y avait deux façons de faire : LIFO et FIFO.

— LIFO : « Last in, first out », soit « le dernier entré, le premier sorti ». Ici, les informations sont stockées en les empilant les uns sur les autres, et la seule information accessible est celle du dessus.
Un peu comme quand on fait une pile de crêpes : la dernière crêpe que l’on pose sur la pile sera la première à être servie. Si l’on veut avoir la toute première crêpe qui a été cuite, on doit d’abord dépiler toutes celles posées dessus. Dans le cas de la mémoire c’était ça : si on voulait la première information enregistrée, il fait tout dépiler les informations stockées après.

— FIFO : « First in, first out », soit « le premier entré, le premier sorti ». Ici, les informations sont toujours empilées les unes sur les autres, mais la seule information accessible est celle du dessous.
Une analogie pour ça peut être la queue à la caisse d’un supermarché : la première personne à arriver sera aussi la première à sortir du magasin avec ses courses payées. De la même façon, la première information stockée, même si elle est sous une pile immense d’autres informations, sera la première et la seule à pouvoir être lue : les informations sont lues d’un côté, mais les nouvelles informations sont ajoutées de l’autre côté.

Ça c’était (et c’est encore) les formes de mémoire utilisées dans un ordinateur à des niveaux très bas dans la logique machine. Bien-sûr, quand on tape du texte ou joue à un jeu, on s’en fiche de tout ça.

Mais tout ça s’oppose à la mémoire à accès direct, comme la RAM, où l’information n’est pas enregistrée sous une forme empilée, mais plutôt sous une forme de matrice (un tableau X*Y).
La RAM, on peut accéder à n’importe quel bit, sans avoir à dépiler toutes les autres informations situées avant, ou après.

Le « Random » vient de là.
Si l’on tient réellement à employer le mot « aléatoire », disons que dans le cas de la RAM, on peut choisir un nombre aléatoire (par exemple 42) et accéder directement au bit n°42 dans la mémoire, sans avoir à dépiler et déplacer les 41 bits précédents.


— (permalink)