Au tout début de l'informatique, les mémoires étaient totalement différentes d'aujourd'hui. Il n'y avait pas de mémoire ROM, de mémoire RAM, ou quoique ce soit d'autres. Les premières mémoires n'étaient pas électroniques, la technologie n'étant pas assez avancée pour cela. On parle d'un temps où les transistors n'existaient pas et où l'informatique était en pleine gestation. Pourtant, les mémoires existaient déjà. L'électronique analogique avait déjà des supports de stockage : les lecteurs audio utilisaient des cassettes audio à bande magnétiques, les lecteurs vidéo utilisaient des cassettes VHS elles aussi basées sur des bandes magnétiques, et j'en passe. Une partie de ces supports de stockage ont été réutilisés, puis adaptés pour les ordinateurs de l'époque. En conséquence, les premières mémoires informatiques étaient des mémoires magnétiques, bien plus rudimentaires que les disques durs et les disquettes : mémoires à tores de ferrite, bandes magnétiques, et bien d'autres (cassettes audio, notamment). D'autres mémoires historiques étaient des mémoires mécaniques, qui stockaient leurs informations sous la forme de trous dans une carte en plastique, d'ondes sonores, etc.

Ces mémoires, aujourd'hui totalement obsolètes, ont pourtant eu leur heure de gloire, certaines étant plus utilisées que les mémoires magnétiques ou électroniques de leur époque. Ce chapitre se propose de rendre hommage à ces mémoires historiques. Toutes les mémoires que nous allons aborder sont aujourd'hui obsolètes et la plupart ne sont même plus produites du tout. On peut encore en trouver dans des musées, mais leur utilisation réelle est réduite à peau de chagrin.

Les cartes et rubans perforés modifier

Les toutes premières mémoires informatiques étaient des mémoires mécaniques. Les mémoires mécaniques les plus connues étaient basées sur du papier : je veux parler des cartes et rubans perforés. Il s'agit de cartes ou de rubans de papier, parfois de carton ou de plastiques. Les données sont stockées sous la forme de trous dans le ruban ou la carte : un trou code un 1, tandis que l'absence d'un trou code un 0.

 
Carte perforée.

Les bandes magnétiques modifier

 
Ordinateur Digital PDP-8, avec ses bandes magnétiques visibles.

De vieux ordinateurs utilisaient des cassettes à bande magnétique, les mêmes qui étaient utilisées comme cassettes audio il y a de cela quelques décennies. C'était le cas de vieux ordinateurs personnels, comme les Amstrad CPC, les ZX Spectrum, ou les ordinateurs Commodore.

 
Ordinateur personnel Amstrad CPC 464.

D'autres ordinateurs de la même époque utilisaient des supports de stockage similaires aux cassettes audio, mais sans le plastique extérieur. Des bandes magnétiques étaient enroulées dans un cylindre plastique, et étaient déroulées par un système de déroulement.

Les tambours magnétiques modifier

 
ERA Magnetic Drum, US, c. 1951 - Computer History Museum - Mountain View, California

Les tambours magnétiques sont les ancêtres du disque durs, les deux ayant un fonctionnement assez similaire. La différence principale est que les plateaux sont remplacés par un tube cylindrique, dont la surface est couverte d'un matériau magnétique. L'organisation en pistes est toujours présente, chaque piste étant une ligne horizontale sur le tube central. Par contre, il n'y a pas de tête de lecture/écriture qui se déplace de piste en piste. Les têtes de lecture/écriture sont immobiles, mais il y en a une par piste pour compenser. Le temps de latence d'un tel disque dépend donc uniquement de la vitesse de rotation et de la densité surfacique.

Fait surprenant, ces mémoires étaient utilisées surtout comme mémoire primaire, c'est à dire qu'elles avaient la même fonction que la mémoire RAM des PC actuels, malgré leur caractère non-volatile ! Elles étaient aussi utilisées comme mémoire de masse, mais c'était une utilisation moins fréquente. Les tambours magnétiques avaient cependant une méthode d'adressage différente selon qu'ils étaient utilisées comme mémoire de masse ou primaire. Les tambours utilisées comme mémoire primaire avaient une adresse par mot mémoire, alors que celles utilisées comme mémoire de masse avaient une adresse par secteur ou par piste. La méthode d'adressage variait suivant le tambour.

  • Sur certains tambours, chaque piste avait sa propre adresse mémoire. Les pistes étaient de taille variable suivant la marque du tambour magnétique utilisé, mais chacune avait sa propre adresse.
  • Sur d'autres, chaque piste était découpée en secteurs de taille fixe, comme sur les disques durs, et chaque secteur était adressé en précisant le numéro de piste et un numéro de secteur (similaire à l'adressage CHS des disques durs, en enlevant les plateaux).
  • Sur d'autres, les secteurs avaient une taille variable, l'adressage se faisait en indiquant le numéro de la piste et la position du secteur dans la piste.
  • D'autres mémoires utilisaient des systèmes d'adressages différents.

