Références : http://www.vulgarisation-informatique.com
http://www.memoireonline.com
http://www.hardware.fr
http://www.x86-secret.com
http://www.wikipédia.com
http://www .commentcamarche.com
Etablissement ESTG
Filière DUT-informatique
Semestre 2
Enseignante MOUTAOUKKIL Assmaa
Partie 3 : Mémoire vive
I. Mémoire vive
Définition
La mémoire vive, ou mémoire système (aussi appelée RAM de l'anglais Random Access Memory : que
l'on traduit en français par mémoire à accès direct) est la mémoire informatique dans laquelle
un ordinateur place les programmes en exécution et les données lors de leur traitement.
Les caractéristiques de cette mémoire sont sa rapidité d'accès, essentielle pour fournir rapidement les
données au processeur, et sa volatilité qui implique une perte totale de toutes les données mémoire dès
que l'ordinateur cesse d'être alimenté en électricité. Cette caractéristique a tendance à disparaitre avec
les dernières évolutions technologiques conduisant à des types de mémoire RAM non-volatile, comme
les MRAM (voir plus loin).
Rafraichissement
Etant donné que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est
rafraîchir, en anglais refresh) à un intervalle de temps régulier appelé cycle de rafraîchissement. Les
mémoires DRAM nécessitent par exemple des cycles de rafraîchissement est d'environ 15 nanosecondes
(ns).
Structure interne
Chaque condensateur est couplé à un transistor (de type MOS) permettant de
« récupérer » ou de modifier l'état du condensateur. Ces transistors sont
rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède à une
case mémoire (aussi appelée point mémoire) par une ligne et une colonne.
La mémoire vive statique (ou SRAM pour l'anglais Static Random Access Memory) est un type de
mémoire vive utilisant des bascules1 pour mémoriser les données. Mais contrairement à la mémoire
dynamique, il n'y a pas besoin de rafraîchir périodiquement son contenu. Comme la mémoire dynamique,
elle est volatile : elle ne peut se passer d'alimentation sous peine de voir les informations effacées
irrémédiablement.
Description
La mémoire statique est plus onéreuse, mais beaucoup plus rapide et moins énergivore que la mémoire
dynamique. Elle est donc réservée aux applications où il faut soit des temps d'accès faibles, soit une
faible consommation. Ainsi, on la rencontre dans les mémoires caches et les tampons, ainsi que dans les
applications embarquées. Elle figure également parmi les composants hauts de gamme de certains PC
qui ont besoin de charger une grande quantité de donnés dans certains programmes.
Les premières générations de types de mémoires, qui utilisaient la technologie bipolaire très grande
consommatrice d'électricité, ont été remplacées par des modèles utilisant la technologie CMOS,
beaucoup plus sobre, ouvrant la porte à des systèmes de sauvegarde à piles permettant à ce type de
mémoire de s'affranchir d'une alimentation permanente
3
Partie 3 : Mémoire vive Mémoire vive
dynamique
Barrette mémoire
Slots
4
Partie 3 : Mémoire vive Mémoire vive
dynamique
RDRAM (Rambus Dynamic RAM)
La DR-SDRAM (Direct Rambus DRAM ou RDRAM) est un type de mémoire permettant de transférer
les données sur un bus de 16 bits de largeur à une cadence de 800 Mhz, ce qui lui confère une bande
passante de 1.6 Go/s. Comme la SDRAM, ce type de mémoire est synchronisé avec l'horloge du bus
pour améliorer les échanges de données. En contrepartie, la mémoire RAMBUS est une technologie
propriétaire, ce qui signifie que toute entreprise désirant des barrettes de RAM selon cette technologie
doit réserver des droits aux sociétés RAMBUS et Intel. Elle est utilisée pour les machines de
génération Pentium III et Pentium 4.
5
Partie 3 : Mémoire vive Mémoire vive
dynamique
réelle de fonctionnement afin de distinguer plus clairement la DDR2 de la génération précédente. Elle
comporte normalement 240 broches.
DDR4-SDRAM :
La mémoire DDR4 SDRAM qui est aussi connue sous le nom DDR4 est apparue en 2012, mais sa
démocratisation n'est attendue que vers 2015. Toujours dans le même principe, le but c'est d'améliorer
la fréquence et réduire la consommation électrique.
Toutefois, Samsung a annoncé la production en masse de ses premières barrettes DDR4 le 30 août 2013.
6
Partie 3 : Mémoire vive Mémoire vive
dynamique
les barrettes au format DIMM (Dual Inline Memory Module) sont des mémoires 64 bits. Les
barrettes DIMM possèdent des puces de mémoire de part et d'autre du circuit imprimé et ont
également 84 connecteurs de chaque côté, ce qui les dote d'un total de 168 broches.
Il existe en outre des modules de plus petite taille, appelés SO-DIMM (Small Out line DIMM),
destinés aux ordinateurs portables. Les barrettes SO-DIMM comportent uniquement 144
broches pour les mémoires 64 bits et 77 pour les mémoires 32 bits.
les barrettes au format RIMM (Rambus Inline Memory Module) sont des mémoires 64 bits
développée par la société Rambus. Elles possèdent 184 broches. Ces barrettes possèdent deux
encoches de repérage (détrompeurs), évitant tout risque de confusion avec les modules
précédents. Compte tenu de leur vitesse de transfert élevée, les barrettes RIMM possèdent un
film thermique chargé d'améliorer la dissipation de la chaleur.
Comme dans le cas des DIMM, il existe des modules de plus petite taille, appelés SO-
RIMM (Small Out-line RIMM), destinés aux ordinateurs portables. Les barrettes SO-
RIMM comportent uniquement 160 broches.
7
Partie 3 : Mémoire vive La technologie
SDRAM
Module mémoire
8
Partie 3 : Mémoire vive La technologie
SDRAM
Le tableau ci-dessous présente quelques mémoires DDR
9
Partie 3 : Mémoire vive La technologie
SDRAM
Améliorations technologiques
La fréquence des microprocesseurs connait une évolution rapide, cela implique les mémoires vives, qui
doivent multiplier leur bande passante pour satisfaire les demandes des processeurs dans délais
optimales. Or les fréquences réelles des mémoires sont relativement limitées (des contraintes techniques
empêchent de les pousser plus loin).
Des solutions ont alors été inventées pour améliorer la bande passante tout en conservant les fréquences
internes (réelles) qui se limitent pour l'heure à environ 370 MHz.
Les mémoires DDR-SDRAM utilise cette technique pour doubler le débit, contrairement aux SDR-
SDRAM (single data rate SDRAM) qui n’utilise que les fronts montant pour lire ou écrire une donnée.
SDR-SDRAM DDR-SDRAM
Les mémoires SDRAM standard utilisent une méthode La DDR permet de doubler la fréquence des lectures/écritures,
appelée SDR (Single Data Rate) consistant à lire ou à avec une horloge cadencée à la même fréquence, en envoyant
écrire une donnée à chaque front montant. les données à chaque front montant, ainsi qu'à chaque front
descendant. (dual pumping)
Ainsi, une carte mère dotée de mémoire DDR-SDRAM et ayant un bus mémoire cadencé à 133 MHz
est équivalente en débit de donnés à de la SDRAM à 266 MHz.
10
Partie 3 : Mémoire vive La technologie
SDRAM
La 2ème solution : prefetching
La deuxième solution est d'augmenter la fréquence du bus mémoire en mettant en place des mécanismes
plus complexes pour l'alimenter. C'est le cas du prefetching. Son principe est simple, il suffit de lire un
nombre plus élevé de cellules mémoires en parallèle, de placer le tout dans un petit buffer (mémoire
tampon de pré-lecture) qui déversera ces données en série mais à très haute vitesse sur le bus mémoire.
Avec la mémoire DDR le prefetching a été introduit à 2, il est passé à 4 avec la DDR2 et à 8 avec la
DDR3. De quoi profiter du mode de transmission DDR, et doubler à deux reprises la vitesse du bus.
n : est le nombre de bits qui sont transférés au tampon de pré-lecture lors d'une lecture.
Exemple : pour un mémoire DDR3 de 16 bits de large, le buffer reçoit 8 mots = 8x16= 128 bits par
cycle d’horloge, on dit que le prefetch de la DDR3 et de 8n (n est le nombre bits par case mémoire)
11
Partie 3 : Mémoire vive La technologie
SDRAM
nX, chaque banque mémoire devient subdivisée en X tableaux de petits blocs de cellules mémoire. Une
complexité qui augmente les coûts et la consommation avec une multiplication des voies de
communication.
Par ailleurs, le prefetching augmente la plus petite quantité de données qui peut être lue, ce qui finit par
réduire l'efficacité des accès mémoire. Sur un canal 64bit classique, un prefetching de 8 signifie que les
accès se font au minimum par 64 octets. Cela s'accorde assez bien aux caches des CPU et c'est déjà
une valeur relativement élevée. Aller au-delà n'aurait pas été une très bonne idée.
Chaque groupe de banques se comporte indépendamment des autres et un second niveau de petits buffers
qui alimentent le bus mémoire est mis en place. Avec plus de données à sa disposition, il est capable de
supporter un bus mémoire à plus haute fréquence. Il n'est cependant pas question de doubler voire de
quadrupler la vitesse du bus mémoire dans tous les cas grâce à 2 ou 4 groupes de banques mémoire
travaillant en parallèle. Le bus mémoire ne monte pas aussi haut en fréquence si facilement.
2 Est un organisme de normalisation des semi-conducteurs qui fait partie de l’Electronic Industries Alliance (EIA). Elle a été créée
en 1960 à partir de l’EIA et la « National Electrical Manufacturers » Association (NEMA), pour la normalisation des composants discrets,
ensuite étendu en 1970 aux circuits intégrés. (selon Wikipédia)
12
Partie 3 : Mémoire vive La technologie
SDRAM
La DDR (ou DDR-SDRAM) est apparue pour pallier aux
fréquences qui n'augmentaient plus. Variante de la
première SDRAM, elle prend en compte les fronts
montants et descendants du bus système afin de doubler la
bande passante mémoire disponible. En restant à 100 MHz,
la DDR permet de transférer 200 millions de bit par
seconde, soit une bande passante de ((100*2)*64)/8 = 1600
Mo/s.
Prefetch = 2n
A chaque fois que les cellules mémoire effectuent un cycle,
on peut transférer 4n bits de données, au lieu de 2n bits pour
la DDR1. A fréquence des cellules mémoires égale, la
DDR2 a une bande passante deux fois plus élevée. Alors Le
débit théorique pour une fréquence de base de 100 MHz est
donc de ((100*4)*64)/8 = 3200 Mo/s. La DDR-2
consomme également moins d'énergie avec une tension
revue à 1.8 volt.
Apparue en 2007, la DDR3 va encore plus loin que la DDR-
2 en transmettant non plus 4n bits par cycle mais 8n bits ,
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.
Le tableau ci-dessus est un comparatif des différentes technologies SDRAM à fréquence réelle égale :
Mémoires Appellation Fréquence Fréquence Bandes Nombre de Consommation
réelle d’E/S passantes bits électrique
SDR PC100 100Mhz 100Mhz 800 Mo/s 1n 3.3 Volts
DDR200 PC-1600 100Mhz 100Mhz 1,6Go/s 2n 2.5 Volts
DDR2-400 PC2-3200 100Mhz 200Mhz 3.2 Go/s 4n 1.8 Volts
DDR3-800 PC3-6400 100Mhz 400Mhz 6.4 Go/s 8n 1.5 Volts
DDR4-1600 PC4-12800 100Mhz 800MHz 12.8 Go/s 16 n 1.2 Volts
13
Partie 3 : Mémoire vive La technologie
SDRAM
Appellation commerciale :
Mémoire SDR-SDRAM :
Les mémoires SDR-SDRAM possèdent généralement une appellation commerciale du type PCxx, où
« xx » représente la fréquence de fonctionnement de la barrette.
Mémoire DDR-SDRAM
Les mémoires DDR possèdent également une appellation commerciale (dénomination) du type PCxxxx,
où « xxxx» représente le débit d'information en Mo/s.
Exemple : la mémoire DDR400 PC3200 possède un débit maximal de 3.2 Go/s
Aussi les DDR possède une notation comme DDRi-yyy où « yyy » représente une fréquence nommée
parfois « la fréquence des données », c’est un multiple de la fréquence réelle
prefetch
14
Partie 3 : Mémoire vive La technologie
SDRAM
D’une manière générale le débit des DDR-SDRAM se calcule par la formule suivante
𝐷é𝑏𝑖𝑡 = 8 × 𝟐 × 𝐹𝑟é𝑞𝑢𝑒𝑛𝑐𝑒 d'E/S
Synchronisation (timing)
L'accès à une donnée 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ée 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
Exemple :A 200 MHz, T est égal à 5 ns (nanosecondes).
15
Partie 3 : Mémoire vive La technologie
SDRAM
CAS delay (Column Address Strobe delay) :
Noté parfois CL ,C’est le temps nécessaire en cycle d’horloge pour sélectionner une colonne
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.
Tous ces temps sont exprimés en cycles d’horloge.
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
Exemple :
Timing
Optimisation du timing
Les timings peuvent être configurés à partir du bios.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.
Dual Channel
La plupart des contrôleurs mémoire proposent un fonctionnement en double canal (en anglais Dual
Channel) pour la mémoire. Il s'agit d'exploiter les modules de mémoire par paire afin de cumuler la
bande passante et ainsi exploiter au maximum les capacités du système. Il est essentiel, lors de
l'utilisation du Dual Channel, d'utiliser des barrettes identiques par paire (fréquence, CAS, capacité, et
préférentiellement de même marque).
Correction d’erreurs
Certaines barrettes de mémoire possèdent des systèmes de correction d'erreur afin de garantir l'intégrité
des données qu'elles contiennent. On les retrouve la plupart du temps sur les serveurs, surtout dans le
cas où la manipulation de données est critique. Lorsqu'une barrette possède ce système de correction, on
16
Partie 3 : Mémoire vive La technologie
SDRAM
lui accole l'étiquette ECC (Error Correction Coding), et elle coûte plus cher.
17