Académique Documents
Professionnel Documents
Culture Documents
E S1 2012-20132
Les mémoires
I Définitions et rôles
Un ordinateur est composé de plusieurs types de mémoire. À première vue, on peut d'abord
distinguer la mémoire principale à l'interne et les mémoires périphériques à l'externe (appelées aussi
mémoires auxiliaires ou mémoires de masse ou alors secondaire).
Les mémoires auxiliaires sont des mémoires de grande capacité qui permettent de stocker les
informations pour une plus longue période que ne le fait la mémoire principale de capacité plus
limitée. Ce sont par exemple les disques et disquettes, ou les bandes magnétiques. Ces mémoires
ont par contre un temps d'accès plus lent que la mémoire principale, mais leur coût de fabrication
est bien plus bas. La mémoire principale, quant à elle, est une mémoire plus rapide, à laquelle la
CPU est reliée. C'est là que sont emmagasinées les informations et les instructions à exécuter (par
exemple les programmes de l'usager) et que transitent les informations permettent au CPU
d'exécuter ces instructions. Essentiellement, le rôle de la mémoire est celui d'emmagasiner de
l'information et de la restituer au besoin. Pour ce faire, l'information contenue dans la mémoire doit
être bien identifiée, de façon à pouvoir la retrouver au besoin.
Il y a plusieurs façons différentes d'organiser une mémoire. La taille des unités d'information qu'elle
contient peut également varier. Les caractéristiques des mémoires dépendent, entre autres, des
performances désirées, de la capacité souhaitée, et du budget dont on dispose car généralement leur
coût est prohibitif, malgré la tendance à la baisse.
Une mémoire se présente comme un ensemble de cellules ou d'unités de rangement identiques
destinées à mémoriser de l'information. Chaque unité de rangement est identifié par un numéro
qu'on appelle son adresse. Pour une mémoire comportant N cellules, les adresses sont les entiers
compris entre 0 et N-1. Il existe donc un système physique assurant la correspondance entre chaque
unité de rangement de la mémoire et son adresse. Le bloc de contrôle de la mémoire (ou
contrôleur) effectue ce travail d'aiguillage.
La mémoire doit aussi pouvoir communiquer avec les autres parties de l'ordinateur, l'unité centrale
de traitement (CPU) et les unités d'entrées/sorties en particulier. Cette communication est assurée
par des organes de liaison formés par les lignes ( ou bus), les portes et les registres. Les lignes sont
en réalité des "autoroutes" sur lesquels circulent les bits d'information formant les adresses et les
données. Les portes servent à contrôler la synchronisation du traitement en laissant passer les
impulsions électriques ou non en étant ouvertes ou fermées. Tant qu'aux registres, ils sont en réalité
des mémoires très petites et très rapides qui servent à emmagasiner temporairement certaines
informations concernant le travail à effectuer.
1
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
2
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
Cela revient à éliminer certaines connections pour ne conserver que celles désirées. Les "EPROM"
ou PROM effaçables. Il peut être avantageux de pouvoir modifier une PROM. Mais les fusibles
détruits lors de la programmation d'une PROM ne peuvent pas être recréés. C'est pourquoi les
EPROM ont été mis au point. Située un peu à mi-chemin entre la RAM et la ROM, l'EPROM
(Erasable PROM) est un dispositif dont le contenu peut être effacé lorsqu'il est soumis à un
rayonnement ultraviolet (UV), autorisant ainsi une nouvelle programmation.
Les "EEPROM" ou PROM effaçables électroniquement.
Cette catégorie de mémoires ROM a l'avantage d'être effaçable électriquement, ce qui est plus,
simple que d'utiliser le rayonnement ultraviolet comme c'est le cas pour les EPROM.
II.5 Les mémoires lecture-écriture (RAM).
Les mémoires vives ou RAM sont aussi des circuits intégrés. Comme le contenu de chaque cellule
peut être lu ou écrit, il doit pouvoir varier. Contrairement au cas des ROM, la sortie correspondant à
une série de bits d'adresse donnée en entrée n'est pas fixée dès la construction, mais elle peut au
contraire changer selon le programme utilisé et les données qui l'alimentent.
Les opérations diffèrent selon qu'on procède à une lecture ou à une écriture. Dans le cas d'une
lecture, les bits qui constituent l'adresse sont "reçus" par un décodeur d'adresse qui localise la
cellule recherchée. Selon que cette cellule contient un 0 ou un 1, la donnée est acheminée en sortie
sur la ligne de lecture/écriture d'un 0 ou sur la ligne de lecture/écriture d'un 1.
Pour une opération d'écriture, l'adresse est aussi décodée par le décodeur d'adresse qui localise la
cellule recherchée, et selon qu'on veut écrire un 0 ou un 1, la ligne de lecture/écriture d'un 0 ou la
ligne de lecture/écriture d'un 1 est utilisée pour acheminer la donnée à la cellule désirée. On
distingue deux sortes de mémoires vives: les statiques et les dynamiques.
II.5.1 RAM statique
Dans une mémoire vive statique, un "bistable" formé de deux transistors est utilisé pour représenter
un élément de mémorisation. Sans intervention de l'extérieur, le bistable maintient un état électrique
représentant une information binaire. À chacun des états, un des deux transistors est saturé et l'autre
bloqué, et seule l'application d'une tension électrique peut faire passer le bistable d'un état à l'autre.
C'est le fait qu'un état stable soit maintenu sans intervention extérieure qui fait qu'on l'appelle
mémoire statique.
II.5.2 RAM dynamique
Par contre, les mémoires dites "dynamiques" sont basées sur l'utilisation d'un condensateur qui
maintient entre ses électrodes une tension électrique de 5 V ou de 0 V qui équivalent aux états 1 et
0. Cependant, le condensateur se décharge et il faut donc procéder à un rafraîchissement périodique
de la mémoire. Cela signifie qu'on procède à une lecture puis à la réécriture de la mémoire
régulièrement. Il faut donc une intervention externe régulière, le rafraîchissement, pour maintenir
l'état d'une mémoire dynamique. Malgré cet inconvénient, la simplicité des RAM dynamiques
permet de les intégrer en plus grand nombre sur une même puce de silicium que leurs concurrentes
statiques. C'est d'ailleurs cette caractéristique qui a contribué à généraliser l'emploi de RAM
dynamiques; IBM, notamment, les a introduites sur ses micro-ordinateurs IBM PC
II.5.3 Classification de la mémoire dynamique.
Chaque technologie a ses avantages et désavantages. On prend comme règle générale que plus c’est
rapide, plus ça coûte cher.
DRAM (Dynamic RAM), est la mémoire la moins chère et la plus répandue des mémoires
semi-conducteurs.
3
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
FPM (Fast Page Mode), est une mémoire Dram standard qui est disponible avec une vitesse
de 60ns.
EDO (Extended Data Output), amélioration du standard FPM.
SDRAM (Synchronous), DDRRAM (Double Data Rate), DRRAM (Direct Rambus),
SLRAM (Sync Link), sont toutes des type de mémoire qui fonctionnent en synchronisation
avec l’horloge du CPU.
III Classification et hiérarchisation de la mémoire :
III.1 classification
Il est d'usage pour classifier les mémoires de les hiérarchiser en les situant dans une représentation
appelée pyramide des mémoires. Au sommet de la pyramide, se trouvent les registres qui font
partie du processeur. Ils sont extrêmement rapides et fonctionnent à la vitesse du CPU mais ils ne
peuvent contenir que quelques mots, les instructions et les données, qui y sont traités en quelques
4
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
milliardièmes de secondes.
Les données que le processeur traite doivent être facilement accessibles à proximité immédiate du
CPU dans les mémoires caches disposées sur la même puce que le processeur. Ce sont des
mémoires très rapides. Elles mettent à la disposition du processeur les copies de quelques
ensembles de données et d'instructions prises dans la mémoire centrale trop lente par rapport au
processeur. Il y a généralement deux niveaux de cache. La cache de niveau 1 étant plus rapide mais
de taille plus restreinte que la cache de niveau 2.
La mémoire centrale se présente sous forme de barrettes disposées à proximité du processeur et
reliées à lui par ce qu'on appelle le bus système. Les informations y sont stockées sous forme
électronique comme pour les mémoires caches et les registres mais avec une technologie différente
qui permet d'avoir pour une quantité plus importante de données pour un coût moindre. Elle est en
contrepartie plus lente. La vitesse de réaction des barrettes RAM et la celle du bus système sont
insuffisantes pour pouvoir répondre rapidement aux commandes du processeur. C'est la raison pour
laquelle les données y sont lues non pas une par une mais par blocs mis à portée de main du
processeur par l'entremise de la mémoire cache.
Sous la mémoire centrale, dans cette représentation hiérarchisée, se trouvent les mémoires de
masse. Les disques durs conservent les données sous forme magnétique. Les temps d'accès sont
plus lents que pour la mémoire de masse mais le coût du byte mémorisé ainsi que le volume
physique pour le mémoriser sont bien moindre. Les mémoires de type flash (disques SSD)
remplacent parfois avantageusement les disques magnétiques. Nous verrons dans les prochaines
années ce qu'il en adviendra.
A la base de cette pyramide se trouvent les disques optiques CD-ROM ou DVD qui offrent des
volumes de données plus importants encore pour un prix moindre. Leurs faibles coûts en font des
supports idéaux pour l'archivage d'informations auxquelles il n'est pas nécessaire d'accéder souvent.
Les bandes magnétiques ont les temps d'accès encore plus longs puisqu'elles sont à accès séquentiel.
On les utilise toujours actuellement pour les backups.
III.2 Caractérisation de la mémoire
III.2.1 La capacité :
c’est le nombre total de bits que contient la mémoire. Elle s’exprime aussi souvent en octet. Le
format des données : c’est le nombre de bits que l’on peut mémoriser par case mémoire. On dit
aussi que c’est la largeur du mot mémorisable.
III.2.2 Le temps d’accès :
c’est le temps qui s'écoule entre l'instant où a été lancée une opération de lecture/écriture en
mémoire et l'instant où la première information est disponible sur le bus de données.
III.2.3 Le temps de cycle :
il représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou
d'écriture.
III.2.4 Le débit :
c’est le nombre maximum d'informations lues ou écrites par seconde.
III.2.5 Volatilité :
elle caractérise la permanence des informations dans la mémoire. L'information stockée est volatile
si elle risque d'être altérée par un défaut d'alimentation électrique et non volatile dans le cas
contraire.
Remarque :
5
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
Les mémoires utilisées pour réaliser la mémoire principale d’un système à microprocesseur sont des
mémoires à semi-conducteur. On a vu que dans ce type de mémoire, on accède directement à
n'importe quelle information dont on connaît l'adresse et que le temps mis pour obtenir cette
information ne dépend pas de l'adresse. On dira que l'accès à une telle mémoire est aléatoire ou
direct.
A l'inverse, pour accéder à une information sur bande magnétique, il faut dérouler la bande en
repérant tous les enregistrements jusqu'à ce que l'on trouve celui que l'on désire. On dit alors que
l'accès à l'information est séquentiel. Le temps d'accès est variable selon la position de l'information
recherchée. L'accès peut encore être semi-séquentiel : combinaison des accès direct et séquentiel.
Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au secteur est
séquentiel.
III.3 Adressage
La figure 1 montre l'exemple d'adressage d'une mémoire RAM de 256KO, Une adresse mémoire est
alors codée sur 18 bits. Les 16 bits de poids faible donnent l'adresse à l'intérieur d'un boîtier et les 2
bits de poids fort donnent le numéro du boîtier à sélectionner.
6
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
Mémoire DDR-SDRAM
La Double Data Rate SDRAM est un standard mis au point par Nec, Samsung et Toshiba. Elle
double le taux de transfert des actuelles DRAM en permettant de lire les données sur le front
montant et sur le front descendant du signal d'horloge. La DDR SDRAM fonctionne à 100, 133,
150, 166, 200 ou 233 Mhz et est capable d'atteindre des vitesses de transfert de l’ordre de 1.6 à 4,2
Go/s :
Norme Norme JEDEC Fréquence réelle Bande Passante
DDR-SDRAM PC1600 DDR 200 100 Mhz × 2 1,6 Go/s
DDR-SDRAM PC2100 DDR 266 133 Mhz × 2 2,1 Go/s
DDR-SDRAM PC2700 DDR 333 166 Mhz × 2 2,7 Go/s
DDR-SDRAM PC3000 DDR 370 185 Mhz × 2 2,7 Go/s
DDR-SDRAM PC3200 DDR 400 200 Mhz × 2 3,2 Go/s
DDR-SDRAM PC3500 DDR 433 217 Mhz × 2 3,5 Go/s
DDR-SDRAM PC3700 DDR 466 233 Mhz × 2 3,7 Go/s
DDR-SDRAM PC4200 DDR 533 266 Mhz × 2 4,2 Go/s
7
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
IV La mémoire cache
IV.1 Principe :
Il est un fait avéré que les microprocesseurs ont toujours été plus rapides que les mémoires.
L'accroissement du temps d'accès des mémoires va de paire avec un accroissement de la vitesse des
CPUs et l'écart reste donc constant. L'accès mémoire représente donc un goulot d'étranglement
puisque le CPU passe du temps à attendre les informations provenant de la mémoire,
On considère en effet que les performances des processeurs doublent tous les 1 an et demi (loi de
Moore) alors que celles des mémoires doublent tous les 10 ans. La résolution du problème n'est
cependant pas technologique mais plutôt d'ordre économique. Il est techniquement possible de
réaliser des mémoires presque aussi rapides que des CPU mais leur coût de production est
relativement onéreux. On préfère donc utiliser des mémoires centrales plus lentes mais de coût
raisonnable. Pour pallier la lenteur relative des mémoires centrales on a recours à une solution
matérielle et logicielle nommée mémoire cache ou antémémoire.
8
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
• la mémoire cache de second niveau (L2) située dans le boîtier du processeur et dont la taille
varie de 256 à 512 Ko.
• la mémoire cache de troisième niveau (L3) située à présent au niveau du processeur et dont
la taille varie de 6 à 24 Mo.
Taille des cache L3 des Itanium (Intel)
Version Taille L3
Dual Core Itanium 2
24 Mo
9050
Dual Core Itanium 2
18 Mo
9040
Dual Core Itanium 2
8 Mo
9030
Dual Core Itanium 2
12 Mo
9020
Itanium 2
6 Mo
9010
Le principe de la mémoire cache est simple : il consiste à stocker dans une mémoire rapide et de
faible capacité les données les plus souvent utilisées.
La mémoire cache repose sur le principe de :
• localité : on a une forte probabilité d'accéder à la donnée à l'adresse P+1 si on a accédé à la
donnée à l'adresse P
• temporalité : on a une forte probabilité d'accéder à la donnée à l'adresse P au temps T+1 si
on a accédé à la donnée à l'adresse P au temps T
IV.2 Performances
La performance d'un cache est donnée par le ratio suivant :
perf = Nombre d'accès fructueux / Nombre total d'accès
Type de cache Performance
Accès direct 60 à 80 %
à n groupes 80 à 90%
Associatif 90 à 95%
L'intérêt des caches à accès direct repose sur la vérification rapide de la présence ou non dans le
cache d'une adresse. Pour un cache associatif la recherche est beaucoup plus complexe : le but du
cache étant l'accès rapide aux données on doit éviter une recherche linéaire sur chaque entrée du
cache afin de vérifier la présence d'une adresse. On utilise donc des circuits spécialisés qui
comparent simultanément toutes les entrées du cache. Le cache associatif est donc complexe à
mettre en œuvre et en conséquence beaucoup plus coûteux que le cache à accès direct. Cependant le
cache associatif présente un taux de succès plus élevé que le cache à accès direct pour lequel un
nombre limité d'adresses appartenant à la même classe d'équivalence se trouve dans le cache.
9
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132
10