Les mémoires à tore de ferrite modifier

Les premières mémoires de masse sont sans conteste les mémoires à tores de ferrites. Ce sont des mémoires magnétiques, un peu comme les disques durs, même si les différences sont nombreuses. Elles sont donc naturellement non-volatiles. Elles sont formées d'une matrice de tores fabriqués dans un matériau magnétique (ferromagnétique pour être précis), le plus souvent de la ferrite. Ces tores peuvent être magnétisés dans deux sens différents, ce qui leur permet de coder un bit.

 
Mémoire à tores de ferrite réelle (avec les fils).

L'adressage modifier

L'ensemble formait une sorte de tableau où chaque tore a deux positions : une position X et une autre position Y. Deux fils servent pour l'adressage : le fil Y traverse tous les tores d'une ligne, alors que le fil X traverse tous les tores placés sur la même colonne. Quand une tension est envoyée sur un fil Y et un fil X, le tore à l'intersection des deux fils est activé : il peut alors être lu ou écrit. Plus précisément, chaque fil est parcouru par une tension légèrement supérieure à la moitié de la tension nécessaire pour aimanter le tore : ainsi, la somme des deux tensions est supérieure à la tension d'aimantation, mais seulement à l'intersection des deux fils, sur le tore à aimanter. Selon la tension envoyée (plus précisément, son signe), le tore sera mis à 0 ou à 1.

 
Schéma de la matrice de tores (avec les fils).

Les lectures et écritures modifier

