edubun
Français

Mémoire et stockage

Avec des adresses de 32 bits, un processeur peut désigner 4 294 967 296 octets, exactement 4 Gio. Coupe le courant et la RAM oublie tout.

« Mon ordinateur portable a 16 Go de mémoire, il peut donc contenir 16 Go de photos. » Cette phrase confond deux éléments différents, et la publicité de l'ordinateur montre elle-même pourquoi. Elle indique deux tailles, par exemple 16 Go de mémoire et 512 Go de stockage. La mémoire, ou RAM, contient les programmes et les données que le processeur utilise à l'instant. Le stockage, un SSD ou un disque dur plus ancien, conserve tes fichiers quand l'appareil est éteint. Les photos sont du côté des 512 Go. Les 16 Go sont l'espace de travail où va une photo pendant que tu la retouches.

Pourquoi la RAM oublie quand le courant est coupé

La plupart des RAM stockent chaque bit sous forme d'une minuscule charge électrique qui s'échappe si elle n'est pas rafraîchie de nombreuses fois par seconde : tout son contenu disparaît quand le courant est coupé. C'est ce que veut dire « volatile ». Le stockage garde les données sans courant. Un SSD emprisonne des charges dans des cellules de mémoire flash qui les conservent pendant des années, et un disque dur enregistre les bits sous forme de points aimantés sur des plateaux qui tournent. Le stockage est bien plus grand et moins cher par octet, mais beaucoup plus lent d'accès : les programmes sont donc copiés du stockage vers la RAM avant de s'exécuter. C'est cette copie qui a lieu quand une application affiche qu'elle est en cours de chargement.

Comment le processeur trouve un octet parmi des milliards

La mémoire est une longue rangée de cases contenant chacune un octet, et chaque case porte un numéro appelé adresse, à partir de 0. Pour lire ou écrire, le processeur place une adresse sur un ensemble de fils et récupère l'octet stocké à cet endroit. Le nombre de bits d'adresse fixe la quantité de mémoire accessible. Quatre bits d'adresse, comme dans l'ordinateur jouet, donnent 2 puissance 4 = 16 cases. Seize bits en donnent 65 536. Trente-deux bits donnent 4 294 967 296 octets, soit exactement 4 Gio, et c'est pourquoi les anciens systèmes 32 bits ne pouvaient pas utiliser plus de 4 Gio de RAM. Les processeurs 64 bits actuels peuvent en désigner bien plus.

Une case n'a aucune idée de ce que signifient ses bits. Dans l'ordinateur jouet, les 8 bits 00000100 d'une case de données sont le nombre 4, mais lus comme une instruction, les mêmes bits veulent dire HALT 4. Seule la façon dont le processeur atteint une case en décide : comme prochaine instruction, ou comme donnée désignée par une instruction. Cela découle directement de l'idée de von Neumann de garder les deux dans une même mémoire. C'est aussi pourquoi un bogue qui écrit à la mauvaise adresse peut détruire tout un programme.

Chargement

Fais glisser pour tourner. Fais défiler ou pince pour zoomer.

Le programme 4 × 3. Les cases 12 à 15 contiennent des données (en vert) : 1, le résultat en cours, 4 et le compteur 3. Appuie sur Exécuter et regarde la case 13 grandir, 4, 8, 12, pendant que la case 15 décompte. L'exécution complète fait 24 instructions, 72 phases. Chaque case est affichée sous forme de ses 8 bits ; seul le processeur décide s'il s'agit d'une instruction ou d'un nombre.

Chaque niveau plus bas est plus grand et plus lent

La mémoire rapide coûte cher, alors les ordinateurs utilisent des niveaux. Au plus près des circuits se trouvent les registres, quelques dizaines de valeurs sur lesquelles le processeur travaille directement, comme l'accumulateur du jouet. Viennent ensuite les caches, de petits blocs de mémoire rapide sur la puce du processeur elle-même, généralement appelés L1, L2 et L3, qui gardent des copies des parties de la RAM utilisées récemment. Puis la RAM, puis le SSD ou le disque dur, et au-delà le réseau. Chaque niveau plus bas est plus grand et plus lent. Un programme est rapide quand presque tout ce dont il a besoin se trouve déjà dans les niveaux du haut. C'est pourquoi lire des données dans l'ordre est généralement plus rapide que de sauter d'un endroit à l'autre.

