Les mémoires à tores
Les mémoires à tores ont permis de réaliser les premières mémoires rapides (1µs ou moins de temps d'accès) d'une certaine capacité (jusqu'a plusieurs Mo), donnant ainsi naissance à une nouvelle génération d'ordinateurs beaucoup plus puissants que leurs prédécesseurs. Le 1er ordinateur à mémoire à tores a été le Whirlwind, construit aux Etats Unis en 1953. Ces mémoires ont constitué les mémoires centrales des ordinateurs jusque dans les années 1975.
Quelques rappels.
Un courant électrique passant dans un fil génère autour de lui un champ magnétique. Si l'on place dans ce champ un élément magnétique en forme de tore, il s'aimantera. Si le courant est suffisant l'aimantation demeure après la disparition du courant. On appelle I ce courant. Si on change le courant de sens, le tore va s'aimanter dans l'autre sens. Le tore constitue une mémoire binaire, l'aimantation prenant la valeur +Ar pour la valeur 1 et - Ar pour 0.
Pour écrire un tore à 1 on lui envoie un courant I, pour l'effacer un courant -I. Lorsque le tore bascule, il émet une impulsion électrique qui servira à le lire.
Structure d'une mémoire à tores
Une mémoire à tores est constituée d'un certain nombre de matrices planes carrées, chaque plan mémorisant 1 bit par adresse. Il y aura autant de plans que de bits dans le mot. Si par exemple on veut constituer une mémoire de 4096 octets, on aura 8 plans de 64 X 64 tores. Chaque tore est traversé par 3 fils : Un fil X qui traverse les 64 tores d'une ligne, un fil Y traversant les 64 tores d'une colonne, et un fil qui passe dans tous les tores d'un plan. Il n'y a qu'un seul tore au croisement d'une ligne et d'une colonne. Pour mettre ce tore à 1 on envoie un courant I/2 dans sa ligne et un courant I/2 dans sa colonne. Il sera le seul à être traversé par I; les 63 autres de sa ligne et les 63 autres de sa colonne seront traversés par I/2 et ne bougeront pas.
Pour écrire l'octet 10010101 dans la mémoire à l'adresse X,Y on fera en même temps cette opération dans les 1er, 4ème , 6ème et 8éme plan. Pour lire ce même octet on remet tous ses bits à 0 avec des courants -I/2. Les tores à 0 ne bougeront pas, ceux qui étaient à 1 basculeront en émettant une impulsion qui sera recueillie sur le fil qui traverse tous les tores. Il ne faut pas oublier de réécrire les tores qui étaient à 1 !