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.