# Mémoire à tores magnétiques

La mémoire à tores magnétiques fut la forme dominante de mémoire vive des ordinateurs durant 20 ans (de 1955 à 1975).
Cette mémoire était composée des petits tores (anneaux) de ferrite traversés par des fils qui servaient à y écrire et y lire des informations.

## Description
### Principe de fonctionnement

Chaque tore correspond à un bit de donnée. Les tores peuvent être magnétisés dans deux directions différentes (sens horaire et antihoraire). Le bit enregistré dans le tore signifie zéro ou un selon le sens du champ magnétique. L'écriture du tore s'effectue en faisant passer un courant électrique I$_m$ dans le fil d'écriture (un seul fil est nécessaire pour l'écriture). Le courant doit être suffisamment élevé, pour que le champ dans le circuit magnétique dépasse l'intensité du champ coercitif et crée une magnétisation rémanente et saturée. Ainsi le signe de la rémanence correspond à la valeur du bit, « 0 » ou « 1 ».
La lecture est effectuée en envoyant de nouveau un courant de lecture I$_m$ dans l'un des fils, qui permet de détecter la magnétisation actuelle du tore. Selon l'état du tore, ce courant va inverser le champ magnétique dans le tore ou pas. Ce changement du champ magnétique induit une tension U$_I$ dans le second fil qui peut être mesurée. Cette lecture du contenu du tore est destructrice. Elle remet le contenu à zéro, ce qui nécessite de réécrire le contenu antérieur du tore pour rétablir sa valeur.

### Arrangement matriciel

Afin de réduire le nombre de fils et d'amplificateurs pour l'écriture et la lecture, ainsi que le besoin en place, pour toute application pratique, les tores sont arrangés en forme de matrice. Chaque tore est traversé par deux fils, X et Y, pour l'adressage. Un fil de chaque dimension est alimenté à la fois. Lors de l'écriture, seul le courant dans le tore au croisement des deux fils sera suffisant pour induire un champ suffisant pour changer son état de magnétisation. Dans les autres tores passe seulement la moitié du courant nécessaire, voire aucun.
Ainsi, la commande d'une mémoire de 16 Kbit, nécessite 128×128 fils et autant d'alimentations de courant. Afin de lire et écrire les tores un par un, deux fils supplémentaires sont utilisés : le fil de détection (sense-line S) pour la mesure de la tension d'induction grâce à un amplificateur de détection et dans les premiers modèles également un fil d'inhibition (inhibit-line Z). Ces fils traversent tous les cores d'un même arrangement de cores.
En principe, un cycle de lecture est toujours suivi par un cycle d'écriture. Lors de la lecture, le tore correspondant aux fils X et Y est magnétisé dans le sens correspondant à « 0 ». S'il était « 1 » auparavant, le cycle suivant va le remagnétiser dans cette direction. S'il était déjà à « 0 », alors un courant suffisamment fort dans le fil d'inhibition va atténuer le courant effectif suffisamment pour que le tore ne rechange pas de magnétisation. Comme les fonctions de détection et d'inhibition ne sont jamais utilisées simultanément, les systèmes évolués se contentaient d'utiliser un seul fil, dont le circuit de commande pilotait la fonction respective.

## Caractéristiques
### Temps d’accès

À leur début, dans les années 1950, les mémoires à tores magnétiques avaient en général des cycles d'environ 6 µs, cycles qui ont pu être réduits à 1,2 µs au début des années 1970 et à 0,6 µs au milieu des années 1970. Il existait toutefois des mémoires beaucoup plus rapides, à l'exemple de celle du CDC 6600 qui avait un cycle mémoire de 1 µs en 1964. Déjà à cette époque, de grands efforts étaient faits pour réduire le temps d'accès à la mémoire et augmenter la largeur de bande passante entre la mémoire et le processeur, comme la superposition de plusieurs grilles de mémoires, chaque grille contenant un bit d'un mot et le contrôleur de la mémoire pouvait lire simultanément un bit dans 32 grilles pour obtenir un mot de 32 bits en un seul cycle mémoire.

### Insensibilité aux perturbations

La mémoire à tores magnétiques est une mémoire non volatile, c'est-à-dire une mémoire qui maintient son contenu en l'absence d'alimentation électrique. Elle est aussi relativement peu affectée par les impulsions électromagnétiques et les rayonnements radioactifs. Ces caractéristiques étaient des avantages importants pour certaines applications comme les automates programmables industriels, les installations militaires, les véhicules militaires comme les avions militaires et les véhicules spatiaux. En raison de ces caractéristiques, les mémoires à tores magnétiques ont continué à être utilisées dans certains équipements de nombreuses années après l'apparition des mémoires à semi-conducteurs. Entre autres, ces mémoires ont été utilisées dans la navette Challenger et le contenu de la mémoire de l'ordinateur de la navette a été conservé malgré l'explosion de la navette et sa chute subséquente dans l'océan.

### Sensibilité à la température

Une autre caractéristique de cette mémoire était sa sensibilité à la température : l'intensité du courant nécessaire pour magnétiser les tores dépendait de la température. Dans certains ordinateurs, comme les ordinateurs de la série PDP de DEC, ce problème a été résolu en dotant la mémoire d'une thermistance qui permettait au contrôleur de la mémoire d'ajuster l'intensité du courant en fonction de la température. Dans d'autres ordinateurs, comme les IBM 1620, 7090, 7094 (premiers modèles) et 7030, le problème a été résolu en plaçant la mémoire dans une enceinte maintenue à température constante. Conséquence de cette architecture, la mise en marche de l'IBM 1620 pouvait prendre jusqu'à 30 minutes, soit le temps nécessaire pour que la mémoire atteigne sa température de fonctionnement de 41 °C. La mémoire était chauffée plutôt que refroidie parce qu'il était moins coûteux de maintenir la mémoire à une température élevée que de la refroidir.

## Prix

Au début des années 1970, le prix de la mémoire à tores magnétiques était d'environ 1 dollar américain par mot de 4 octets.

## Dépannage

Les problèmes de mémoires de tores magnétiques étaient longs à diagnostiquer, car les programmes de diagnostics devaient tester les tores un à un sous diverses conditions. Heureusement, ces problèmes étaient peu fréquents, car ces mémoires étaient relativement fiables comparativement aux autres composantes des ordinateurs de cette époque.