Mémoire (informatique)
En informatique, la mémoire est un dispositif électronique numérique qui sert à stocker des données.
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. 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].
Caractéristiques
Il existe différents types de mémoire :
- Mémoire vive
- 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 ;
- Mémoire morte
- 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.
- Mémoire volatile
- mémoire où les informations sont perdues lors de la mise hors tension de l'appareil. 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.
- Mémoire flash
- mémoire rémanente dont le contenu peut être intégralement effacé en une seule opération. Certaines mémoires de ce type pouvaient être effacées par une exposition aux ultraviolets.
- Mémoire virtuelle
- mécanisme qui permet de donner plus de mémoire au processeur pour travailler, en simulant la présence d'un type de mémoire tout en utilisant un autre type (par exemple un disque dur). Il est utilisé par exemple pour simuler la présence de mémoire vive en utilisant de la mémoire de masse.
Dans la plupart des mémoires, les informations sont classées par adresses, à l'exception des mémoires adressable par contenu. Celles-ci sont utilisées notamment pour créer des tableaux associatifs.
Utilisation
Pour 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[3]. Par ordre de coût croissant, on peut distinguer :
- Mémoire de masse ou mémoire de stockage
- sert à stocker à long terme des grandes quantités d'informations. Les technologies les plus courantes de mémoires de masse sont électromécaniques, elles visent à obtenir une capacité de stockage élevée à faible coût et ont généralement une vitesse inférieure aux autres mémoires ;
- Mémoire vive
- espace principal de stockage du microprocesseur, mais dont le contenu disparaît lors de la mise hors tension de l'ordinateur ;
- Mémoire cache
- sert à conserver un court instant des informations fréquemment consultées. Les technologies des mémoires caches visent à accélérer la vitesse des opérations de consultation. Elles ont une très grande vitesse, et un coût élevé pour une faible capacité de stockage ;
- Registre de processeur
- intégré au processeur. Ce type de mémoire est très rapide mais aussi très cher et est donc réservé à une très faible quantité de données.
Rémanence
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.
La mémoire morte fournit des données invariables. Anciennement, les mémoires mortes contenaient des programmes complets « prêt à l’emploi »[4] 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.
Cas particulier
Un 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[5].
Histoire
Au 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.
- L’usage de la mémoire dans les ordinateurs a été introduit par le concept de l'architecture de von Neumann, en 1944.
- Les premiers disques durs ont été construits en 1956. Le disque DEC RP07 construit en 1970 pesait 180 kg. Un disque dur des années 2000 pèse moins de 1 kg, tout en ayant une capacité de stockage supérieure[6].
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 fil 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 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écessaire 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.
Matériel informatique
En 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, et la mémoire de masse.
On peut trouver les mémoires sous différentes formes :
- Circuits intégrés
- La plupart des mémoires électroniques sont sous forme de circuits intégrés, ou sont directement intégrées dans les circuits intégrés des processeurs ou contrôleurs (par exemple : assemblage en stacked die[7]).
- Barrettes RAM
- Les barrettes de mémoire sont des circuits imprimés normalisés, des formats tels SIMM ou DIMM sont largement utilisés dans les ordinateurs. Il s'agit généralement de mémoires volatiles rapides mais de relativement faible capacité.
- Disques durs
- mémoires de masse composées de disques en métal enfermés dans un boîtier blindé. Les informations sont conservées sur les surfaces magnétiques des disques. C'est un type de mémoire de masse de grande capacité encore largement utilisé en 2009 dans nos ordinateurs. Des supports novateurs voient le jour (supports flash de grande capacité, dits Solid State Drive, ou supports holographiques).
- Disquettes
- mémoires de masse composées d'un disque souple à surfaces magnétiques protégées par un étui en matière plastique. Les disquettes étaient largement utilisées jusqu'aux années 1990.
- Bandes magnétiques
- utilisées comme mémoires de masse de grande capacité depuis 1950. DAT, DLT ou LTO sont des formats de bandes magnétiques. Celles-ci ne peuvent être lues que dans un ordre donné et sont couramment utilisées pour effectuer des copies de secours des disques durs.
- Disques optiques
- supports optiques de stockage équipés d'une surface réfléchissante. Les informations sont conservées sous forme de creux microscopiques et lues par la réflexion d'un faisceau monochromatique. Les premiers disques compacts ont été construits en 1980 et les premiers DVD en 1995. Contrairement aux disques durs, les modifications des informations stockées sur ces supports sont restreintes voire impossibles (mémoires mortes), ils sont alors utilisés essentiellement pour le stockage à long terme des données informatiques.
- Clé USB
- boîtier équipé d'une mémoire flash, d'un composant électronique et d'une prise conforme à la norme USB. Les premières clés USB ont été construites au début des années 2000. Les clés USB peuvent être utilisées au même titre que les disquettes magnétiques comme support de transfert de données, de stockage à long terme, voire de mémoire de masse.
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.
Technologies
Mécanique
Le 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écanique
Les 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étique
De 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 optique
D'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étique
La 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[8] - [9]. Chaque tore était traversé par trois fils :
- 2 fils pour l'adressage (1 par ligne et 1 par colonne) ;
- 1 fil par bloc pour la commande (lecture ou écriture).
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.
Condensateur
Les 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.
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 à bascule
Les 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 :
- les SRAM ou (Static Random Access Memory) : Elles sont réputées très rapides, mais ne peuvent pas être suffisamment intégrées pour rivaliser avec les mémoires dynamiques à condensateurs ;
- les technologies utilisées, pour les « mémoires flash » et autres appellations de mémoire de poche, ont permis de dépasser allègrement les performances des anciennes SRAM au prix de quelques concessions à la vitesse de transfert ;
- les ROM ou (Read Only Memory) ont l'avantage de ne pas être volatiles : les données qu'elles contiennent restent intactes en absence d'alimentation électrique. Par contre, elles sont lentes d'accès et la modification des données n'est pour certains modèles pas possible.
Antifuse
La 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)[10] ; leur contenu est toutefois inaltérable après leur première programmation.
Notes et références
- Magnetic antiparticle expands strange field of swirling science Antiskyrmion offers promise for superfast spintronic computers, Nature, 23 aout 2017, 548, 371, DOI 10.1038/548371b.
- Nayak A. et al., Magnetic antiskyrmions above room temperature in tetragonal Heusler materials, Nature Letter, vol. 548, 31 aout 2017, DOI 10.1038/nature23466.
- Le livre Les systèmes d'exploitation des ordinateurs (Bloch Laurent, 2003) distingue quatre catégories de cout/performances croissants/décroissants| : Registres du processeur, Mémoire cache, Mémoire usage général, Mémoire de stockage.
- L'Amstrad CPC était équipé d'une ROM de 11 kb sur les 64 kb adressables, contenant le langage Amstrad Basic 1.1.
- (en) Chengzhong Xu et Francis C. M. Lau, Load balancing in parallel computers: theory and practice, Springer, 1997 (ISBN 9780792398196).
- « Disque durs », sur scribd.com.
- (en) Electronic products - Stacked memory approach bolsters flat-panel displays, sur electronicproducts.com.
- « Mémoire à tores fabriquée par Control Data pour un Cyber 6000 », sur pichotjm.free.fr.
- « Les mémoires à tores », sur pichotjm.free.fr.
- « Technologie des FPGA », sur free.fr.