MEMOIRE VIVE RAM

publicité
MEMOIRE VIVE RAM
NOTION DE MEMOIRE VIVE
La mémoire vive ou RAM (Random Access Memory, c'est à dire "mémoire à accès aléatoire")
est omniprésente dans les appareils électroniques (téléphones, consoles de jeu, etc.), mais
l'ordinateur en demeure le principal utilisateur et près de 70% des mémoires vives produites
dans le monde se retrouvent dans les ordinateurs. La mémoire vive y est ubiquiste et détient
une importance majeure : on la retrouve sous forme de mémoire centrale, sous forme de
mémoire cache ou sous forme de mémoire intégrée à des périphériques aussi divers que les
cartes graphiques, les cartes sons, les disques durs, les graveurs de CD-ROM ou les
imprimantes.
La mémoire vive s'oppose à la mémoire morte, cette dernière dénomination incluant tout type
de mémoire à l'intérieur de laquelle on ne peut qu'effectuer des opérations de lecture, l'écriture
étant impossible (ou réalisable seulement dans des conditions particulières). Les mémoires
vives, au contraire, permettent tant la lecture des données emmagasinées que l'écriture de
nouvelles informations à la volée. Toutes les RAM partagent également la caractéristique
commune d'être volatiles : elles ne conservent leurs données que lorsqu'elles sont sous
tension, leur contenu disparaissant avec l'extinction de l'ordinateur.
UNE MEMOIRE A ACCES ALEATOIRE
Au début des années 70, l'emploi des semi-conducteurs a permis de remplacer
avantageusement les anciens tambours et tores magnétiques jusque là utilisés dans la
fabrication des mémoires d'ordinateurs. La structure conventionnelle des mémoires à semiconducteurs est de type matricielle : on peut la représenter simplement comme un tableau
constitué de lignes et de colonnes, l'intersection d'une ligne et d'une colonne formant une
cellule appelée "point mémoire". Chaque point mémoire est en réalité une puce - composée
d'un ou plusieurs transistors couplé(s) avec un condensateur - destinée à contenir des données
:
Chaque puce de la matrice dispose d'une adresse propre définie par son numéro de ligne et
son numéro de colonne, et toute information présente dans la mémoire est alors directement
accessible via cette adresse. Le temps d'accès aux données est indépendant du numéro de la
cellule adressée et c'est en quoi la mémoire est dite à accès aléatoire (random access). Rien à
voir donc avec un éventuel accès "au hasard" tel que la formulation pourrait le suggérer.
DIFFERENTS TYPES DE RAM
La DRAM (Dynamic RAM) : les informations sont stockées dans la mémoire vive sous forme
de charges électriques dans les condensateurs des points mémoire. Ces condensateurs ayant
la fâcheuse tendance à se décharger naturellement, il est nécessaire, pour conserver
l'information présente dans la RAM, d'entretenir leur charge périodiquement (plusieurs
centaines de fois par seconde). Ce processus est appelé rafraîchissement de la mémoire et la
RAM nécessitant cet entretien périodique de la charge de ses condensateurs est appelée
DRAM (Dynamic RAM ou "mémoire dynamique").
Page -1- www.sophe.nl/btsig
La SRAM (Static RAM) : à l'opposé de la DRAM, la SRAM est une mémoire vive dite
"statique" : elle ne partage pas la même structure que la DRAM et ne nécessite pas que son
contenu soit rafraîchi périodiquement. Elle est plus rapide que la DRAM, mais son procédé de
fabrication est plus onéreux et sa densité d'intégration moindre (un point mémoire en SRAM est
constitué de 4 transistors, contre un seul en DRAM), c'est pourquoi elle n'est utilisée dans un
ordinateur que lorsque les besoins de rapidité sont importants, pour un cache par exemple
(c'est même la seule application de la SRAM dans un PC, alors que la DRAM se retrouve
partout).
CONDITIONNEMENT DE LA RAM
Les mémoires de type DRAM qui équipaient les premiers modèles de PC AT (286 et quelques
386) se présentaient sous la forme de puces directement implantées sur la carte mère :
Puce au format DIP (Dual In-line Package)
A l'heure actuelle, ces formats ont été quasiment abandonnés. La forme triomphante de
présentation de la RAM depuis la fin des années 1980 est la barrette, qui est une mini-carte
d'extension sur laquelle sont fixées des puces de mémoire. Il existe 2 grands formats de
présentation des barrettes de RAM, indépendants du type de mémoire supporté :
Le format SIMM (Single Inline Memory Module) : les barrettes SIMM se présentent sous la
forme de petits circuits imprimés rectangulaires, disposant sur une de leurs faces de 30 ou 72
broches de connexion, assurant l'interface entre le reste de l'ordinateur et sa mémoire. Les
SIMM 30 broches mesurent 89 x 13 mm et ont surtout servi à équiper les PC 386 et les
premiers 486. Les SIMM 72 broches, quant à elles, mesurent 108 x 25 mm et ont largement
servi à équiper les 486 et les PC de type Pentium et compatibles, jusqu'à l'avènement de la
RAM sous forme DIMM :
Barrettes SIMM 30 broches
Barrettes SIMM 72 broches
Les barrettes SIMM 30 broches, capables de gérer des flux de données de 8 bits, suffisaient à
assurer les échanges entre la mémoire et les processeurs anciens comme les 286 et les
premiers 386. Dès que sont apparus des processeurs capables de gérer des flux de 32 bits
(386DX, 486), les SIMM 72 broches travaillant également en 32 bits se sont imposées d'office.
Par la suite sont survenus les microprocesseurs fonctionnant sur un bus de données d'une
largeur de 64 bits (Intel Pentium et compatibles), ce qui explique que les barrettes SIMM 72
broches doivent toujours être employées par paires en corrélation avec de tels processeurs
(lorsqu'un un flux de 64 bits est expédié depuis le processeur vers la RAM, il est indispensable
que celle-ci soit à même de réceptionner l'intégralité des données. Chaque barrette SIMM 72
broches travaillant sur 32 bits, il en faut donc un multiple de 2 en place).
Page -2- www.sophe.nl/btsig
Les barrettes SIMM s'enfichent sur des connecteurs (ou slots) particuliers, facilement
repérables sur les cartes qui autorisent l'emploi d'un tel format de mémoire :
Connecteurs pour barrettes de RAM au format SIMM 72 broches
Le format DIMM (Dual Inline Memory Module) : les barrettes DIMM ressemblent aux SIMM,
mais elles affichent des dimensions plus importantes (130 x 25 mm) et comportent un nombre
plus important de broches de contact (168 broches pour les barrettes DIMM de SDRAM, 184
broches pour celles de DDR-SDRAM par exemple) :
Barrettes DIMM 168 broches (SDRAM)
Les barrettes au format DIMM sont capables de gérer des flux de données de 64 bits en
provenance du microprocesseur central. Ceci correspond justement à la largeur du bus de
données couramment utilisé depuis l'apparition des processeurs de cinquième et de sixième
génération (Intel Pentium, Pentium MMX, Pentium II, AMD K6 et K6-2, IBM/Cyrix 6x86 et
6x86MX, etc.). Contrairement aux SIMM 32 bits, il n'est donc pas nécessaire d'apparier les
barrettes DIMM 64 bits lorsqu'on installe la RAM d'un ordinateur en employant ce type de
format. Les barrettes DIMM se placent sur des connecteurs totalement différents des
connecteurs SIMM, reconnaissables à leur couleur noire et aux ergots de fixation situés à leurs
extrémités :
Connecteurs pour barrettes de RAM au format DIMM 168 broches
LA MEMOIRE CENTRALE
L'utilisation la plus commune de la DRAM intervient dans la constitution de la mémoire centrale
de l'ordinateur. Celle-ci représente un élément essentiel, au moins autant que le
Page -3- www.sophe.nl/btsig
microprocesseur, avec lequel elle entretient des liens très proches. Il faut savoir en effet que
l'ordinateur stocke toujours dans la RAM les données (textes, images, etc.) et les programmes
(traitements de textes, tableurs, jeux, etc.) sur lesquels il travaille, ainsi qu'une partie du
système d'exploitation (DOS, Windows, Mac OS, etc.). Pourquoi donc ce transfert incessant du
disque dur vers la RAM ? Tout simplement parce que, une fois les données installées en
mémoire vive, le processeur - qui est l'élément le plus rapide de l'ordinateur - y accède
beaucoup plus vite (8 - 20 ms de temps d'accès pour un disque dur contre 50 - 60 ns pour une
DRAM). Ceci s'explique par le fait que la RAM manipule les informations sous formes de
charges électriques, tandis que le disque dur utilise un système mécanique de têtes de lecture
se déplaçant à la surface de disques magnétisables pour y lire ou y écrire les bits de données.
La quantité et le type de RAM dont dispose un ordinateur est donc un critère déterminant pour
en assurer le fonctionnement optimal.
Au cours des années, la DRAM utilisée pour la mémoire centrale des ordinateurs a subi de
constantes modifications destinées à en améliorer les performances, en étroite corrélation avec
la puissance sans cesse grandissante des processeurs.
La mémoire FPM (Fast Page Mode ou "mode page rapide") : avec l'apparition de la RAM
FPM, la mémoire centrale devient plus véloce, avec des temps d'accès avoisinant les 70 à 80
nanosecondes (ns) et des fréquences de fonctionnement s'échelonnant de 25 à 33 MHz. La
FPM est également et surtout une innovation par rapport aux anciennes formes de DRAM car
elle permet d'accéder plus vite aux données situées sur une même page mémoire : si des
informations réclamées par le processeur sont localisées dans une même colonne de la
matrice, le système doit activer une première fois le numéro de la colonne et le numéro de ligne
adéquats pour accéder à la première donnée ; ensuite, il n'a pas à répéter l'intégralité de cette
opération, se contentant simplement d'activer les numéros de lignes correspondant aux
données suivantes. La récupération de données avec la FPM peut se comparer à la
consultation d'un dictionnaire : tant que les termes que vous recherchez se situent sur la page
que vous avez ouverte, il est plus facile de les localiser et d'en lire la définition ; dès que vous
êtes amenés à tourner les pages du livre pour rechercher un nouveau mot, la consultation est
un peu plus lente.
En informatique, on peut évaluer les performances d'un type de RAM en mesurant le nombres
de cycles d'horloge nécessaires pour accéder à un ensemble de 4 bits de données consécutifs.
Avec la FPM, 5 cycles d'horloge sont nécessaires pour lire/écrire à la première adresse
mémoire et seulement 3 cycles pour atteindre les adresses suivantes. On dit que la FPM traite
les les données selon une séquence de cycles 5-3-3-3. La mémoire FPM s'est vendue sous
forme de barrettes SIMM 30 broches/8 bits et SIMM 72 broches/32 bits avant de disparaître au
profit de la mémoire EDO, plus performante.
La mémoire EDO (Extended Data Output ou "mode hyper page") : à la FPM succède la
mémoire EDO, de 10 à 30% plus performante. Elle est caractérisée par des temps d'accès
réduits (de 50 à 60 ns) et des fréquences de fonctionnement s'étalant de 33 à 50 MHz. L'EDO
reprend bien entendu le mode "page rapide" de la FPM, avec quelques nouvelles possibilités :
auparavant, le processeur n'était pas en mesure d'accéder aux données pendant les périodes
de rafraîchissement électrique ; avec l'EDO, c'est possible et les temps de latence sont
diminués d'autant. Par ailleurs, un contrôleur permet d'enregistrer les adresses des dernières
données auxquelles le processeur a accédé, ce qui facilite les accès suivants, intervenant
fréquemment sur la même page mémoire.
Grâce à ces améliorations, l'EDO est capable de travailler selon une séquence 5-2-2-2. On la
trouvait couramment sous la forme de barrettes SIMM 72 broches/32 bits (rarement sous forme
de barrettes DIMM, qui doivent alors être alimentées en 5,5V contre 3,3V pour une barrette
DIMM de SDRAM), mais elle a ensuite disparu à son tour au profit de la SDRAM : en effet, la
fréquence de fonctionnement maximale de l'EDO - 66 MHz - est insuffisante alors que des
vitesses de bus de 100 MHz et plus sont aujourd'hui monnaie courante.
La mémoire BEDO (Burst Extended Data Output) : la mémoire BEDO est une variante de
Page -4- www.sophe.nl/btsig
l'EDO qui permet la transmission ou la lecture des bits de données dans la mémoire en mode
"rafale" (burst), c'est à dire par paquets en flux ininterrompu le long du bus mémoire. La
technologie burst part du principe qu'il y a de fortes présomptions que les adresses dont aura
besoin le processeur après avoir accédé à la première donnée en mémoire seront celles tout
juste adjacentes, ce qui est souvent le cas. La mémoire BEDO délivre donc la première adresse
en 5 cycles d'horloge et enchaîne les 3 suivantes en un seul cycle seulement (soit une
séquence 5-1-1-1).
La mémoire BEDO se présente sous la forme de barrettes DIMM conventionnelles (tension
3,3V, temps d'accès 60 ns). Cependant, sa limitation de fréquence de fonctionnement à 66 MHz
constitue le principal handicap de cette mémoire pourtant très rapide et explique le fait qu'elle
n'ait pas recueilli les faveurs de l'industrie.
La mémoire SDRAM (Synchronous DRAM ou "mémoire dynamique synchrone") : la
SDRAM est une forme de mémoire développée peu de temps après l'EDO. La caractéristique
principale de la SDRAM est d'être synchronisée (d'où son nom) sur la fréquence d'horloge de la
carte mère, ce qui n'était pas le cas jusqu'ici avec les types de RAM précédents. Avec de la
mémoire asynchrone, comme la FPM ou l'EDO, le système imposait obligatoirement des délais
d'attente (wait states) au processeur, afin de synchroniser les échanges avec l'horloge propre
de la mémoire ; l'avantage de la SDRAM est d'éliminer ces wait states, puisque mémoire et
processeur fonctionnent au même tempo.
L'autre intérêt de la SDRAM est qu'elle peut supporter des fréquences élevées, ce qui
correspond parfaitement aux besoins actuels et à l'apparition des systèmes évoluant sur un bus
de données cadencé à 100 MHz et plus (par exemple Intel Pentium II, AMD K6-2, etc.). Pour
des configurations tournant en 66 MHz, la SDRAM n'apporte en revanche qu'un gain minime de
l'ordre de 5% par rapport à l'EDO.
La SDRAM est aussi véloce que la mémoire BEDO et travaille selon une séquence de cycles
d'horloge de 5-1-1-1. Puisque ses temps d'accès sont intimement liés à la fréquence de
fonctionnement de la carte mère, ses performances ne sont plus exprimées en nanosecondes
(ns), mais en mégahertz (MHz). Ce point est source de confusion chez de nombreux utilisateurs
car la SDRAM dispose également d'un temps de cycle exprimé en nanosecondes, et elle est à
ce titre souvent référencée comme "SDRAM 10 ns", "SDRAM 8 ns" ou "SDRAM 7 ns". On
pourrait alors imaginer que la SDRAM est 6 à 8 fois plus rapide que la mémoire EDO (60 ns de
temps d'accès), ce qui est faux : les temps d'accès de 7, 8 ou 10 ns inhérents à la SDRAM sont
en réalité liés aux 2°, 3° et 4° accès lors d'une opération de lecture/écriture sur quatre bits de
données (l'accès à la première adresse mémoire se faisant en 5 cycles d'horloge, comme pour
la mémoire FPM ou EDO).
La SDRAM n'existe qu'en format DIMM 168 broche (3,3V).
La mémoire DRDRAM (Direct Rambus DRAM) : à partir de l'année 2000, la société
californienne Rambus Inc. a proposé une nouvelle technologie de mémoire vive pour les PC.
Jusqu'ici intégrée sur certains produits tels que des stations de travail haut de gamme (Silicon
Graphics), des consoles de jeu (Nintendo 64) et des accélerateurs vidéo, la DRDRAM diffère
totalement des précédents types de DRAM : alors que la largeur du bus mémoire des PC les
plus récents atteint 32 ou 64 bits, la DRDRAM, quant à elle, évolue sur un bus étonnament
étroit de 16 bits de large, fonctionnant à très haute fréquence (jusqu'à 800 MHz, par un procédé
de transfert des données utilisant les fronts montants et descendants du signal de
synchronisation). Cette vélocité confère à la DRDRAM une bande passante de 1,6 Go/s (2
octets x 800 = 1600 Mo/s), contre à peine 800 Mo/s pour de la SDRAM fonctionnant à 100
MHz.
Cette augmentation de la bande passante améliorera considérablement les performances
générales des ordinateurs, le bus de données pouvant dès aujourd'hui fonctionner à 200 MHz
Page -5- www.sophe.nl/btsig
avec la DRDRAM à 800 MHz. Dans l'avenir, les contrôleurs mémoire gérant la DRDRAM
pourront exploiter 2 à 4 canaux mémoire en parallèle, permettant d'atteindre une bande
passante de plus de 6 Go/s et une fréquence de bus de données de 800 MHz.
La DRDRAM ne se présente pas sous la forme de barrettes DIMM, mais sous un nouveau
format appelé RIMM (Rambus Inline Memory Module) assez semblable au format DIMM du seul
point de vue morphologique :
Barrette de DRDRAM au format RIMM
La mémoire DDR-SDRAM (Double Data Rate SDRAM) : la DDR-SDRAM est une évolution
de la SDRAM traditionnelle, tout simplement capable de transférer 2 fois plus de données par
cycle d'horloge que la SDRAM (d'où l'appellation Double Data Rate, c'est à dire "double débit
de données"). La DDR-SDRAM réussit ce tour de force car elle utilise les 2 fronts du signal de
synchronisation de la carte mère pour véhiculer des informations, tandis que la SDRAM n'est
capable d'en utiliser qu'un seul.
Rappel sur la notion de "front" : à chaque cycle d'horloge, le signal généré par la carte mère
transite de la valeur 0 (absence de signal) vers la valeur 1 (présence de signal), cette phase
correspondant à ce que l'on appelle le front montant du signal ; celui-ci repasse ensuite de la
valeur 1 à la valeur 0, ce qui correspond au front descendant. La technologie DDR était déjà
employée auparavant pour augmenter le débit du bus AGP, et a donné lieu aux modes 2X, 4X,
etc. caractéristiques des cartes graphiques modernes.
La DDR-SDRAM n'étant pas conçue autour d'une technologie propriétaire, elle coûte moins
cher que la DRDRAM de Rambus par exemple, et semble bien partie pour s'imposer comme le
nouveau standard de mémoire vive des PC, en remplacement de la SDRAM.
La DDR-SDRAM se présente sous la forme de barrettes DIMM dotées de 184 broches, et
fonctionne en 2.5V. Les barrettes de DDR-SDRAM se différencient des barrettes de SDRAM
car elles ne possèdent qu'un seul détrompeur (contre 2 pour la SDRAM).
Barrette de DDR-SDRAM au format DIMM
LA MEMOIRE VIDEO
La mémoire vidéo, ou mémoire graphique, est celle qui équipe les cartes graphiques des
ordinateurs, chargées de l'affichage des images sur le moniteur. Elle se présente rarement sous
forme de barrettes comme c'est le cas pour la mémoire centrale, mais plutôt sous l'aspect de
puces directement soudées ou enfichées sur les emplacements d'extension de la carte
graphique :
Page -6- www.sophe.nl/btsig
1, 2, 3, 4 représentent les modules de RAM de cette carte graphique
A l'origine, il est possible d'utiliser les mêmes types de DRAM que ceux employés pour la
mémoire centrale, mais le traitement des images par la carte graphique de l'ordinateur soumet
la mémoire vidéo à une activité particulièrement contraignante, qui a finalement abouti à la
création de types de DRAM spécifiques pour la vidéo. Pourquoi une telle contrainte ? D'une
part, il y a le processeur graphique qui élabore sans cesse les images générées par les logiciels
en cours d'exécution et qui les stocke en mémoire ; d'autre part, il y a le RAMDAC (RAM
Digital-to-Analog Converter) qui est amené à lire ces mêmes images conservées dans la
mémoire pour les faire afficher sur l'écran (en moyenne 50 à 100 fois/seconde). La mémoire
vidéo est donc soumise à des accès en lecture/écriture simultanés perpétuels, or les DRAM
employées pour la mémoire centrale des ordinateurs sont dans l'incapacité de lire et écrire
simultanément des informations car elles ne disposent que d'un seul port d'entrées-sorties (I/O
port).
Les mémoires DRAM standards (FPM, EDO) : avec l'unique port I/O des DRAM standards,
les accès en mémoire du contrôleur graphique et du RAMDAC deviennent compétiteurs et
aboutissent à la formation de goulets d'étranglement au niveau de la carte graphique. Par
ailleurs, les DRAM standards ont des temps d'accès relativement longs (en moyenne 60 ns).
Pour ces diverses raisons, elles ne sont donc guère en mesure de fournir la bande passante
suffisante pour assurer l'affichage des images avec une haute résolution et un taux de
rafraîchissement d'écran acceptable et sont réservées aux cartes d'ancien modèle ou d'entrée
de gamme. L'utilisation de mémoire EDO, à peine plus efficace que la FPM, permet d'obtenir un
gain de performances tout à fait minime de 5 à 20% selon les applications (restant de toutes
manières très en dessous des résultats offerts par les mémoires vidéo spécifiques).
La mémoire VRAM (Video RAM) : pour compenser les limitations des DRAM standards, il a
fallu concevoir un nouveau type de mémoire permettant de satisfaire les exigences de
l'affichage vidéo : il s'agit de la VRAM. La particularité de cette dernière est de disposer de 2
ports I/O (dual porting), ce qui permet la lecture et l'écriture simultanées en mémoire par le
processeur graphique et le RAMDAC et double donc la bande passante disponible. Par
comparaison avec une DRAM standard, avec un temps d'accès moyen de 60 ns et une vitesse
de 50 MHz, la VRAM évolue à près de 80 MHz et est accédée en 20 à 25 ns. Il va sans dire
que le coût de fabrication de la VRAM est plus élevé que celui de la DRAM standard, ce qui
explique la restriction de l'emploi de la VRAM au seul domaine de la vidéo.
La mémoire WRAM (Window RAM, cette dénomination n'ayant rien à voir avec le système
d'exploitation Windows, de Microsoft) : la WRAM est une forme dérivée de la VRAM, également
pourvue d'un double port I/O, plus rapide et offrant une bande passante augmentée de 25% par
rapport à celle de la VRAM. La WRAM incorpore également certaines fonctionnalités
graphiques qui accélèrent encore davantage les transferts en mémoire et semblent très bien
adaptées au travail des développeurs d'applications graphiques.
La mémoire SGRAM (Synchronous Graphic RAM) : la SGRAM est quant à elle une forme
dérivée de la SDRAM plus adaptée au domaine de la vidéo. Contrairement à la VRAM et à la
WRAM, elle ne dispose que d'un seul port I/O, mais permet la récupération et la modification de
Page -7- www.sophe.nl/btsig
données en mémoire par blocs entiers (mode burst), ce qui limite le nombre d'accès en RAM et
améliore le processus d'affichage. La SGRAM est également conçue selon un design particulier
qui inclut de nombreuses fonctionnalités destinées à l'accélération matérielle de l'affichage. Les
performances de cette mémoire se rapprochent ainsi beaucoup de celles de la VRAM malgré la
présence d'un seul port I/O.
LA MEMOIRE CACHE
Le principe de mémoire cache, encore appelée "antémémoire", est destiné à apporter des
solutions au problème de la trop grande différence de vitesse entre le microprocesseur central
de l'ordinateur et ses différentes formes de mémoires associées (RAM, disque dur, etc.). Il s'agit
donc d'insérer entre le processeur et ces éléments plus lents des zones de mémoire tampon
ultra-rapide d'accès, de faible capacité, auxquelles le processeur peut accéder, non pas
instantanément, mais en tout cas beaucoup plus vite qu'avec les autres types de mémoires
existants.
Pour illustrer le principe du cache, on pourrait comparer ce type de mémoire à un réfrigérateur,
le supermarché local jouant quant à lui le rôle de la mémoire centrale : lorsque vous avez faim,
vous tentez d'abord de trouver des aliments dans votre réfrigérateur (la cache) ; si votre
recherche est couronnée de succès, vous n'avez pas besoin de sortir et de vous rendre au
supermarché (la mémoire centrale) et vous gagnez ainsi du temps ; dans le cas ou les
victuailles désirées manquent à l'appel dans le frigidaire, vous êtes obligés d'aller au
supermarché, plus loin, pour vous les procurer, d'où une perte de temps.
Quelles sont les informations qu'on peut trouver en mémoire cache ? Lorsque le processeur
réclame le contenu d'une adresse-mémoire, un système de contrôle se charge d'aller chercher
en mémoire centrale le contenu de l'adresse indiquée, le transmet au processeur et en place
automatiquement une copie dans la mémoire cache. Dès qu'il a un moment de libre (pendant
que le processeur traite des données), ce contrôleur de mémoire en profite pour aller chercher
en mémoire centrale le contenu des adresses adjacentes et les copie à leur tour dans la cache.
Au tour suivant, lors d'une nouvelle requête du processeur, le contrôleur de mémoire vérifie
d'abord si les informations demandées se trouvent en mémoire cache avant d'aller les chercher
en mémoire centrale.
De temps à autres, il est évident que l'information requise par le processeur ne se situe pas en
cache, et que le contrôleur de mémoire perd donc du temps à consulter celle-ci au lieu de se
rendre directement en mémoire centrale ; cependant, le nombre des accès réussis en cache
(cache hits) compense presque toujours les tentatives infructueuses (cache misses).
Par ailleurs, la mémoire cache est une mémoire de type "associative", ce qui signifie,
contrairement à ce que nous avons écrit au tout début de l'article, que les points mémoires ne
sont pas accessibles grâce à une adresse comme c'est le cas en mémoire centrale, mais par
leur contenu : à chaque cellule de la matrice correspondent 2 champs particuliers, la clé,
constituée par l'adresse de l'information en mémoire centrale, et l'information associée à cette
clé, constituée de l'information elle-même. La recherche par clé dans la mémoire associative ne
s'effectue pas de manière séquentielle, mais en parallèle sur toutes les cases de la mémoire
associative. En un accès, le contrôleur de mémoire sait si l'instruction ou la donnée qu'il
recherche se trouve ou non dans la cache ; si ça n'est pas le cas, sa requête repart en direction
de la mémoire centrale.
Les ordinateurs actuels disposent de plusieurs niveaux de mémoire cache, dont la capacité
varie entre quelques dizaines de Ko intégrés directement dans le circuit du microprocesseur (dit
"cache de premier niveau" ou First Level (L1) Cache) et quelques centaines de Ko, voire 1 ou 2
Mo (dit "cache de second niveau" ou Second Level (L2) Cache), intégrés sur la carte mère ou
directement dans le boîtier du microprocesseur.
Page -8- www.sophe.nl/btsig
Le cache de premier niveau : le cache L1 désigne toujours une zone de mémoire cache
directement intégrée aux circuits du microprocesseur, celui-ci y accédant instantanément, sans
aucun délais d'attente (wait states). Le cache de premier niveau a fait son apparition au début
des années 1990, avec le processeur 486 d'Intel, qui était équipé de 8 Ko de cache L1. Par la
suite, la taille de cette mémoire a évolué comme indiqué dans le tableau ci-dessous :
Processeurs
Cache L1
Intel 486
008 Ko
Intel Pentium
016 Ko
Intel Pentium MMX
032 Ko
Cyrix 6x86, 6x86MX
064 Ko
AMD K6, K6-2, K6-III
064 Ko
Intel Pentium II, Celeron, Pentium III
032 Ko
AMD Athlon, Duron
128 Ko
Intel Pentium 4
008 Ko
Le cache de second niveau : un cache L2 est traditionnellement créé à partir d'une faible
quantité de SRAM - 128, 256, 512 Ko voire 1 Mo - intégrée au boîtier de céramique/plastique
contenant le processeur ou à la carte mère sur laquelle prend place ce dernier. Moins rapide
que la mémoire cache de niveau 1, la cache de niveau 2 l'est largement plus que la DRAM
utilisée pour la mémoire centrale de l'ordinateur (4,5 - 15 ns de temps d'accès moyen pour un
cache L2 contre 50 - 60 ns pour une DRAM performante).
Avec les processeurs de type Socket 7, le cache de second niveau prend place sur la carte
mère, sous la forme de puces soudées au circuit imprimé ou de barrettes très semblables aux
SIMM et DIMM de la mémoire centrale :
Barrette de mémoire cache de second niveau
Un processeur de type Socket 7 ne cherche pas à déterminer s'il dispose d'un cache
secondaire ou non sur la carte mère. A chaque fois qu'il a besoin d'une information, il génère
une requête pour obtenir le contenu d'une adresse en mémoire centrale et c'est le contrôleur de
mémoire présent sur le chipset qui tente de vérifier si l'information n'est pas disponible en
cache. Si ça n'est pas le cas, le contrôleur re-route alors la requête vers la mémoire centrale et
entreprend d'indiquer au processeur les délais nécessaires pour que l'information soit délivrée
par la RAM.
Avec le Pentium Pro d'Intel, apparu en 1995, la mémoire cache de second niveau est pour la
première fois intégrée au même boîtier qui contient les circuits du microprocesseur. Les
échanges entre les 256 ou 512 Ko de cache L2 et la partie centrale de la puce s'effectuent à la
vitesse du processeur (150 à 200 MHz) et non à celle de la carte mère, 3 fois plus faible (60 66 MHz).
Page -9- www.sophe.nl/btsig
Architecture du processeur Intel Pentium Pro
A partir de 1997, Intel étend à son nouveau processeur Pentium II le concept jusque là réservé
au Pentium Pro : le cache de second niveau quitte définitivement la carte mère et est intégré
directement dans le boîtier contenant les circuits du microprocesseur. La quantité de cache L2
utilisée et sa fréquence de fonctionnement ont depuis évolué comme indiqué dans le tableau cidessous :
Quantité de cache L2
Vitesse (en % de la fréquence du
cpu)
256 - 512 Ko
100 %
Intel Pentium II
512 Ko
050 %
Intel Celeron (300A+)
128 Ko
100 %
Intel Pentium III "Katmai"
512 Ko
050 %
Intel Pentium III
"Coppermine"
256 Ko
100 %
AMD Athlon
256 Ko
100 %
AMD Duron
064 Ko
100 %
256 - 512 Ko
100 %
Processeurs
Intel Pentium Pro
Intel Pentium 4
Il existe plusieurs forme de mémoire cache :
La mémoire Async SRAM (Asynchronous SRAM) : la mémoire cache asynchrone a été
utilisée en masse pour équiper de caches de second niveau les anciens modèles de
processeurs 386, 486 et quelques Pentium de première génération. Comme son nom l'indique,
la mémoire cache asynchrone ne suit pas la cadence de l'horloge de la carte mère, il s'agit
simplement d'une SRAM beaucoup plus rapide que la DRAM, offrant des temps d'accès de 12
à 20 ns. Cette vélocité permet au processeur de lire ou écrire dans sa mémoire cache plus
rapidement que dans la mémoire centrale, mais l'absence de synchronisation entraîne malgré
tout la formation de délais d'attente pour le processeur.
Tant que la fréquence du bus de données ne dépasse pas 33 MHz, la mémoire cache
asynchrone lit les données selon une séquence optimale de 2-1-1-1. Dès que la vitesse du bus
de données dépasse les 33 MHz, les performances de la cache asynchrone chutent et la
séquence optimale de traitement devient 3-2-2-2.
Le BIOS de certains ordinateurs permet parfois de choisir entre un mode de cache L2 Writethrough et Write-back. Les 2 modes diffèrent en cela qu'avec le Write-through, les données
traitées par le microprocesseur sont écrites simultanément en mémoire cache et en mémoire
centrale, tandis que le mode Write-back n'écrit en RAM les données fournies par le processeur
que lorsque elles quittent la cache (si celle-ci est pleine, par exemple). Le mode Write-through
est plus simple à appliquer car toutes les entrées en cache peuvent être écrasées, puisqu'il en
Page -10- www.sophe.nl/btsig
existe toujours un double en mémoire centrale. Le cache Write-back, quant à lui, doit lancer une
phase de sauvegarde de la cache vers la RAM, lorsque certaines données cachées doivent
être effacées, ce qui génère des temps d'attente pour le microprocesseur. Malgré cela, le mode
Write-back est globalement plus performant car de nombreuses informations peuvent être
écrites par le processeur en cache sans un seul accès en mémoire centrale.
La mémoire Sync SRAM (Synchronous SRAM) : la mémoire cache synchrone est capable
de se mettre en phase avec la fréquence de fonctionnement de la carte mère tant que celle-ci
ne dépasse pas 66 MHz. Pour une cadence de 66 MHz ou moins, la cache synchrone est
accédée en 8,5 à 12 ns et effectue des opérations de lecture/écriture selon la séquence 2-1-11. Cependant, dès que la fréquence de la carte mère atteint par exemple 75 MHz (Cyrix 6x86P200+), la Sync SRAM sature et se contente de réaliser au mieux la séquence 3-2-2-2.
Adaptée aux configurations d'ordinateurs des années 1985 - 1995, la mémoire cache
synchrone a disparu au profit de la mémoire PBS, plus adaptée à l'apparition de bus de
données à 75, 83 ou 100 Mhz.
La mémoire PBS (Pipelined Synchronous Burst SRAM) : malgré des performances
légèrement en retrait par rapport à celles de la Sync SRAM pour des vitesses de bus inférieures
ou égales à 66 MHz, la PBS a été préférée car elle est plus adaptée aux cartes mères
fonctionnant à des fréquences dépassant 66 MHz (alors que les performances de la Sync
SRAM déclinent au delà de cette cadence).
La mémoire cache PBS est capable d'épouser le rythme imposé par l'horloge de la carte mère
jusqu'à 133 MHz au moins, elle est accédée en 4,5 à 8 ns et dispose en plus d'une structure en
pipeline qui lui donne son nom et la particularité de traiter les données en mode burst.
Globalement, le pipeline est un système qui permet d'entamer des opérations de
lecture/écriture sur une adresse-mémoire sans attendre qu'un accès précédent à une autre
adresse se soit achevé (un peu comme du travail à la chaîne dans une usine automobile, où la
construction d'une voiture peut être lancée sans attendre que le véhicule précédent soit
entièrement monté).
Page -11- www.sophe.nl/btsig
Téléchargement