
Mémoire
La mémorisation, ou mise en mémoire d'une information, est une fonction importante de l'électronique moderne en général, et fondamentale en informatique. Il s'agit, en bref, de conserver, à titre temporaire ou permanent, une ou plusieurs informations.
L'enregistrement d'un disque audio, par exemple, permet de conserver (et par la suite de dupliquer) un concert, qui est par définition un évènement éphémère.
Qu'est-ce qu'une mémoire?
On appelle "mémoire" (memory, en anglais) divers dispositifs électroniques destinés à enregistrer, à conserver et à restituer à la demande des informations numériques de toutes sortes, et notamment celles produites ou utilisées par les programmes d'un ordinateur ou d'un microcontrôleur.
Le terme "mémoire" englobe, de manière générique, un grand nombre de composants spécialisés, assurant des fonctions spécifiques. Certaines mémoires sont dites "volatiles", d'autres sont permanentes. Le contenu de certaines mémoires peut être effacé ou modifié; dans d'autres cas, ceci n'est pas possible. En outre, le support physique de l'information peut prendre diverses formes: circuit intégré spécialisé, "barrette de modules", support magnétique ou optique (disque dur, disquette, CD-ROM, DVD, etc...)
On voit que la mémoire, sous ses différentes formes, est à l'évidence un élément essentiel de l'informatique, mais (ceci est sans doute moins flagrant) elle est désormais présente dans un très grand nombre de dispositifs ou d'appareils de la vie quotidienne (machines industrielles, aéronautique, automobile, appareils ménagers...).
A quoi sert une mémoire?
Les applications pratiques des mémoires sont si nombreuses et variées qu'il serait impossible de les décrire toutes; d'ailleurs, on en invente de nouvelles tous les jours!
On peut toutefois résumer, de manière très schématique, le principe de fonctionnement d'une mémoire:
enregistrement d'une information (les données, data en anglais) sous forme binaire (une succession de "0" et de "1" logiques")
conservation temporaire ou permanente (stockage) de cette information
possibilité d'accéder à l'information, soit pour en prendre connaissance uniquement (lecture seule), soit éventuellement pour lui faire subir un traitement et la modifier (lecture/écriture)
Par "information", il faut entendre toute donnée (data) sous forme binaire, quelle que soit sa signification pour l'utilisateur: un nombre, une suite de caractères alphanumériques, une valeur associée à une couleur ou à un choix ("0" égale "non", "1" égale "oui")...
Quelques exemples d'informations mises en mémoire: un texte tapé dans un traitement de texte, un numéro de téléphone dans un appareil téléphonique, un nombre entré sur une calculatrice de poche, un morceau de musique sur un CD audio, les paramètres de réglage du siège conducteur dans une voiture, etc.
Les différentes technologies
Nous allons passer en revue, très brièvement, les principales familles technologiques de mémoires à semi-conducteur. On comprendra mieux, ainsi, les possibilités offertes par tel ou tel type de mémoire, et du coup leurs limites. Nous laisserons toutefois de côté les mémoires à support magnétique ou optique, qui sont des mémoires de masse destinées au stockage ou à l'archivage.
On distingue deux grandes catégories de mémoires: les mémoires dites "mortes", ou ROM (Read-Only Memory, mémoire à lecture seule) et les mémoires dites "vives", ou RAM (Random Access Memory, mémoire à accès aléatoire). Ces mémoires, qui se présentent sous forme de modules ou de barrettes, sont fabriquées de la même manière que les circuits intégrés, par gravure d'une "puce" (chip, en anglais) de silicium.
Dans tous les cas, le bit, information élémentaire, que l'on se représente par un "0" ou un "1", est matérialisé par l'absence ou la présence de charges électriques. La mémoire, pour être exploitable, doit permettre d'identifier l'état d'un bit quelconque ("0" ou "1"). Pour ce faire, on considère la mémoire comme un tableau composé de "cases" ou de "cellules", chaque cellule étant dotée d'une "adresse" (un numéro d'ordre) et contenant un unique bit. On peut ainsi lire ou écrire une information particulière en se rendant à son adresse.
A0 0 A1 0 A2 1 A3 0 A4 1 A5 1 A6 0 A7 1 A l'adresse A2, on lit un bit dont la valeur est "1". En A6, on lit un "0".
Un module mémoire peut contenir plusieurs milliers ou millions de bits. Chaque chiffre binaire est appelé un bit (BInary digiT). Un groupe de 8 bits forme un octet (byte, en anglais). Un module dont la capacité est de 64 ko (kilo-octet) contient 64 fois 1024 octets (le kilo vaut ici 1024 et non 1000), soit 512 fois 1024 bits.
Voyons d'abord les RAM (Random Access Memory, mémoire à accès aléatoire).
Les mémoires RAM sont volatiles: dès que l'alimentation électrique est coupée, on perd leur contenu. Il s'agit donc d'une mémoire temporaire. En revanche, tant que l'alimentation électrique est maintenue, on peut accéder à leur contenu, le lire ou le modifier à volonté. Le processus de mémorisation s'effectue soit à l'aide d'une bascule de type flip-flop (SRAM, ou RAM statique), soit à l'aide d'un microcondensateur (DRAM, ou RAM dynamique). La DRAM est plus rapide, son temps d'accès étant de l'ordre de 60 ns, mais elle nécessite en contrepartie un rafraîchissement régulier de l'information.
Les modules de RAM utilisés dans les ordinateurs se présentent sous la forme de barrettes enfichables dans les connecteurs appropriés de la carte-mère (illustration ci-dessus). Les différences entre les déclinaisons successives de la RAM (RAM EDO, SDRAM, Rambus DRAM...) portent principalement sur le temps d'accès, réduit à quelques nano-secondes avec la SDRAM, et la largeur de bus (8 bits, 16 bits...).
La ROM (Read-Only Memory, mémoire à lecture seule) est une mémoire dont le contenu, programmé lors de sa fabrication, ne peut être ni modifié, ni effacé par l'utilisateur. Contrairement à la RAM, cette mémoire est non-volatile, donc permanente: elle n'a pas besoin d'une alimentation électrique pour conserver son contenu. Avant l'apparition des BIOS "flash", les BIOS des ordinateurs (mini programmes de démarrage de la machine) étaient stockés dans une ROM.
PROM
La PROM (Programmable Read-Only Memory, mémoire programmable à lecture seule) ou OTP (One-Time Programmable) ROM est une ROM qui peut être programmée, une seule fois, par l'utilisateur. Autrement dit, ce n'est plus le fabricant, mais l'utilisateur, qui programme la ROM, à l'aide d'un appareil appelé tout bonnement... "programmateur".
L'opération de programmation est d'ailleurs assez délicate, sinon risquée, car toute erreur est fatale! En effet, le programmateur "grille" des fusibles ou "claque" des diodes contenus dans la ROM. D'origine, ces diodes ou fusibles sont disposés selon une matrice, en rangées et colonnes, et tous sont connectés (ils laissent passer le courant). On a donc des "1" partout. En grillant certains fusibles, on génère des "0". Mais une fois que le fusible est grillé, il est grillé pour de bon, il n'y a pas de retour en arrière possible...
EPROM
L'EPROM (Erasable Programmable Read-Only Memory, mémoire programmable et effaçable à lecture seule) est, on l'aura deviné d'après son intitulé, une PROM qui peut être effacée. C'est là son énorme avantage sur la PROM, car l'effacement autorise une re-programmation ultérieure.
Ces circuits possèdent en effet une petite fenêtre de quartz par laquelle des rayons ultra-violets peuvent passer pour effacer leur contenu, plus précisément tout leur contenu, c'est-à-dire les rendre vierges. Cette opération nécessite la dépose préalable de la mémoire, qui doit être retirée de son support. Ensuite, il ne reste plus qu'à reprogrammer l'EPROM.
L'appareil utilisé pour effacer l'EPROM est appelé "brûleur" ou "effaceur", ou encore "prommer". Cet appareil, pas très difficile à construire par un amateur, se présente souvent sous la forme d'un boîtier muni à l'intérieur d'un tube à rayons UV d'une certaine longueur d'onde (253 nm): on y enferme l'EPROM à effacer et on l'y expose pendant une vingtaine de minutes aux rayons UV. Puis on le re-programme et on le remet à sa place.
Une carte de programmateur d'EPROM et son logiciel sur disquette. (Document CIF)
Pour lire un octet, on donne son adresse à une entrée d'adressage (A0...A19), on active la ROM en mode lecture (broches CE, chip enable, et RD, read), on récupère l'octet désiré sur une ligne de données (D0...D7), puis on désactive la ROM.
L'EEPROM (Electrically Erasable Programmable Read-Only Memory, mémoire programmable et effaçable électriquement à lecture seule) est une variante avantageuse de l'EPROM, puisqu'elle peut être effacée non par des rayons UV, ce qui suppose de la retirer au préalable de son emplacement, mais par un courant électrique. De plus, on n'est pas obligé d'effacer l'intégralité du contenu de la mémoire: on peut n'effacer que certaines adresses.
Variante désormais très populaire de l'EEPROM, l'EEPROM FLASH est moins onéreuse (en quantité industrielle) et plus rapide à effacer; cependant, c'est tout le contenu de la mémoire qui est effacé.
Copyright © 2007 - ElectroWeb - Design by Ossama-Web