Vous êtes sur la page 1sur 10

E.S.T.M Filières G.E-G.I.M-S.

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.

II Différents types de mémoires


II.1 Définitions
Comme on l'a mentionné précédemment, plusieurs types de mémoires composent un ordinateur: la
mémoire principale, les registres et les mémoires périphériques. Nous allons pour l'instant nous
pencher sur la mémoire principale.
Ceci nous amène à faire la distinction entre deux autres types de mémoire: la mémoire vive
(Random Acces Memory R.A.M) et la mémoire morte (Read Only Memory R.O.M). Par défaut, la
mémoire morte, est une mémoire dont le contenu est fixé en permanence. Ce type de mémoire ne
peut donc qu'être lu. Par contre, le contenu de la mémoire vive peut être changé à volonté, il s'agit
donc d'une mémoire où on peut lire et écrire au besoin.
Jusqu'au milieu des années 70, les mémoires principales étaient constituées de tores magnétiques.

1
E.S.T.M Filières G.E-G.I.M-S.E S1 2012-20132

Depuis, les mémoires à semi-conducteurs se sont imposées et différentes technologies de mémoires


à semi-conducteurs ont été mises au point pour construire des mémoires vives et les mémoires
mortes. les dernières améliorations technologiques ont consisté à pousser de plus en plus
l'intégration des circuits.
II.2 Technologies
Un semi-conducteur est un matériau dont la conductibilité électrique se situe entre celle des isolants
et celle des métaux. Les plus utilisés sont le germanium et surtout, le silicium. Les mémoires à
lecture seulement, ou ROM (Read Only Memory) contiennent un contenu qui est enregistré de
façon définitive lors de la construction, et par conséquent ce contenu est conservé même en cas de
perte de tension électrique. Ce n'est pas le cas des mémoires vives ou RAM (pour Random Acces
Memory) qui voient leur contenu s'envoler dès que la tension électrique disparaît, par exemple, dès
que l'appareil est éteint. Les mémoires vives peuvent par contre être lues et écrites autant de fois
que nécessaire, car leur contenu n'est pas "câblé".
Technologie BIPOLAIRE et MOS.
Que ce soit pour la construction de mémoires ROM ou RAM, les constructeurs ont le choix de deux
technologies: les technologies unipolaires MOS ou la technologie bipolaire. Les principales
mémoires bipolaires sont celles de la famille des TTL (Transistor Transistor Logic). On les retrouve
surtout sur des ordinateurs de grande taille. Elles permettent d'obtenir des temps d'accès plus
rapides, mais leur prix est plus élevé et elles ont tendance à dégager plus de chaleur.
Il existe plusieurs variantes de la gamme des mémoires MOS. Les plus utilisées sont les C-MOS et
les H-MOS. On trouve aussi les N-MOS, P-MOS, MOSFET, MOSROM,... Ces mémoires
permettent d'atteindre un haut niveau d'intégration. Certaines ont des caractéristiques particulières
pour une application, comme les FAMOS (Floating gate Avalanche injection MOS) dont le
dispositif à grille flottante permet la réalisation des EPROM.
II.3 Les mémoires à lecture seule (ROM).
Une mémoire ROM est d'abord un circuit intégré. Cela veut dire qu'il s'agit d'un ensemble de
circuits inter reliés dans le but d'exécuter une fonction. Dans ce cas-ci, la fonction est
d'emmagasiner un certain nombre d'informations et de les restituer au besoin. Le boîtier ROM
comporte donc les différentes unités d'information (bits) et les circuits nécessaires pour "livrer" la
partie d'information requise lorsqu'on lui en fait la demande et qu'on lui fournit l'adresse de la
cellule d'information recherchée.
Les entrées du circuit sont donc les différents bits contenant l'adresse de l'information recherchée, et
les sorties sont les différents bits contenant les données. À cela s'ajoute une entrée qui signale
l'ordre de lecture.
On sait donc qu'à chaque combinaison de bits d'adresse en entrée doit correspondre une
combinaison de bits de données en sortie. Comme on l'a dit, le contenu d'une mémoire ROM est
fixé à la construction et ne peut plus être changé. C'est donc dire, que dès la construction, on connaît
les sorties qu'on désire pour chaque entrée. Il suffit alors de construire le transcodeur, un circuit qui
permet de "transformer" les bits d'entrée pour produire les sorties désirées.
II.4 Les "PROM" ou ROM programmables.
Cependant, comme il est coûteux de construire des mémoires ROM pour des applications très
spécifiques, il existe des variantes de mémoires ROM qui peuvent être programmées par
l'utilisateur. Ce sont les PROM (Programmable ROM), qui sont en fait des ROM "vierges" qui
contiennent toutes les connexions possibles et sur lesquelles un appareil spécial, le programmeur de
PROM permet de détruire certains fusibles internes.

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

