Mémoire (informatique)En informatique, la mémoire est un dispositif électronique numérique qui sert à stocker des données. C'est un dispositif capable d'enregistrer, de conserver et de restituer des informations. La mémoire est un composant essentiel, présent dans tous les ordinateurs, les consoles de jeux, les GPS et de nombreux appareils électroniques. Les mémoires sont vendues sous forme de pièces détachées de matériel informatique, ou de composants électroniques. Les différences entre les pièces sont la forme, l'usage qui en est fait, la technologie utilisée, la capacité de stockage et le rapport entre le coût et la capacité. La technologie la plus courante utilise des semi-conducteurs parfois associés à des composants mécaniques[réf. souhaitée]. On distingue mémoire vive, mémoire morte et mémoire de masse. Les capacités de mémoire et la miniaturisation de ses supports ont depuis quelques décennies grandi au rythme de la loi de Moore, laquelle pourrait, éventuellement, être bientôt dépassée, grâce à l'utilisation de skyrmions et d'antiskyrmions pour stabiliser les nanosystèmes spintroniques, au profit du pouvoir de traitement des ordinateurs[1],[2]. Organisation de l'informationLes informations en mémoire sont présentes de manière binaire pour l'ordinateur. L'unité de base, le plus petit élément de stockage, est le bit. Ceux-ci sont généralement groupé par octet (parfois appelé selon le mot anglais byte), c'est-à-dire groupe de huit bits. Enfin les octets peuvent être regroupés en mots. Dans la plupart des mémoires, les informations sont classées par adresses. Une adresse est une valeur numérique référençant un élément de mémoire[3]. CaractéristiquesCapacité (taille)La capacité désigne le nombre d'information que peut contenir la mémoire. Elle s'exprime en nombre de mots ou d'octets[3]. Type d'accèsLe type d'accès à la mémoire peut être séquentiel ou direct. Dans un accès séquentiel, on doit parcourir toutes les informations une à une avant d'accèder à l'information qui nous intéresse. Ce type d'accès est plus lent et on le retrouve dans des technologies comme les bandes magnétiques ou les cartes perforées. En accès direct, chaque information a une adresse propre, on y accède directement. C'est le type d'accès utilisé par la mémoire centrale de l'ordinateur[3]. L'accès semi-séquentiel existe également. C'est le cas de l'accès au disque-dur, qui a un accès direct au cylindre et un accès séquentiel au secteur sur un cylindre. L'accès associatif, utilisé par la mémoire cache[3], caractérise une mémoire organisée par couple de valeurs. En envoyant la première valeur du couple, si celle-ci existe, la mémoire va renvoyer la seconde valeur[4]. Temps d'accèsLe temps d'accès est un élément essentiel permettant de caractériser un type de mémoire. Il définit le temps entre le lancement d'une opération de lecture/écriture et son accomplissement[3]. Cycle mémoireLe cycle mémoire désigne le temps minimal entre 2 accès successifs à la mémoire. Le cycle est un temps plus important que le temps d'accès car la mémoire peut nécessiter des opérations entre deux accès (stabilisation des signaux, synchronisation ...)[3]. Mémoire vive ou mémoire morteLa propriété vive ou morte de la mémoire permet de caractériser la possibilité de modifier ou non cette mémoire. La mémoire vive est un type de mémoire où chaque information stockée peut à tout moment être consultée, ou modifiée (voir adressage mémoire). La mémoire centrale des ordinateurs est la plupart du temps une mémoire vive volatile bien que le SSD remplisse de plus en plus souvent ce rôle ; La mémoire morte à l'inverse est une mémoire où les informations sont écrites une fois mais ne peuvent pas être modifiées. Les mémoires mortes sont utilisées par exemple pour stocker définitivement des logiciels enfouis. La mémoire morte fournit des données invariables. Anciennement, les mémoires mortes contenaient des programmes complets « prêt à l’emploi »[5] pour un démarrage éclair. Avec l'évolution rapide des techniques, seul un système minimaliste tout juste suffisant au démarrage, le BIOS puis le UEFI, a été maintenu. Volatilité et rémanenceUn mémoire est dite volatile lorsque les informations qu'elle contient sont perdues lors de la mise hors tension de l'appareil. Il ne faut pas confondre mémoire volatile et mémoire vive : bien que la mémoire vive soit généralement volatile, il existe cependant des mémoires vives non-volatiles (NVRAM). Par opposition, une mémoire rémanente ou non volatile est une mémoire où les informations sont conservées même après la mise hors tension de l'appareil. Les mémoires rémanentes sont utilisées pour les téléphones portables, les autoradios, les GPS, ou les appareils photo numériques. Une mémoire est dite rémanente quand l'extinction temporaire du système n'en détruit pas le contenu, comme dans le cas des téléphones portables ou des autoradios. Cette mémoire n'est pas toujours gérée comme un système de fichiers et est parfois intégrée dans le même espace logique que la mémoire vive. Ainsi, certains systèmes d'exploitation tel que VAX-11/VMS ou OpenVMS proposent un adressage virtuel, appelé VMS, dans lequel les disques durs apparaissaient comme de la mémoire vive. Hiérarchie de mémoirePour des raisons économiques, les mémoires sont en général divisées en plusieurs familles traitées, la plupart du temps, différemment par le système d'exploitation[6]. Par ordre de coût croissant (c'est-à-dire de la plus lente à la plus rapide), on peut distinguer :
Ordinateur parallèle et mémoire partagéeUn ordinateur parallèle est équipé de plusieurs unités de calcul. Selon sa construction, il peut être équipé d'une seule unité de mémoire utilisée de manière commune par toutes les unités de calcul, c'est la mémoire partagée, ou chaque unité de calcul est équipée de sa propre unité de mémoire, cette configuration est dite à mémoire distribuée[8]. Matériel informatiqueEn 2015, les ordinateurs sont équipés de plusieurs types de mémoires, utilisées alternativement, pour des raisons de vitesse et de coût : le processeur utilise en priorité la mémoire cache, puis la mémoire vive (RAM), et enfin la mémoire de masse. On peut trouver les mémoires sous différentes formes :
Les techniques de stockage mécaniques, par exemple par rubans perforés ont été largement utilisés dès le début de l'informatique, puis abandonnés au profit de supports plus pratiques et plus rapides. Autres types de mémoire
HistoireAu cours de l’histoire, diverses technologies de mémoire ont vu le jour. L’amélioration des techniques de création a produit des mémoires toujours plus petites, moins coûteuses, consommant moins d'énergie, avec une capacité toujours plus grande, et une vitesse plus élevée.
Les mémoires à tores de ferrite sont des mémoires vives non volatiles utilisées dans les années 1960 à 1970. Ces composants sont faits d’un réseau de fils de cuivre dans lequel sont entremêlés des anneaux en céramique ferromagnétique. Les mémoires utilisant cette technologie sont volumineuses et lourdes. Cette technologie a été remplacée par des semi-conducteurs et des circuits intégrés. Les premières générations de mémoires vives consommaient beaucoup d’électricité. L’utilisation de la technologie CMOS a permis de concevoir et produire des composants beaucoup moins gourmands. Ces composants, associés à une minuscule pile, ont permis la construction de mémoires rémanentes, utilisées par exemple dans les cartes à puce. La diminution du nombre d’électrons nécessaires au stockage d’un bit accroît la vitesse de la mémoire. La recherche vise des technologies qui n’utiliseraient qu’un seul électron (ou quelques-uns) à la place de près d’un demi-million nécessaires aujourd’hui au stockage d’un bit, et combineraient la grande miniaturisation et la vitesse des mémoires dynamiques actuelles, avec la rémanence des mémoires mortes. TechnologiesMécaniqueLe boulier est une forme primaire de stockage d'information numérique mécanique. À partir du XVIIe siècle, on construit des calculatrices mécaniques dont les rouages conservent en mémoire au moins une variable. Les rubans et cartes perforées ont été historiquement les premiers supports informatiques de masse. Ils ont été utilisés depuis le XVIIIe siècle. Un palpeur actionnait le mécanisme quand il rencontrait un trou. En télégraphie, le palpeur ouvre ou ferme un circuit électrique. Plusieurs palpeurs en parallèle permettent l'enregistrement d'un code Baudot. Au XXe siècle, la lecture optique améliore la longévité des cartes et la rapidité de lecture. Les enregistrements magnétiques et électroniques supplantent définitivement les cartes et rubans. ÉlectromécaniqueLes systèmes électromécaniques à base de relais et sélecteurs rotatifs ont été parmi les premiers systèmes fiables destinés à mémoriser des informations. Les relais enregistrent un bit, les sélecteurs rotatifs enregistrent une valeur numérique, souvent de 0 à 9, parfois de 0 à 7 (octal), 11 (format horaire), 15 (hexadécimal), 23 (format horaire), ou 99. Des mécanismes semblables à ceux des calculatrices mécaniques permettent la manipulation des informations. Ces systèmes président les autocommutateurs téléphoniques. Support magnétiqueDe nombreux systèmes de stockage d'information utilisent des supports magnétiques : disque dur, disquette, bande magnétique, etc. Du fait de la baisse du prix des systèmes électroniques qui sont à la base des clés USB et disques SSD, les supports magnétiques ont tendance à être désormais principalement employés pour stocker de gros volumes de données auxquels la rapidité d'accès n'est pas primordiale : sauvegarde, fichiers médias, etc. Ont aussi existé les mémoires à bulles qui, après avoir suscité de grands espoirs, n'ont été que brièvement commercialisées. Support optiqueD'abord employés uniquement en lecture de cartes et rubans perforés, le support optique sert aussi pour les films à son digital à la fin du XXe siècle. Tant que seule la photographie permet d'utiliser la lumière pour l'écriture, le support optique reste peu répandu. Le disque à lecture et écriture par laser permet dans les années 1990 l'utilisation plus générale du support optique pour l'informatique. Depuis cette époque, les supports utilisant des lasers sont généralisés : CD-ROM, DVD, Blu-ray et formats propriétaires. Tore magnétiqueLa technique du tore magnétique utilisait la capacité d'un tore de ferrite à conserver une information magnétique binaire. Associé à une gestion électronique, les ordinateurs des années 1960-1970, avaient accès à un système mémoire performant (pour l'époque), quoique quelque peu encombrant par rapport à celui de la mémoire dynamique. Il présente par contre un énorme avantage : conserver ces informations pendant plusieurs années sans aucune alimentation électrique. La photo ci-contre représente la tranche d'un byte (64×64×1). Les mémoires avaient la forme d'un bloc de 20 cm de côté, comportant de 19 à 25 tranches pour former environ 4 K-mots de 19 à 25 bits[11],[12]. Chaque tore était traversé par trois fils :
La fabrication des blocs de tore étant entièrement manuelle le coût est devenu trop élevé, surtout lorsque la fabrication des mémoires électroniques a pu être automatisée. Support électroniqueCondensateurLes condensateurs ont comme première propriété de stocker l'énergie électrique. Ils ont été très tôt utilisés comme mémoires, mais leurs faibles performances les ont cantonnés longtemps à des rôles subalternes de filtrage[réf. nécessaire]. Depuis les progrès de la micro-électronique, c'est la capacité de microscopiques condensateurs organisés en trames, agencés et gérés au sein de puces électroniques qui sert de mémoire numérique rapide pour les ordinateurs modernes. Ces circuits intégrés spécialisés se nomment mémoire dynamique ou DRAM. Le gros défaut est dû à la taille des condensateurs qui sont tellement minuscules que l'information ne peut être conservée intacte que quelques fractions de seconde, ce qui nécessite en permanence de rafraîchir les informations, qui nécessite des circuits annexes. Circuit logique à basculeLes circuits logiques (bascule) permettent de fabriquer des mémoires. Les mémoires ainsi réalisées peuvent être classées en deux familles : les SRAM et les ROM :
AntifuseLa technologie antifuse est utilisée pour les mémoires dites OTP (One Time Programmable), telles les PROM. Chaque case mémoire est constituée d'un fusible éventuellement grillé lors de la programmation, par l'application d'une tension adéquate. Ces mémoires ont un certain nombre d'avantages par rapport à des mémoires plus volatiles, comme leur robustesse en milieu agressif (ex. spatial)[13] ; leur contenu est toutefois inaltérable après leur première programmation. HolographieNotes et références
Voir aussiArticles connexes |