Pour lire ou écrire un bit dans un tore (en changer l'aimantation), il faut que celui-ci soit soumis à un champ magnétique supérieur à une valeur déterminée. pour cela, chaque tore est parcouru par quatre fils : le fil X et Y servent pour l'adressage, comme dit plus haut, un fil S (Sense) pour les lectures, et un fil Z pour les écritures. En faisant passer un courant ou une tension dans ces fils, un champ magnétique se forme autour d'eux, ce qui agit sur les tores de ferrites ce qui permet de les aimanter (écriture) ou de lire leur contenu.

 
Un tore de ferrite.

La lecture s'effectue via le fil nommé Sense. Toute lecture est destructrice : le bit stocké dans le tore est effacé après chaque lecture. En effet, chaque lecture commence par mettre à zéro le bit à lire. Cette mise à zéro va ou non, faire changer le champ magnétique dans le fil Sense, entrainant l'apparition d'un courant et d'une tension. Suite à cette mise à zéro, la mémoire regarde ce qui se passe sur ce fil. Si le bit était déjà à zéro avant la lecture, aucun champ magnétique ne sera créé : il ne se passe rien sur le fil Sense. Mais si ce bit était à 1, le tore va changer de polarité, entrainant l'apparition d'une tension sur ce fil, durant un temps très bref (le temps de changement de polarité du tore). La lecture s'effectue donc via le fil Sense, suivant ce qui s'y passe lors d'une mise à zéro d'un bit.

L'écriture s'effectue d'une manière différente, quoique similaire, en utilisant le fil Z. Lors d'une écriture d'un tore, les fils X et Y qui correspondent sont alimentés en tension, de telle manière qu'un 1 soit écrit dans le tore. Pour écrire un 1, cela suffit largement. Mais pour écrire un zéro, il faut que quelque chose annule cette écriture, en compensant le champ magnétique créé par ces deux fils. Pour cela, on fait passer un courant dans le fil Inhibit, afin de créer un champ magnétique contraire dans le tore. Cela annule l'écriture du 1 en inhibant le champ crée par les fils X et Y. La plupart des mémoires de ce type utilisaient deux fils Sense et Inhibit séparés. Mais vu que le fil Inhibit et Sense ne sont jamais utilisés en même temps, certaines mémoires à tore ont fusionné ces deux fils en un seul.

Une mémoire très fiable modifier

Les mémoires à tore de ferrite sont des mémoires non-volatiles très fiables. Elles ne s'effacent pas dans le temps et peuvent supporter des conditions très dures sans perdre de données. Par exemple, elles peuvent résister à des radiations extrêmes , voire à une EMP, sans perdre de données. C'est pour cette raison qu'elles ont beaucoup été utilisées dans des applications aérospatiales, dans l'industrie, voire dans les applications militaires. Elles étaient encore utilisées dans ces applications bien après l'apparition des premières mémoires à semi-conducteurs.

Par contre, ces mémoires étaient très sensibles à la température. Les tensions à envoyer aux tores devaient avoir une valeur bien précise, qui dépend énormément de la température ambiante. Sur les premières mémoires à tore de ferrite, les circuits de contrôle de la mémoire contenaient un senseur de température et ajustaient les tensions appliquées en fonction des mesures. Une autre solution consistait à placer la mémoire dans une petite boite dont la température était maintenue stable. Généralement, la boite était chauffée au-dessus de la température ambiante, car maintenir une température constante est facile quand celle-ci est plus élevée que la normale. Chauffer une petite chambre est plus simple que de la refroidir, surtout pour une petite boite. Autant une simple résistance permet de chauffer la boite, autant utiliser un réfrigérateur pour une mémoire de ce type était clairement une mauvaise solution.

Le défaut principal de ces mémoires est que leur processus de fabrication est difficile à industrialiser. La fabrication de ces mémoires s'est surtout fait de main d'homme, sans machines ou du moins avec peu d'outils. Le fait que ces mémoires ne puisse pas facilement être fabriquées par des machines fait que ces mémoires sont difficiles à miniaturiser : la miniaturisation ne va pas aussi loin que pour les mémoires à semi-conducteurs et on peut tout au plus stocker quelques centaines de bits sur une puce, voire quelques milliers. La capacité de telles mémoire est généralement assez faible. Par contre, leurs performances étaient assez honorables. On estime que les premières mémoires de ce type avaient un temps d'accès mémoire d'environ 6 µs, ce qui fait une fréquence d'environ 166.7 kilohertz. Le temps d'accès est ensuite descendu à 0.6 µs durant les années 70, ce qui faisait une fréquence proche du mégahertz.

 
Mémoire à tore Ferrite miniaturisée. La puce fait 10 centimètres de coté et contient 64 mots de 64 bits, soit 4 kikioctets.

Les mémoires à ligne de délai modifier

Les mémoires à ligne de délai sont des mémoires volatiles analogiques, basées sur des ondes sonores ! Celles-ci ont été inventées suite à des technologies liées aux radars, dans les laboratoires militaires. Ces mémoires sont des mémoires séquentielles, qui ont une capacité extrêmement faible (quelques centaines de bits). Il en existe diverses versions, la première étant basée sur des tubes de mercure, les suivantes étant basées sur des tubes de cuivre ou d'autre matériaux magnétiques.

L'intérieur d'une mémoire à ligne de délai modifier

Ces mémoires sont basées sur un tube de matière, dans lequel se propage une onde sonore : celui-ci sert de support de mémorisation. Un bit est codé par l'absence ou la présence d'une onde sonore dans le tube de matière. Au bout de ce tube, on trouve un microphone et un haut-parleur. Le haut-parleur génère une onde sonore d'un côté du tube, onde qui est reçue de l'autre côté du tube par le microphone. De plus, le haut-parleur et le microphone sont reliés entre eux : le signal capté sur le microphone est envoyé sur le haut-parleur d'entrée. Ce faisant, l'onde sonore circule en boucle dans le circuit : elle est rafraichie sans cesse, à chaque passage.

 
Mémoire à ligne de délai.

Divers circuits sont présents entre le microphone et le haut-parleur. On trouve notamment des amplificateurs, histoire que les ondes sonores captées ne s'amenuisent pas à force de reparcourir le tube.

 
Mémoire à tube de mercure.

La capacité des mémoires à ligne de délai modifier

Il existe naturellement un petit délai de transmission entre le microphone et le haut-parleur, ainsi qu'un autre délai de propagation dans le tube. Ces délais limitent la capacité de la mémoire, qui dépend du nombre d'ondes sonores qui peuvent parcourir le tube. Chaque bit est codée exactement par une impulsion sonore, qui a une forme et une durée très précise, qui dépend de la qualité du circuit (microphone, haut-parleur, et autres) : notons ce temps  . La capacité totale est, par définition, égale au nombre d'impulsions qui se trouvent en même temps dans le tube de matière (les unes à la suite des autres). Pour la calculer, on peut diviser le temps que met une impulsion à se propager dans le tube, par la durée d'une impulsion.

Les différents types de mémoires à lignes de délai modifier

Les premières mémoires de ce type étaient fabriquées avec des tubes de mercure : ce sont des lignes à délai de mercure.

 
SEAC Computer, avec une mémoire à ligne de Mercure.

Mais les inconvénients du mercure (toxicité, notamment) ont mené au remplacement du mercure par des tubes de matériaux conducteurs (des fils électriques, dit autrement) : ce sont des lignes de délai à torsion de fil.

 
Exemple de ligne de délai à torsion de fil.