RAMMémoire de travail ; volatile
SSDStockage flash ; garde les données sans courant
AdresseLe numéro d'une case mémoire
CachePetite mémoire rapide sur la puce du processeur, qui garde les données récentes
RegistreUne valeur à l'intérieur même du processeur
Adresse sur 32 bits4 294 967 296 octets = 4 Gio
Erreurs fréquentes
  • « Plus de RAM rend le processeur plus rapide. » La taille de la RAM ne change ni l'horloge ni le travail fait à chaque battement. Elle décide de ce qu'on peut garder à portée de main. Si les programmes et les données que tu utilises tiennent déjà dedans, plus de RAM ne change pas grand-chose. S'ils ne tiennent pas, l'ordinateur retourne sans cesse vers le stockage, bien plus lent, et là, plus de RAM aide.
  • « 16 Go de mémoire, c'est de la place pour 16 Go de fichiers. » Les fichiers sont conservés dans le stockage, les 512 Go de la publicité. La RAM est l'espace de travail de ce qui est ouvert en ce moment, et elle se vide quand le courant est coupé.
  • « Si c'est à l'écran, c'est en sécurité dans l'ordinateur. » Un document ouvert se trouve dans la RAM. Tant qu'il n'est pas enregistré dans le stockage, une coupure de courant ou une batterie vide l'efface, car la RAM est volatile.
Note du professeurPartez d'une vraie publicité ou de l'écran de réglages d'un téléphone et demandez quel nombre correspond à la « mémoire » et lequel au « stockage ». La plupart des élèves ont déjà vu les deux nombres en pensant qu'ils voulaient dire la même chose. Un bureau et une bibliothèque font une bonne image : le bureau est petit mais à portée de main, la bibliothèque est grande mais il faut se lever pour y aller. La difficulté est de distinguer une adresse du contenu qui y est stocké. Lancez le programme 4 × 3 et montrez la case 13. L'adresse reste 13 tout le temps, alors que le contenu passe par 0, 4, 8, 12.
  1. Que signifie « volatile » pour la RAM ?
    • Elle perd son contenu quand le courant est coupé
    • Elle est très rapide
    • On ne peut y écrire qu'une seule fois
    • Elle est stockée sur un disque qui tourne
  2. Combien d'octets peuvent désigner des adresses de 32 bits ?
  3. Cela fait combien de Gio ?
  4. Combien de cases mémoire peuvent atteindre 16 bits d'adresse ?
  5. L'ordinateur jouet a 16 cases de 8 bits. Combien de bits de mémoire cela fait-il au total ?
  6. Qu'est-ce qui garde tes fichiers quand le courant est coupé ?
    • SSD
    • RAM
    • Cache
    • Les registres
  7. Range du plus rapide au plus lent.
  8. Quand le programme 4 × 3 s'arrête, quel nombre se trouve dans la case 13 ?
  9. Dans le jouet, une case de données contient 00000100. Lue comme une instruction, que voudrait-elle dire ?
    • HALT 4
    • LOAD 4
    • STORE 4
    • ADD 4
  10. Pourquoi les programmes sont-ils copiés du stockage vers la RAM avant de s'exécuter ?
    • Le processeur accède beaucoup plus vite à la RAM
    • Le stockage ne peut pas contenir de programmes
    • La RAM garde les données quand le courant est coupé
    • Le SSD s'userait immédiatement
L'essentiel
  • La mémoire est faite de cases numérotées ; n bits d'adresse atteignent 2ⁿ cases (32 bits = 4 Gio).
  • Les mêmes bits peuvent être une instruction ou une donnée ; c'est la façon dont le processeur les atteint qui décide.
  • La RAM est une mémoire de travail volatile ; les SSD et les disques durs gardent les données sans courant.
  • Registres, cache, RAM, stockage : chaque niveau plus bas est plus grand et plus lent.
Sources de ce cours (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Consulté le: 2026-10-17