III.4 Evolution technologique de la RAM et de la DRAM


Année Désignation Type Largeur Bus
1987 Fast Page Mode (FPM) Asynchronous 4 ou 8 octets
1990 Extended Data Out (EDO) Asynchronous 4 ou 8 octets
1997 SDRAM PC 66 Synchronous 8 octets
1998 SDRAM PC 100 Synchronous 8 octets
1999 SDRAM PC 133 Synchronous 8 octets
1999 Rambus PC600/700/800 Synchronous 2 octets
2000 DDR-SDRAM PC 1600 Synchronous 8 octets
2001 DDR-SDRAM PC 2100 Synchronous 8 octets
2002 DDR-SDRAM PC 2700/3200 Synchronous 8 octets
2002 Rambus PC 1066 Synchronous 2 octets
2003 DDR-SDRAM PC 3500/4000/4400 Synchronous 8 octets
2003 DDR2-SDRAM PC 4200 Synchronous 8 octets
2007 DDR3 Synchronous 8 octets

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

DDR-SDRAM PC4400 DDR 550 275 Mhz × 2 4,4 Go/s


DDR2-SDRAM PC3200 DDR2 400 200 Mhz × 2 3,2 Go/s
DDR2-SDRAM PC4200 DDR2 533 267 Mhz × 2 × 2 4,2 Go/s
DDR2-SDRAM PC5300 DDR2 667 333 Mhz × 2 × 2 5,3 Go/s
DDR2-SDRAM PC6400 DDR2 800 400 Mhz × 2 × 2 6,4 Go/s
DDR2-SDRAM PC8000 DDR2 1066 533 Mhz × 2 × 2 8 Go/s
DDR3-SDRAM PC3-6400 DDR3 800 400 Mhz × 2 × 2 6,4 Go/s
DDR3-SDRAM PC3-8500 DDR3 1066 533 Mhz × 2 × 2 8,5 Go/s
DDR3-SDRAM PC3-10667 DDR3 10333 667 Mhz × 2 × 2 10,6 Go/s
DDR3-SDRAM PC3-12800 DDR3 1600 800 Mhz × 2 × 2 12,8 Go/s
DDR3-SDRAM PC3-14900 DDR3 1866 933 Mhz × 2 × 2 14,9 Go/s
RDRAM PC 800 PC 800 100 Mhz × 4 × 4 bancs 3,2 Go/s
RDRAM PC 1066 PC 1066 130 Mhz × 4 × 4 bancs 4,2 Go/s
RDRAM PC 1200 PC 1200 150 Mhz × 4 × 4 bancs 4,8 Go/s

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.

Mémoire cache primaire et secondaire


On distingue en fonction de leur taille et de leur localité :
• la mémoire cache de premier niveau (L1) située à l'intérieur du processeur et dont la taille
est de deux fois 8 Ko (Pentium) ou deux fois 16 Ko (Pentium Pro)

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

Evolution de la taille du cache L2 au cours du temps pour les processeurs Intel


L'arrivée des processeurs multi-coeurs a modifié les besoins en cache L2/L3 :
• avec un coeur on tente de posséder des caches L1, L2 de plus en plus grands et performants
• avec plusieurs coeurs, il faut alimenter de manière équivalente tous les coeurs, d'où un cache
L3 de plus en plus grand, alors que le cache L2 peut diminuer (cas du Gulftown : 256 ko L2,
12 Mo L3)

10

Vous aimerez peut-être aussi