Mémoire
Noter ce cours :
A quoi sert la mémoire vive ?
La mémoire vive (aussi appelée RAM pour Random Acess Memory - mémoire à accès aléatoire) permet de stocker les informations dont l'ordinateur a besoin rapidement et dont il se sert souvent. Lorsque vous ouvrez un programme, celui-ci est stocké dans la mémoire vive de votre PC, qui dispose d'un accès beaucoup plus rapide que le disque dur. Pourquoi ne pas avoir utilisé de la mémoire vive dans ce cas pour stocker les données ? C'est très simple : la mémoire vive est volatile. Une simple perte de courant et elle perd toutes ses informations ! De plus, son coût et son encombrement sont bien plus élevés que ceux d'un disque dur.
Fonctionnement de la mémoire vive (RAM)
La mémoire se présente sous forme de composants électroniques ayant la capacité de retenir des informations (les informations étant de type binaire, 0 ou 1). Chaque "bit" mémoire est composé d'un transistor (qui permet de lire ou d'écrire une valeur) accouplé à un condensateur (qui permet de retenir l'état binaire : 1 quand il est chargé et 0 quand il est déchargé). La mémoire est organisée sous forme de lignes et de colonnes. A chaque intersection correspond un bit de mémoire. Voici la représentation d'un bit :
Les condensateurs se déchargent (leur tension diminue), il est nécessaire de les recharger pour éviter les pertes d'informations. On appelle cela le rafraîchissement. Une barrette de mémoire est constituée de trois éléments principaux :
- La mémoire proprement dite (en réalité plusieurs tableaux de bits mémoire)
- Un buffer (zone de tampon) entre la mémoire et le bus de données
- Le bus de données (qui est relié à certains pins (contacts) de la barrette et est en relation avec la carte-mère)
Temps d'accès, de lecture et d'écriture (timings)
L'accès à un bit de mémoire se fait suivant plusieurs étapes, chacune de ces étapes nécessitant un certain temps (appelé timing). Il y a plusieurs étapes, donc plusieurs temps (timings). Nous allons détailler chacun de ces timings (dont la valeur est indiqué en cycles dans le BIOS, un cycle correspondant à l'inverse de la fréquence. Plus la fréquence est élevée, plus le temps diminue. La relation exacte est la suivante :
T = 1/f, où f représente la fréquence du bus.
A 200 MHz, T est égal à 5 ns (nanosecondes).
- Le RAS precharge Time : c'est l'intervalle de temps nécessaire avant d'envoyer une autre commande RAS.
- Le RAS : c'est le temps nécessaire pour sélectionner une ligne.
- Le RAS to CAS : c'est le temps nécessaire pour passer du mode de sélection de lignes au mode de sélection de colonnes.
- Le CAS : c'est le temps nécessaire pour sélectionner une colonne
Lorsqu'on parle de timings mémoire on communique souvent les timings dans l'ordre suivant (même si ce n'est pas indiqué) :
- CAS
- RAS to CAS
- RAS precharge
- RAS
Avoir des timings faibles permet de gagner en performances. Attention cependant à ne pas trop forcer, car vous risqueriez de vous retrouver avec un système instable. Dans tous les cas, avec des timings configurés de manière optimale, vous gagnerez environ 5% de performances par rapport à des timings laissés par défaut. Le jeu en vaut-il la chandelle ? à vous de voir ! La qualité de fabrication du circuit imprimé des barrettes entre en jeu (PCB pour Printed circuit board) mais aussi la qualité de fabrication des puces mémoires se trouvant sur le PCB (et généralement noires).
Types de mémoire
Mémoire vive
La mémoire vive (ou RAM pour Random Access Memory): cette mémoire perd ses données si elles ne sont pas rafraîchies régulièrement, on appelle ce type de mémoire de la mémoire dynamique.
Mémoire morte
La mémoire morte (ou ROM pour Read Only Memory) : cette mémoire ne perd pas ses données (sauf par des techniques de réécriture, comme le flashage pour les mémoires flash), même si elle n'est pas rafraîchie. On appelle les mémoires n'ayant pas besoin d'être rafraîchies pour conserver leurs informations des mémoires statiques. Elles sont composées de bascules électroniques et permettent de stocker plus d'informations à espace identique comparé aux mémoires dynamiques. Il en existe de différents types :
- ROM : on gravait les données binaires sur une plaque de silicium grâce à un masque. Il était impossible de reprogrammer cette mémoire. Ce genre de mémoire n'est plus utilisé aujourd'hui.
- PROM (Programmable Read Only Memory) : Ces mémoires sont constituées de fusibles pouvant être grillés grâce à un appareil qui envoie une forte tension (12V) dans certains fusibles. Un fusible grillé correspond à un 0, et un fusible non grillé à un 1. Ces mémoires ne peuvent être programmées qu'une fois.
- EPROM (Erasable Programmable Read Only Memory) : Même principe que l'EPROM, sauf que cette mémoire est effaçable. Lorsqu'on la met en présence de rayons ultra-violets d'une longueur d'onde précise, les fusibles sont reconstitués, et tous les bit reviennent à une valeur de 1. C'est pour cette raison que l'on qualifie ce type de PROM d'effaçable.
- EEPROM (Electrically Erasable read Only Memory) : Ce sont aussi des PROM effaçables, par un courant électrique toutefois. Elles peuvent être effacées même lorsqu'elles sont en position dans l'ordinateur. Ces mémoires sont aussi appelées mémoires flash, et donc voilà pourquoi on appelle flashage l'opération qui consiste à flasher une mémoire EEPROM.
Fréquences et types de RAM
De nombreux types de mémoire se sont succédés, disposant de différents formats. Aujourd'hui, les barrettes sont toutes au format DIMM (Dual Inline Memory Module) : il n'est pas nécessaire de les apparier pour faire fonctionner le système.
Aujourd'hui, toutes les mémoires sont de type SDRAM. La SDRAM (synchronous dynamic random access memory) est apparue en 1997. Elle permet une lecture des données synchronisée avec le bus de la carte-mère, contrairement aux mémoires EDO et FPM qui étaient asynchrones. La SDRAM permet donc de supprimer les temps d'attente dus à la synchronisation avec la carte-mère et permet d'avoir des temps d'accès de moins de 10 nanosecondes. Ces barrettes contiennent les cellules stockant la mémoire, et un buffer (zone tampon) entre la mémoire proprement dite et les entrées/sorties :


La mémoire SDRAM n'a cessé d'évoluer et existe en différentes versions que nous allons retracer (en omettant les premières versions de la SDRAM, trop anciennes). Aujourd'hui, les PC récents sont dotés de DDR-3.
Calcul de la bande passante mémoire
La bande passante est la quantité de données qui peuvent être échangées par seconde, au maximum. Elle se calcule de la façon suivante : Bande passante (Go/s) = (Fréquence de sortie (mHz) * Nombre de bits échangés) / 8000. (8 bits = 1 octet)
Fréquences
Les fréquences internes sont plus ou moins limitées. Des artifices ont alors été inventés pour améliorer la bande passante tout en conservant les fréquences internes qui se limitent pour l'heure à environ 300MHz.
DDR
La DDR (ou SDRAM DDR pour Double Data Rate) est apparue pour palier aux fréquences qui n'augmentaient plus. Variante de la première SDRAM mais comportant 186 broches, elle prend en compte les fronts montants et descendants du bus système afin de doubler la bande passante mémoire disponible. Voici la constitution principale d'une barrette mémoire de DDR :

Type de mémoire | Appellation commerciale | Fréquence mémoire | Fréquence d'entrées/sorties | Bande passante |
---|---|---|---|---|
DDR200 | PC1600 | 100 MHz | 100 MHz | 1,6 Go/s |
DDR266 | PC2100 | 133 MHz | 133 MHz | 2,1 Go/s |
DDR333 | PC2700 | 166 MHz | 166 MHz | 2,7 Go/s |
DDR400 | PC3200 | 200 MHz | 200 MHz | 3,2 Go/s |
DDR433 | PC3500 | 217 MHz | 217 MHz | 3,5 Go/s |
DDR466 | PC3700 | 233 MHz | 233 MHz | 3,7 Go/s |
DDR500 | PC4000 | 250 MHz | 250 MHz | 4 Go/s |
DDR533 | PC4200 | 266 MHz | 266 MHz | 4,2 Go/s |
DDR538 | PC4300 | 269 MHz | 269 MHz | 4,3 Go/s |
DDR550 | PC4400 | 275 MHz | 275 MHz | 4,4 Go/s |
DDR600 | PC4800 | 300 MHz | 300 MHz | 4,8 Go/s |

DDR-2
La différence majeure entre la DDR et la DDR2 est, outre le nombre de broches qui passe à 240, que la fréquence du bus est double de celle du groupe de cellules mémoires. A chaque fois que les cellules mémoire effectuent un cycle, on peut transférer quatre bits de données par cellule, au lieu de deux pour la DDR. à fréquence des cellules mémoires égale, la DDR2 a une bande passante deux fois plus élevée.
Bien que les fréquences aient été améliorées, les temps d'accès ont, eux, été augmentés, ce qui fait que les premières barrettes de DDR-2 étaient moins performantes que les meilleures barrettes de DDR. La DDR-2 consomme également moins d'énergie avec une tension revue à 1.8 volt.

Type de mémoire | Appellation commerciale | Fréquence mémoire | Fréquence d'entrées/sorties | Bande passante |
---|---|---|---|---|
DDR2-400 | PC2-3200 | 100 MHz | 200 MHz | 3,2 Go/s |
DDR2-533 | PC2-4300 | 133 MHz | 266 MHz | 4,3 Go/s |
DDR2-667 | PC2-5300 | 166 MHz | 333 MHz | 5,3 Go/s |
DDR2-675 | PC2-5400 | 168 MHz | 337 MHz | 5,4 Go/s |
DDR2-800 | PC2-6400 | 200 MHz | 400 MHz | 6,4 Go/s |
DDR2-1066 | PC2-8500 | 266 MHz | 533 MHz | 8,5 Go/s |
DDR2-1100 | PC2-8800 | 280 MHz | 560 MHz | 8,8 Go/s |
DDR2-1200 | PC2-9600 | 300 MHz | 600 MHz | 9,6 Go/s |
DDR-3
Apparue en 2007, la DDR-3 va encore plus loin que la DDR-2 en transmettant non plus 4 mots par cycle mais 8, doublant les débits par rapport à la DDR-2. Les barrettes de DDR-3 comportent 240 broches et fonctionnent avec une tension encore amoindrie : 1.5 volt.

Type de mémoire | Appellation commerciale | Fréquence mémoire | Fréquence d'entrées/sorties | Bande passante |
---|---|---|---|---|
DDR3-800 | PC3-6400 | 100 MHz | 400 MHz | 6,4 Go/s |
DDR3-1066 | PC3-8500 | 133 MHz | 533 MHz | 8,5 Go/s |
DDR3-1333 | PC3-10600 | 166 MHz | 666 MHz | 10,7 Go/s |
DDR3-1600 | PC3-12800 | 200 MHz | 800 MHz | 12,8 Go/s |
DDR3-1800 | PC3-14400 | 225 MHz | 900 MHz | 14,4 Go/s |
DDR3-2000 | PC3-16000 | 250 MHz | 1000 MHz | 16 Go/s |
DDR3-2133 | PC3-17000 | 266 MHz | 1066 MHz | 17 Go/s |

Fabrication d'une barrette mémoire
Le processus de fabrication d'une barrette mémoire est d'autant plus strict que la mémoire est à hautes performances. Voici une vidéo sympatique de la marque CRUCIAL qui permet de voir toutes les étapes de la fabrication d'une barrette mémoire hautes performances :