mémoires numériques

Transcription

mémoires numériques
MÉMOIRES NUMÉRIQUES
Article écrit par François PÊCHEUX
Prise de vue
Une mémoire numérique est un dispositif permettant d'enregistrer et de conserver de manière fiable des
informations binaires pour pouvoir les relire ultérieurement. Elle fait intervenir, quelle que soit la technologie
employée pour conserver l'information, trois éléments fonctionnels : un support physique pouvant conserver
l'information, un moyen d'enregistrement (l'écriture) et un moyen de restitution (la lecture).
Au même titre que le processeur ou les interfaces d'entrée/sortie, la mémoire numérique est un composant
essentiel de tout système informatique. Parce qu'elle est polyvalente et qu'elle existe sous de nombreuses
formes, elle est omniprésente dans notre vie quotidienne, depuis la carte de téléphone permettant de stocker
256 bits d'information jusqu'au superordinateur pouvant en conserver plusieurs téra-octets, en passant par le
téléphone mobile, la télévision haute définition ou l'ordinateur de bureau. Les progrès technologiques effectués
depuis les années 1960 ont permis de passer d'un monde « analogique », où la voix et l'image sont des
signaux physiques évoluant continûment dans le temps, à un monde « numérique », où ces mêmes signaux
sont convertis en échantillons binaires discrets inaltérables.
Un système informatique réel n'est pas composé d'une mais de plusieurs mémoires de types différents.
Celles-ci sont judicieusement agencées sous la forme d'une hiérarchie mémoire, dont la principale fonction est
d'être un compromis efficace entre les performances attendues du système et son coût. Chaque type de
mémoire de cette hiérarchie possède des caractéristiques précises de vitesse et de capacité qui sont
exploitées au mieux par le processeur. Le principe de cette hiérarchie est simple : plus la mémoire est
physiquement proche du processeur, plus elle est rapide, mais plus sa capacité est faible et son coût élevé.
Comme la fréquence de fonctionnement des processeurs évolue bien plus rapidement que celles des
mémoires, les principes qui sous-tendent cette hiérarchie sont constamment revus et corrigés. Chaque
nouvelle génération de processeur profite des dernières avancées technologiques et cela se répercute sur
toutes les mémoires du système.
I-Histoire des mémoires
L'histoire des mémoires numériques a toujours été animée par la poursuite de trois objectifs
contradictoires : une capacité toujours plus grande dans un volume toujours plus petit, un temps d'accès
toujours plus court, et un coût de production et d'utilisation toujours plus faible. Pour atteindre ces objectifs,
l'inventivité des ingénieurs a favorisé le développement de technologies variées fondées sur les propriétés
physiques (mécanique, électrique, magnétique, optique) de la matière. Les mémoires numériques sont toujours
à la pointe du progrès technologique et servent d'étalon pour la production des autres composants
électroniques.
La Pascaline, le calculateur mis au point en 1642 par Blaise Pascal, marque traditionnellement le début de
l'histoire des mémoires numériques. Ancêtre de la calculatrice, la Pascaline mémorise les informations
nécessaires au calcul effectué dans des engrenages, dont les positions indiquent des valeurs décimales. Ce
principe a été utilisé jusqu'à la fin du XXe siècle dans les compteurs kilométriques des automobiles, remplacé
depuis par un afficheur numérique. La boîte à musique est un autre exemple de mémoire mécanique
permettant de jouer un air musical programmé sur un tambour rotatif.
Dès 1725, Basile Bouchon et Jean-Baptiste Falcon définissent les premiers systèmes de commande de
machine à tisser. Afin d'obtenir des étoffes avec des motifs tissés et non peints, les instructions nécessaires à
l'élaboration de ces motifs sont stockées sur des rubans perforés. Ce principe est ensuite repris et amélioré par
Joseph-Marie Jacquard en 1800 pour ses métiers à tisser programmables. Pour permettre un dépouillement plus
rapide du recensement de 1890 aux États-Unis, l'Américain Hermann Hollerith invente la carte perforée, qui
sera utilisée par tous les systèmes mécanographiques au début du XXe siècle.
Perforatrice de la machine à statistiques d'Hermann Hollerith
La machine à statistiques, inventée par le mécanicien américain Hermann Hollerith
(1860-1929), utilisait la carte perforée comme support d'information. Dans cette
technique de stockage des données, chaque bit était représenté sur la carte par un
trou qui était effectué par cette perforatrice ou «pantographe». Les cartes étaient
ensuite lues par la trieuse puis la tabulatrice …(Erich Lessing/ AKG)
En 1906, les progrès effectués dans la compréhension des propriétés ferroélectriques de la matière
permettent de mettre au point la lampe triode qui sert à réaliser la première mémoire électrique (1912) et le
premier compteur à tubes (1932). Le tube est en fait un registre à décalage contenant un fil métallique, un
tube de mercure et plusieurs condensateurs. Ce sont 18 000 de ces mêmes tubes que l'on retrouve dans le
premier ordinateur habituellement reconnu, l'Eniac (electronic numerical integrator and computer), inauguré
en 1946.
En 1947, John Bardeen, Walter H. Brattain et William Shockley inventent le transistor, qui révolutionne la
manière de représenter et de stocker l'information binaire, en permettant pour la première fois de répondre
simultanément aux trois objectifs recherchés (capacité et vitesse accrues pour un faible coût). Toutes les
mémoires à semi-conducteurs utilisées aujourd'hui reposent sur une exploitation optimale du transistor.
Parallèlement, Jay Forrester expérimente les mémoires à tores de ferrite (1950), où ce sont les propriétés
ferromagnétiques des matériaux qui sont cette fois exploitées pour mémoriser une information binaire. Les
tores magnétiques sont magnétisables en quelques microsecondes et conservent indéfiniment l'information
selon le principe de l'aimantation rémanente. Les mémoires à tores ont ainsi permis d'augmenter la capacité et
la vitesse des mémoires, mais leur réalisation reste encore très délicate pour des raisons de précision dans la
fabrication des anneaux de ferrite et de parasitage entre tores.
C'est aussi à cette époque que des chercheurs de Minneapolis construisent la première unité de stockage à
tambour magnétique. Celle-ci contient un million de bits de données et l'accès à l'un de ces bits demande
5 millisecondes. En 1956, I.B.M. propose le premier dispositif pratique de stockage pour ordinateur, le RAMAC
(random access method of accounting and control), doté d'une mémoire de 5 méga-octets et comprenant
50 disques magnétiques de 60 centimètres de diamètre. C'est ce principe qui est à l'origine des disques durs
tels que nous les connaissons aujourd'hui.
La technologie optique de stockage sur cédérom (ou CD-ROM pour compact disc-read only memory) ou
DVD (digital versatile disc) est apparue beaucoup plus tard, dans les années 1980. Elle a été initialement
utilisée pour concevoir des supports pratiques pour les données audionumériques, les cédéroms audio. En
1986, les premiers lecteurs de cédérom pour les données numériques, exploitant le même support optique,
apparaissent sur les ordinateurs personnels.
Toutes ces technologies ont évolué au cours du temps. L'histoire de l'informatique, comme toute histoire
d'ailleurs, est jalonnée de succès et d'échecs. Certains grands principes comme le transistor ou la mémoire
RAM (random access memory, mémoire à accès aléatoire) demeurent aujourd'hui toujours valides. D'autres,
qui ont eu leur heure de gloire comme les mémoires ROM (read only memory, mémoire à lecture seule), PROM
(programmable ROM, ROM programmable), EPROM (erasable PROM, PROM effaçable), les mémoires à bulle ou
les tores de ferrite ont disparu, remplacés par des dispositifs beaucoup plus efficaces.
D'un point de vue économique, les mémoires numériques représentent environ 30 p. 100 du marché
mondial des semi-conducteurs : un composant électronique vendu sur trois est une mémoire. Il n'est donc pas
étonnant que les mémoires soient un indicateur fiable de l'état de l'art de l'industrie microélectronique et de sa
santé financière. Aujourd'hui, le marché des mémoires à semi-conducteurs est dominé par de grandes firmes
asiatiques comme Fujitsu, Nec Toshiba, ou Hitachi. Contrairement aux firmes américaines et européennes,
celles du Japon et de la Corée du Sud ont opté pour une intégration verticale : les autres départements d'une
même compagnie sont eux-mêmes grands consommateurs des mémoires produites, ce qui garantit des
volumes de commande constants. Les autres pays du globe sont, quant à eux, tributaires de l'Asie.
II-Fonctionnement
Pour décrire le fonctionnement d'une mémoire, l'image généralement donnée est celle d'un meuble
comprenant un ensemble de tiroirs de même taille... à ceci près que le meuble peut contenir des millions, voire
des milliards de tiroirs. Chaque tiroir, ou emplacement mémoire, est accessible individuellement. On peut y
entreposer un contenu quelconque. Pour les distinguer, il faut affecter à chacun d'eux un numéro, l'adresse. De
cette manière, chaque donnée d'un emplacement mémoire est accessible à partir de son adresse. Avec une
adresse codée sur n bits, le microprocesseur peut distinguer jusqu'à 2n emplacements mémoires distincts.
Le microprocesseur informe aussi la mémoire du type d'opération souhaitée (lecture ou écriture). La
mémoire dispose donc d'une entrée de commande permettant de distinguer ces deux cas (fig. 1). Dans le cas
d'une lecture, la mémoire répond au processeur en émettant le contenu de l'emplacement mémoire
correspondant sur le bus de données (ensemble de fils d'interconnexion entre le processeur et la mémoire).
Dans le cas d'une écriture, le mot binaire enregistré précédemment à l'adresse indiquée est détruit et
remplacé par le contenu proposé par le processeur via le bus de données.
Microprocesseur : le Pentium. 4
Le microprocesseur Pentium. 4, développé par la société américaine Intel (Integrated
Electronics). Les premières versions, commercialisées en novembre 2000, étaient
composées de 42 millions de transistors sur une surface d'une centaine de millimètres
carrés. Ils opéraient avec une fréquence d'horloge de 1,5 GHz et une fréquence de bus
(communications externes entre composants de l'ordinateur) de …(Intel .)
Mémoire numérique : fonctionnement
Mémoire numérique : fonctionnement. Quel que soit le type de la mémoire, la
procédure d'accès est toujours la même : le processeur sélectionne l'adresse de
l'emplacement mémoire souhaité ; il définit ensuite l'opération à effectuer (lecture ou
écriture) ; enfin, il lit ou écrit l'information.(2009 Encyclopædia Universalis France S.A.)
III-Critères de classification des mémoires
Le terme « mémoire numérique » reste par essence très générique, s'appliquant à de nombreux dispositifs
de mémorisation. Aussi, pour pouvoir les distinguer, il est important de connaître la terminologie associée et
les critères reconnus de classification. Les plus utilisés pour qualifier les mémoires sont le format des données,
les différents types de technologie ou principes physiques utilisés pour représenter et stocker un bit, le type
d'accès, la volatilité, le temps d'accès et de cycle, le débit, la granularité, la capacité de stockage, la
consommation et le coût par bit.
Tout stockage numérique fait appel à une technologie particulière pour conserver le bit, l'information
binaire élémentaire. Dans une mémoire, à l'échelle microscopique, les valeurs 0 ou 1 d'un bit sont conservées
dans une structure matérielle caractérisée par l'absence ou la présence d'une grandeur physiquement
mesurable : tension électrique, champ magnétique, altération optique. Cette structure est généralement
appelée point mémoire. La juxtaposition de ces points mémoires forme des mots mémoires qui sont
eux-mêmes entreposés dans des emplacements mémoires.
Format des données
Le format des données correspond à la taille des tiroirs, au nombre de bits que l'on peut stocker par tiroir
(emplacement mémoire). On parle aussi de largeur de mot mémorisable.
Technologie
Technologie à semi-conducteurs
Parce qu'un ordinateur est avant tout un assemblage de composants électroniques, il est logique que la
technologie à semi-conducteurs soit la plus fréquemment employée pour représenter un point mémoire.
Schématiquement, il existe trois types de points mémoires électriques : le point mémoire statique (static RAM,
ou SRAM), le point mémoire dynamique (dynamic RAM, ou DRAM), et le point mémoire Flash. Seul ce dernier
conserve l'information binaire en absence d'alimentation électrique.
Point mémoire statique (SRAM)
La technique de mémorisation dans un point mémoire statique SRAM repose sur l'utilisation d'un
amplificateur en boucle fermée, qui forme un système électriquement stable. En l'absence de stimulation
électrique externe, cette boucle électrique conserve ou mémorise l'information binaire. L'amplificateur est
généralement réalisé par deux portes logiques inverseuses rebouclées (fig. 2), contenant chacune deux
transistors MOS (metal oxide semiconductor). La commande C permet d'activer les deux transistors latéraux et
de propager le contenu du point mémoire sur les sorties D et /D, ou d'en modifier le contenu. Un point mémoire
statique utilise six transistors au total (deux transistors par inverseur et les deux transistors latéraux). Son
principal intérêt est sa rapidité d'accès, et son principal défaut le nombre de transistors nécessaires à sa
réalisation, ce qui réduit la densité de points mémoires sur un même support en silicium.
Mémoires numériques : point mémoire statique
Mémoires numériques : point mémoire statique. Schéma d'un point mémoire statique
ou SRAM (static random access memory). Dans ce type de mémoire, l'information
binaire est stockée dans une boucle électriquement fermée.(2009 Encyclopædia
Universalis France S.A.)
Point mémoire dynamique (DRAM)
Cette technologie s'appuie sur la capacité d'un condensateur C à stocker l'énergie électrique pour
conserver un bit (fig. 3). La représentation d'un bit par une charge électrique permet de réduire à deux le
nombre de transistors utiles et donc de diviser par trois la surface de silicium nécessaire pour représenter un
point mémoire dynamique DRAM par rapport au point mémoire statique SRAM. Cette technologie permet ainsi
d'obtenir une très grande densité d'intégration. Son principal défaut est lié aux courants de fuite électriques
qui, même très faibles, déchargent progressivement le condensateur au cours du temps. Pour pallier ce
phénomène indésirable, il est indispensable d'entretenir périodiquement (toutes les 1 à 20 millisecondes, soit
500 à 1 000 fois par seconde) la charge électrique en rechargeant le condensateur C. Cette opération est
appelée le rafraîchissement du point mémoire dynamique. La gestion des composants utilisant cette
technologie est rendue plus complexe par le fait que le rafraîchissement doit être prioritaire sur toute autre
opération (lecture ou écriture), ce qui a un impact direct sur le temps d'accès aux données.
Mémoires numériques : point mémoire dynamique
Mémoires numériques : point mémoire dynamique. Schéma d'un point mémoire
dynamique ou DRAM (dynamic random access memory). Dans ce type de mémoire,
l'information binaire est conservée dans une capacité C.(2009 Encyclopædia
Universalis France S.A.)
Point mémoire Flash
Les deux mémoires à semi-conducteurs précédentes présentent un défaut majeur : elles ne conservent
leur information que lorsque le système est électriquement alimenté. Dès que l'alimentation électrique est
coupée, celles-ci perdent irrémédiablement leur contenu. Le point mémoire Flash permet de résoudre ce
problème. Son principe consiste à transformer un transistor FAMOS (floating gate avalanche injection MOS) en
piège à électrons au moyen d'une grille flottante. Si on polarise l'électrode de commande (gate) tout en
envoyant une impulsion électrique (tension de programmation de l'ordre de quelques volts) entre les deux
autres électrodes (source et drain), le transistor « part en avalanche » : les électrons se multiplient et
acquièrent suffisamment d'énergie pour traverser l'oxyde isolant et se retrouver piégés dans la grille flottante.
À partir de cet instant, même si l'on supprime la tension de programmation, ces électrons restent prisonniers et
la grille flottante reste chargée en permanence. Ce phénomène reste stable pendant une dizaine d'années et
permet de conserver durablement une information binaire. À titre d'exemple, c'est ce principe qui est utilisé
pour stocker l'information dans une clé USB (universal serial bus).
Technologie magnétique
Dès 1950, la technologie magnétique a été identifiée comme une alternative viable pour le stockage
permanent des informations. Elle nécessite un support en plastique (Mylar⌖), ou en verre, recouvert de fines
particules d'oxyde de fer ou de chrome agglomérées (fig. 4). Pour écrire sur ce support, le champ magnétique
produit par un électroaimant au niveau de son entrefer permet d'orienter (de polariser) les particules d'oxyde
dans une direction donnée (orientation + ou orientation –). L'information binaire est donc représentée par
l'orientation magnétique des particules d'oxyde de fer. Après passage de l'entrefer, les particules conservent
cette orientation et forment un champ magnétique rémanent. Pour lire les données magnétiques, il suffit de
déplacer l'électroaimant sur le support magnétisé, et les variations de champ magnétique du support induisent
alors le champ électrique correspondant sur l'électroaimant. Pour écrire ou lire l'information magnétique, il faut
effectuer une translation mécanique de l'électroaimant au-dessus de la surface élémentaire polarisée, qui est
toujours plus lente qu'un accès purement électrique seulement cadencé par le mouvement des électrons dans
les matériaux semi-conducteurs.
Mémoires numériques : point mémoire magnétique
Mémoires numériques : point mémoire magnétique. Dans ce type de mémoire, le
support magnétique stocke l'information. Cette dernière peut être consultée en
déplaçant la tête de lecture.(2009 Encyclopædia Universalis France S.A.)
Technologie optique
Pour cette technologie, le support pratique est un cédérom ou un DVD. Dans les deux cas, il s'agit d'un
disque dur de plastique polycarbonate transparent sur lequel est déposée une fine couche réfléchissante en
aluminium (fig. 5). Cette couche n'est pas parfaitement plane et contient des alvéoles profondes de
168 nanomètres (10—9 mètres). Les alvéoles sont encore plus réduites pour un DVD. La succession d'alvéoles et
de zones plates représente l'information binaire. La couche aluminium est protégée par une peinture acrylique
sur laquelle l'utilisateur qui grave un cédérom vient en pratique écrire son libellé.
Mémoires numériques : point mémoire optique
Mémoires numériques : point mémoire optique. Le support optique, un CD-ROM, stocke
l'information. Cette dernière est consultée par déplacement, sous le support, de la tête
de lecture qui convertit l'information optique en information électrique.(2009
Encyclopædia Universalis France S.A.)
Pour lire les données, la technologie optique utilise un faisceau laser qui se déplace en dessous du disque,
traverse le polycarbonate et se réfléchit sur la couche aluminium. Comme la profondeur des alvéoles
correspond à un quart de la longueur d'onde du laser, l'onde lumineuse réfléchie dans une alvéole parcourt une
moitié de longueur d'onde de plus que celle se réfléchissant sur un plat. Lorsque le laser est au-dessus d'une
alvéole, l'onde et sa réflexion sont déphasées d'une demi-longueur d'onde et s'annulent, selon le principe des
interférences destructrices. La photodiode traduit la présence d'alvéoles en 1 logique, et l'absence en 0
logique ; elle convertit ainsi l'information optique en information électrique.
Les cédéroms inscriptibles (CD-R pour CD-Recordable) ou les DVD-R (DVD recordable) introduisent une
couche supplémentaire organique entre la couche aluminium et la couche polycarbonate. Sous l'action d'un
rayon laser dix fois plus puissant que pour une simple lecture, il est possible de brûler (donc d'inscrire de
manière inaltérable) une zone spécifique de cette couche organique en fonction des données à écrire. Enfin, les
cédéroms réinscriptibles (CD-RW pour ReWritable) ou les DVD-RW (DVD ReWritable) utilisent les changements
de phase d'un produit composite à base d'argent, d'antimoine, de tellure et d'indium pris en sandwich entre
deux couches diélectriques pour représenter l'information binaire. Dans son état cristallin, la couche composite
est réfléchissante. Dans son état amorphe, obtenu par une impulsion laser, elle devient opaque. Dans cette
technologie, c'est donc le changement de phase obtenu sur une surface élémentaire du support cédérom qui
sert à représenter l'information binaire. Comme ce procédé est réversible, il est possible d'effacer et de
reprogrammer un cédérom réinscriptible des dizaines de fois.
Type d'accès
L'accès à l'information enregistrée dans les mémoires est fonction de la technologie utilisée. Il est de trois
types : matriciel, séquentiel et mixte.
Accès matriciel, direct ou aléatoire
Dans toutes les mémoires à semi-conducteurs, les points mémoires sont organisés en structure matricielle
(fig. 6). Chacun d'entre eux est un élément de la matrice qui est accessible au moyen de son numéro de ligne
et de son numéro de colonne. Ces numéros sont eux-mêmes obtenus à partir de l'adresse fournie par le
processeur. Le nombre de colonnes correspond à la largeur de mot mémorisable. Parce qu'il suffit de modifier
l'adresse pour accéder à d'autres lignes de la matrice et que le temps nécessaire à cet accès est indépendant
de la valeur de l'adresse, on dit qu'une mémoire à semi-conducteurs est à accès direct ou à accès aléatoire.
C'est d'ailleurs sous le nom de RAM (random access memory, mémoire à accès aléatoire) que les Anglo-Saxons
connaissent les mémoires à semi-conducteurs. Les mémoires SRAM, DRAM et Flash sont donc toujours
structurées sous forme de matrices.
Mémoires numériques : accès matriciel
Mémoires numériques : accès matriciel. Structure matricielle des mémoires à
semi-conducteurs. L'adresse sur n bits permet de choisir une ligne parmi 2n. Le mot de
m bits stocké dans cette adresse peut alors être consulté ou écrit.(2009 Encyclopædia
Universalis France S.A.)
Accès séquentiel
Pour être lus ou écrits, les points mémoires utilisant la technologie magnétique ou optique nécessitent le
déplacement relatif du support contenant les données par rapport au dispositif de lecture/écriture, ce qui
implique un accès séquentiel aux données. Tout dispositif mémoire utilisant une bande magnétique fonctionne
selon ce principe. La piste magnétique est déroulée devant la tête de lecture/écriture qui reste fixe et décode
ou écrit les données. Avant d'accéder à l'information souhaitée, il est donc nécessaire de parcourir toutes
celles qui la précèdent, ce qui fait que le temps d'accès dépend de la position spatiale de l'information
recherchée sur le support.
Accès mixte
L'accès mixte ou semi-séquentiel combine les deux types précédents. C'est le cas, par exemple, du
fonctionnement du disque dur (fig. 7). Le disque magnétique qui le compose comporte plusieurs pistes, et
chaque piste contient plusieurs secteurs. Le disque magnétique est relié à un moteur d'entraînement qui le fait
tourner à grande vitesse (de 5 000 à 10 000 tours par minute) sur son axe. L'électroaimant (aussi appelé tête
de lecture/écriture) est fixé sur un bras qui se déplace radialement par rapport au disque, et le bras est
lui-même contrôlé par un moteur pas à pas permettant le positionnement précis de l'électroaimant sur
n'importe quelle piste du disque. L'accès à une piste particulière est direct à partir de son adresse (le numéro
de piste), mais il faut attendre que la tête de lecture soit au-dessus du secteur souhaité pour y accéder. L'accès
au secteur est donc séquentiel. En pratique, un disque dur contient de 5 à 15 disques magnétisés sur chaque
face, et donc le double de têtes de lecture/écriture.
Mémoires numériques : accès semi-séquentiel
Mémoires numériques : accès semi-séquentiel. En a, vue de dessus d'un disque dur
découpé en pistes et secteurs. En b, la tête de lecture/écriture se déplace au-dessus
du disque dur, sur la piste choisie. Elle parcourt cette piste et lorsqu'elle arrive au
niveau du secteur sélectionné, les données peuvent être lues ou écrites.(2009
Encyclopædia Universalis France S.A.)
Volatilité
La volatilité caractérise l'aptitude d'un dispositif mémoire à conserver ses données lorsque celui-ci n'est
plus électriquement alimenté. Un système informatique, dès qu'il est sous tension, consomme de l'énergie
électrique. Dans le cas d'un système autonome (système embarqué), cette énergie est produite par une
batterie capable de délivrer le courant nécessaire au bon fonctionnement pendant une période de temps
définie et généralement réduite. Dès que l'on supprime l'alimentation d'un tel système, les points mémoires
statiques et dynamiques perdent irrémédiablement leur contenu. Le contenu des mémoires SRAM et DRAM est
donc très volatil de ce point de vue. En ce qui concerne les technologies à semi-conducteurs, le point mémoire
Flash est le seul capable de conserver intactes ses informations pendant plus de dix ans sans être alimenté.
Les technologies magnétiques et optiques, quant à elles, permettent d'obtenir la non-volatilité des données car
elles fonctionnent selon des principes physiques qui n'entraînent pas de consommation électrique. Pour cette
raison, les sauvegardes de données importantes se font sur des supports stables et robustes comme les
disques durs, les cédéroms, les DVD ou les bandes magnétiques. Cependant, même si les informations
inscrites sur ces supports sont codées de manière redondante, il faut savoir que les clés USB ne peuvent être
reprogrammées qu'un nombre relativement faible de fois (de l'ordre de 10 000), qu'un support optique peut
être rayé de manière irréversible et qu'un disque magnétique est fragile et possède une durée de vie finie.
La volatilité correspond aussi à la fréquence avec laquelle un point mémoire est modifié. Une donnée écrite
sur un cédérom a ainsi une volatilité nulle car elle est stockée dans des points mémoires optiques non
modifiables, tandis qu'un registre de processeur, constitué autour de points SRAM, est une ressource
extrêmement utilisée (plusieurs millions d'accès par seconde).
Temps d'accès et temps de cycle
Le temps d'accès correspond à l'intervalle de temps séparant la demande en lecture/écriture et la
disponibilité de la donnée. Le temps de cycle, quant à lui, représente la période de temps minimale entre deux
accès successifs à un dispositif mémoire. Pour une mémoire dynamique, le temps de cycle est la somme du
temps d'accès et du temps nécessaire à la réécriture de la donnée à la même adresse (sous peine de perdre la
donnée). Même si ces temps correspondent physiquement à des sous-multiples de la seconde (milliseconde,
microseconde, nanoseconde, picoseconde), les concepteurs de systèmes choisissent en général de les
exprimer en nombres de cycles d'horloge nécessaires au système pour que les échanges processeur/mémoire
se passent correctement.
Débit
Le débit représente le volume d'informations échangées par unité de temps. Il se mesure en bits ou
multiple de bits par seconde.
Granularité
La granularité représente le nombre d'octets déplacés lors d'un transfert entre deux dispositifs mémoires.
Lorsque le microprocesseur consulte ou écrit dans un de ses registres internes, la granularité peut être de 1
bit. Lorsque le système accède à un secteur du disque dur, c'est en général pour lire ou écrire des secteurs
entiers, de 512 ou 1 024 octets.
Capacité de stockage
La capacité de stockage représente le volume d'informations binaires (en multiples du bit) que le dispositif
peut effectivement stocker. La capacité s'exprime en puissances du bit ou de l'octet
(1 kilo-octet = 210 = 1 024 octets ; 1 méga-octet = 220 = 1 048 576 octets ;
1 giga-octet = 230 = 1 073 741 824 octets ; 1 téra-octet = 240 = 1 099 511 627 776 octets). Ces chiffres sont
toujours légèrement supérieurs aux puissances de 10 correspondantes (kilo pour 103 ; méga pour 106 ; giga
pour 109 ; téra pour 1012).
Consommation
Le transistor MOS, qui sert à réaliser les points mémoires à semi-conducteurs, est un composant
électronique actif de très faible dimension (de l'ordre du dixième de micromètre). Jusqu'à présent, la
consommation d'un transistor était surtout liée au nombre de transitions (passage de 0 à 1 ou de 1 à 0) qu'il
subissait par seconde sur sa sortie (c'est ce que l'on appelle la consommation dynamique du transistor en
action). Aujourd'hui, la dimension des transistors, de l'ordre de quelques nanomètres, fait qu'ils consomment
également du courant en l'absence de transition sur leur sortie (consommation statique) ; cette consommation
est due aux fuites de courant dans la structure submicronique des transistors. Ce phénomène est à l'origine de
la consommation toujours croissante des systèmes informatiques. Pour les disques durs et les lecteurs de
cédéroms, la présence de parties électromécaniques comme des moteurs d'entraînement fait que la
consommation en fonctionnement est loin d'être négligeable.
Coût par bit
Le coût par bit correspond en fait à la représentation économique des critères de classification précédents.
Comme tout bien économique, ce qui est rare, performant ou nouveau est cher. Le monde numérique génère
chaque jour une quantité astronomique de données archivées et le coût par bit ne fait que décroître. Ce coût
est aujourd'hui 3 000 fois moins important qu'en 1985.
IV- Hiérarchie mémoire et système informatique réel
Au vu des critères de classification précédents, la mémoire numérique idéale possède une énorme
capacité, un temps d'accès et de cycle quasi nul, une consommation énergétique réduite, et un coût très faible.
Malheureusement, ces critères sont mutuellement incompatibles. Il n'existe pas encore de mémoire possédant
simultanément toutes ces caractéristiques. Les mémoires de grande capacité sont lentes, celles qui sont
rapides sont chères.
Les processeurs peuvent fonctionner aujourd'hui jusqu'à 4 GHz, tandis que la vitesse des mémoires
plafonne à 800 MHz. Comme le temps d'accès à la mémoire conditionne les performances globales d'un
système informatique, il est nécessaire de réduire autant qu'on peut le goulet d'étranglement que représentent
les échanges entre le microprocesseur et la mémoire.
Pour trouver une solution à ce problème, les concepteurs de systèmes informatiques ont eu recours à la
notion de hiérarchie mémoire (fig. 8). Par exemple, dans un système réel tel qu'un ordinateur de bureau,
plusieurs mémoires de types différents sont mises en jeu. Elles sont hiérarchisées en 4 niveaux.
Système informatique et sa hiérarchie mémoire
Système informatique et sa hiérarchie mémoire. En a, exemple d'un système
informatique avec ses principales composantes. En b, la hiérarchie mémoire
correspondante montrant la taille relative des différents types de mémoires qui
composent ce système. En haut, mémoire rapide, coûteuse et volatile, en bas,
mémoire de grande capacité, de faible coût et non volatile.(2009 Encyclopædia
Universalis France S.A.)
Ainsi, tout système informatique comprend généralement une carte mère sur laquelle vont venir se
connecter tous les composants du système. Les mémoires de masse, représentées par le disque dur, le lecteur
de cédérom, et la clé USB constituent la base de cette hiérarchie. Sur la carte mère se trouvent les circuits
intégrés qui pilotent ces mémoires : ce sont les contrôleurs du disque dur, du cédérom et de la clé USB. On
trouve aussi sur la carte mère une mémoire non volatile dite « mémoire CMOS » contenant les informations de
configuration de l'ordinateur (setup). Ces dispositifs sont accessibles par le contrôleur général de périphériques
via le « bus périphérique ». À côté de ce contrôleur et toujours sur la carte mère, se trouvent la mémoire
principale ainsi qu'une mémoire non volatile contenant le logiciel de base (BIOS, basic input output system)
pour la gestion des entrées/sorties du système. Le BIOS contient en fait le code binaire permettant au système
de s'initialiser correctement. La mémoire principale, composée de barrettes mémoires enfichées sur la carte
mère, est connectée sur le bus système ; elle est reliée à une mémoire cache L2, localisée également sur la
carte mère. Le processeur est un circuit intégré indépendant enfiché sur la carte mère, qui contient des
registres et une mémoire cache L1.
Les registres
Au sommet de la hiérarchie mémoire se trouvent les registres : ce sont des blocs de mémoire de taille très
réduite (1 024 octets en moyenne) directement intégrés dans le processeur. Ils servent de variables
intermédiaires pour les calculs et contiennent des données appelées à être utilisées immédiatement ou à très
court terme. Les processeurs modernes, à jeu d'instructions réduit, fondent toute leur puissance sur le fait que
chaque instruction de calcul (30 p. 100 des instructions d'un programme en moyenne) s'effectue en un cycle
d'horloge et ne porte que sur les registres du processeur.
Pour des raisons de performance, les registres sont réalisés avec des points mémoires statiques, rapides
mais volumineux en termes de surface occupée. Le temps d'accès aux registres est d'un cycle d'horloge. Ils
fonctionnent donc à la même vitesse que le processeur.
Les mémoires caches
La mémoire cache, ou antémémoire, constitue un compromis efficace entre la vitesse du processeur et
celle de la mémoire principale. En effet, le processeur fonctionne à des fréquences multiples du giga-hertz,
alors que la mémoire principale ne fonctionne qu'à des fréquences beaucoup plus basses. La mémoire cache
est un composant essentiel de la hiérarchie mémoire, puisqu'elle s'efforce de gérer de manière optimale
l'asynchronisme entre le processeur et la mémoire principale.
La mémoire cache fonctionne elle aussi à la fréquence du processeur et contient la copie exacte d'une
partie des instructions et des données contenues dans la mémoire principale. Le principe est de charger à
l'avance et de manière optimisée les instructions et les données dont le processeur va avoir besoin. La
mémoire cache exploite les principes de localité spatiale et temporelle des instructions et des données. La
localité spatiale exprime le fait que si le processeur accède à une adresse particulière en mémoire, il existe une
probabilité très forte qu'il ait besoin de consulter les adresses voisines dans les prochains cycles. La localité
temporelle, quant à elle, fait référence au fait que si le processeur accède à une donnée située à une adresse
particulière, il y a de fortes chances qu'il en ait encore besoin très prochainement. En général, il existe une
mémoire cache pour les instructions et une autre pour les données du programme en cours d'exécution.
Du point de vue du processeur, deux cas de figure peuvent se présenter : soit la mémoire cache contient
l'instruction ou la donnée correspondant à l'adresse émise par le processeur (réussite), soit elle ne la contient
pas (échec). Dans le premier cas, il suffit d'un cycle au processeur pour récupérer l'information. Tout se passe
comme si la mémoire cache se trouvait dans le processeur, puisque ce dernier y accède en un cycle. Dans le
second cas, la mémoire cache bloque le processeur et accède à la mémoire principale pour recopier
l'information manquante. L'optimisation du remplissage du cache consiste à ne pas se contenter d'aller
chercher la seule information demandée, mais aussi toutes les informations contiguës (celles dont les adresses
sont voisines), par blocs de 4 ou 8 mots de 32 bits. En pratique, les taux de réussite dans la mémoire cache
sont de l'ordre de 95 à 99 p. 100. Dans les systèmes informatiques actuels, cette notion de cache s'étend sur
deux ou trois niveaux. La mémoire cache de niveau 1 (L1, pour Level 1) se trouve directement dans le
processeur (elle est de 64 kilo-octets pour un Pentium IV) ; la mémoire cache de niveau 2 (L2) se trouve sur la
carte mère (elle comporte de 512 à 1 024 kilo-octets). La mémoire cache est toujours réalisée avec des points
mémoires statiques et le temps d'accès est de un à quelques dizaines de cycles d'horloge.
La mémoire principale
Suivant le schéma de hiérarchie mémoire, sous les mémoires caches se trouve la mémoire principale.
Quand les mémoires caches ne contiennent pas l'information demandée par le processeur, il est nécessaire de
consulter la mémoire principale. Le contraste de taille avec les registres et les mémoires caches est saisissant,
puisque la capacité de stockage de la mémoire principale s'exprime non plus en kilo-octets mais en centaines
de méga-octets. Un ordinateur portable contient en général 256, voire 512 méga-octets de mémoire principale.
Un ordinateur de bureau ou une station de travail peut en contenir plusieurs giga-octets. La mémoire principale
est toujours réalisée en utilisant la technologie des points mémoires dynamiques ; son temps d'accès est de
quelques dizaines de cycles d'horloge. Dans un ordinateur, la mémoire principale se présente sous la forme de
barrettes mémoires, petits circuits imprimés comprenant plusieurs circuits intégrés de mémoires dynamiques
et venant s'enficher dans la carte mère. Depuis les années 1980, plusieurs générations de barrettes mémoires
se sont succédé : la DRAM FPM (fast page mode, 1987) fonctionnant entre 30 et 50 MHz, les DRAM EDO
(extended data out, 1995) puis BEDO (burst extended data out, 1996) fonctionnant à 66 MHz. Une avancée
majeure a été l'introduction des SDRAM (synchronous DRAM, 1997) qui fonctionnent au rythme de l'horloge du
système et non plus de manière asynchrone par rapport au processeur. La dernière génération est la
DDR-SDRAM (double data rate SDRAM, 2000) qui permet d'échanger deux fois plus de mots mémoires par
cycle d'horloge du système.
La mémoire de masse
Entre la mémoire principale et la mémoire de masse, on trouve parfois des mémoires dites d'appui.
Celles-ci jouent en fait le rôle de mémoires caches pour les périphériques de gestion de la mémoire de masse.
Comme une mémoire cache classique, la mémoire d'appui joue un rôle d'intermédiaire entre le contrôleur et la
mémoire de masse. Elle contient une copie partielle de la mémoire de masse sélectionnée. Si la mémoire
d'appui contient déjà les informations souhaitées, le contrôleur recopie directement les informations en
mémoire principale. Si elle ne les contient pas, le système de contrôle du périphérique positionne la tête de
lecture/écriture à l'emplacement souhaité sur le support de stockage, ce qui entraîne des déplacements
mécaniques dont la durée est de l'ordre de quelques dizaines de millisecondes.
La mémoire de masse est la mémoire la plus lente d'un système informatique et la plus éloignée
physiquement du processeur. Elle comprend essentiellement les disques durs et les lecteurs ou graveurs de
cédérom. La capacité est cent fois supérieure à celle de la mémoire principale. Il n'est pas rare de rencontrer
des disques durs d'une capacité de 500 giga-octets, voire de 1 téra-octet. Les cédéroms et les DVD ont
respectivement une capacité maximale de 700 méga-octets et de 17 giga-octets.
Interaction des mémoires dans la hiérarchie mémoire
Pour bien comprendre l'importance de la hiérarchie mémoire, il faut imaginer le nombre impressionnant de
transferts de données qui s'effectuent entre les quatre couches de la hiérarchie mémoire, à partir du moment
où l'utilisateur décide de lancer un programme P situé sur le disque dur. En effet, dès que cette commande est
prise en compte par le système d'exploitation, celui-ci ordonne d'abord au disque dur de transférer le code et
les données du programme P dans la mémoire principale, par paquets de 512 ou 1 024 octets. Une fois P
correctement chargé en mémoire, le système d'exploitation lui transfère le contrôle ; le processeur commence
à exécuter les instructions de P. Comme les mémoires caches L1 et L2 ne contiennent pas encore les
instructions et les données de P, chaque accès mémoire du processeur se traduit par un échec. Les caches
vont alors rechercher les informations correspondantes en mémoire principale. Les caches L1 et L2 se
remplissent donc peu à peu avec des instructions et des données valides. Si le code de P est essentiellement
séquentiel et qu'une instruction exécutée par le processeur n'est plus jamais effectuée par la suite, les caches
ralentissent l'exécution du programme. Généralement, les programmes sont conçus autour d'une boucle
d'itération principale gérant l'interaction avec l'utilisateur. Une fois cette boucle complètement chargée dans le
cache, le processeur peut fonctionner à plein régime, au rythme d'une instruction par cycle d'horloge. Cette
interaction entre les dispositifs mémoires est à l'origine du temps nécessaire au lancement d'un programme
dans un ordinateur. De ce fait, une application met un certain temps pour réagir de manière optimale aux
sollicitations de l'utilisateur.
V-Perspectives et technologies émergentes
Les mémoires qui équipent aujourd'hui les systèmes informatiques (tableau) sont extrêmement optimisées.
Le rythme effréné des améliorations effectuées entre 1980 et 2000 s'est quelque peu réduit et les barrières
théoriques imposées par la physique des semi-conducteurs se font de plus en plus menaçantes, mêmes si
certains estiment qu'il y a encore beaucoup à faire dans ce domaine. Si le point mémoire dynamique a encore
de l'avenir, il y a fort à parier que d'autres technologies plus performantes verront le jour.
Mémoires numériques : principales technologies
Mémoires numériques : caractéristiques des principales technologies. En raison de
l'évolution permanente des technologies des mémoires numériques, les données
présentées ici sont sans cesse modifiées. Celles-ci sont donc présentées à titre
indicatif pour fixer les idées sur les performances relatives des différents dispositifs
mémoires.(2009 Encyclopædia Universalis France S.A.)
Parmi celles-ci, l'une des plus prometteuses est la technologie MRAM (magnetic random access memory,
mémoire magnétique à accès aléatoire). Le principe est de substituer à la charge électrique représentant
l'information binaire une charge magnétique, qui s'obtient en polarisant quelques électrons d'une capacité
ferromagnétique. La différence entre la technologie MRAM et celle qui équipe les disques durs vient
principalement de la manière dont les données sont lues. Dans cette nouvelle technologie, c'est la valeur de la
résistance du point mémoire formé autour d'une jonction tunnel qui code l'information binaire. De nombreuses
firmes de semi-conducteurs investissent dans cette nouvelle technologie qui présente plusieurs intérêts
majeurs : un point mémoire ferromagnétique consomme très peu, n'a pas besoin d'être constamment rafraîchi,
permet de conserver les données en l'absence de toute alimentation électrique, et garantit un temps d'accès
très faible comparé à celui des mémoires actuelles. En pratique, ces mémoires devraient permettre aux
ordinateurs de s'initialiser et de s'éteindre presque instantanément.
Une autre piste de recherche est la mémoire holographique HDSS (holographic desktop storage system)
qui consiste à stocker les données dans des hologrammes, ce qui permet d'atteindre des capacités de stockage
de l'ordre du téra-bit dans le volume d'un morceau de sucre. Le débit des mémoires holographiques est lui
aussi impressionnant car, en accédant aux hologrammes, on obtient directement les données contenues par
pages entières, chacune représentant des millions de bits. Une page ressemble de fait à une grille de mots
croisés avec des motifs clairs et opaques. Chaque page est mémorisée comme le résultat de l'interférence
entre deux faisceaux lasers, nommés objet et référence, dans un matériau photosensible cristallin. Si, dans les
mêmes conditions, on éclaire le matériau avec le seul faisceau de référence, on recrée le faisceau objet, ce qui
permet de lire les données. Le même cristal peut contenir un nombre important de motifs d'interférences, et il
suffit de modifier la longueur d'onde du laser ou l'angle entre les deux faisceaux pour sélectionner les pages.
Enfin, pour gérer des mémoires de capacité gigantesque, les chercheurs se penchent aujourd'hui sur les
mémoires dites chimiques ou quantiques où les données seraient alors codées dans des agencements de
molécules. Le point mémoire est alors à l'échelle de l'atome. Il est constitué de nanotubes de carbone, d'une
largeur de quelques nanomètres, au-dessus d'une électrode. En l'absence de courant entre les nanotubes et
les électrodes, un point mémoire stocke le bit 0. Soumis à une faible tension, le nanotube « se tord », s'affaisse
en son centre et touche l'électrode, créant ainsi le bit 1. Même lorsque la tension d'alimentation disparaît, le
nanotube polarisé conserve son information binaire. On peut donc aujourd'hui raisonnablement rêver à une
mémoire idéale avec le temps d'accès de celui de la SRAM, la capacité de stockage de celle de la DRAM et la
non-volatilité de la mémoire Flash.
François PÊCHEUX
Bibliographie
•
F. JORGENSEN, The Complete Handbook of Magnetic Recording, TAB Professional and Reference Books, New York, 4e éd. 1996
•
H. LILEN, Mémoires pour microprocesseurs et micro-ordinateurs, Éditions Radio, Paris, 2e éd. 1983
•
MOS Memory Data Book, Toshiba, 1990 / B. PRINCE & G. DUE-GUNDERSEN, Semiconductor Memories, Wiley, New York, 1983
•
Status 1991. A Report on the Integrated Circuit Industry, I.C.E., 1990.