Mémoire à ligne de délai

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Mémoire à mercure de l'UNIVAC I (1951)

La mémoire à ligne de délai (en anglais delay line memory) était un type de mémoire vive utilisé sur certains des premiers ordinateurs numériques, comme l'EDSAC et l'UNIVAC I.

Origine[modifier | modifier le code]

Le concept de base de la ligne de délai est issu des recherches sur le radar, à l'occasion de la Seconde Guerre mondiale. Celles-ci visaient à réduire les perturbations amenées par la réflexion des ondes avec le sol et les autres objets fixes. Les radars de l'époque utilisaient des pulsations répétées d'énergie radio, les réflexions étaient reçues et amplifiées pour être affichées. De sorte à enlever les objets fixes de l'affichage, le signal de retour était séparé en deux, le premier signal était envoyé directement à l'affichage tandis que le second était retardé. En fusionnant la dernière pulsation reçue envoyée directement à l'écran avec la « dernière » pulsation qui émanait du retardateur et qui était électriquement inversée, tout signal commun pouvait être retiré, ce qui ne laissait que les objets en mouvement.

Les premiers systèmes à ligne de délai[modifier | modifier le code]

Avant leur utilisation comme mémoires numériques, les premiers systèmes à ligne de délai étaient constitués de colonnes de mercure avec, à chaque extrémité, des transducteurs à base de cristaux piézoélectriques qui servaient comme une combinaison de haut-parleurs et de microphones. Les signaux provenant de l'amplificateur du radar étaient envoyés vers le transducteur situé à une extrémité du tube, ce qui générait une petite onde dans le mercure. L'onde traversait rapidement le tube jusqu'à l'autre extrémité où elle était relue par l'autre transducteur, inversée puis envoyée à l'écran. Un réglage mécanique de précision était nécessaire pour s'assurer que le délai ajouté correspondait à l'intervalle de temps entre deux pulsations du radar utilisé.

Utilisation comme mémoire[modifier | modifier le code]

Principe de la mémoire à ligne de délai

Inventées par John Eckert pour l'EDVAC et utilisées dans l'UNIVAC I, les mémoires lignes de délai à mercure ajoutaient un circuit de recyclage qui partait de la fin de la ligne à mercure et qui renvoyait le signal sortant à l'entrée. Avec ce système, le motif des pulsations envoyées dans le système pouvait être conservé en circulation dans la mémoire aussi longtemps qu'elle était alimentée.

Pour une utilisation informatique, l'ajustement du délai était toujours un problème critique, mais pour d'autres raisons : tous les ordinateurs conventionnels fonctionnent suivant un cycle temporel nécessaire pour accomplir une opération et, en général, au début et à la fin de celui-ci, on va lire ou écrire dans la mémoire. C'est pourquoi, les lignes à délai devaient être synchronisées de façon à ce que les pulsations arrivent au récepteur juste au moment où l'ordinateur était prêt à les lire. Typiquement, plusieurs pulsations pouvaient être en transit au long de la ligne à délai. Ainsi, l'ordinateur pouvait retrouver un bit en particulier, en se fondant sur une horloge et en détectant les pulsations au moment correspondant à ce qu'il recherchait.

Le mercure était utilisé à cause de son impédance acoustique, qui est pratiquement la même que les cristaux de quartz piezoélectriques. Cela permettait de minimiser les pertes énergétiques et les échos lorsque le signal était transmis du cristal au médium et inversement. La grande vitesse du son dans le mercure (1 450 m/s) fait que le temps nécessaire au signal pour traverser le tube était moindre par rapport à ce qu'aurait donné un autre médium plus lent, comme l'air; mais, cela signifie également que le nombre total de pulsations pouvant être stockées dans un tube de taille raisonnable était limité. D'autres inconvénients techniques allaient en défaveur du mercure : son poids, son coût et sa toxicité. De plus, de façon à optimiser l'impédance acoustique, le mercure devait être maintenu à une température de 40 degrés Celsius, ce qui rendait encore plus difficiles les travaux de maintenance des tubes.

Une machinerie considérable était nécessaire pour maintenir un signal « clair » à l'intérieur du tube. De gros transducteurs étaient utilisés pour générer un « rayon » sonore très fin car il ne devait pas rencontrer les parois du tube et il fallait prendre soin à éliminer les réflexions lors de l'arrivée à l'autre extrémité du tube. La finesse du rayon nécessitait beaucoup de réglages pour être certains que les deux transducteurs piézoélectriques pointent directement l'un vers l'autre. Comme la vitesse du son change avec la température (à cause du changement de densité), les tubes étaient chauffés dans des enceintes thermostatiques pour les maintenir à une température précise. À l'inverse, d'autres systèmes ajustaient l'horloge de l'ordinateur selon la température ambiante pour obtenir le même effet.

L'EDSAC, le premier ordinateur numérique à programme stocké, entra en opération avec 512 mots de 35 bits, stockés dans 32 lignes à délai comportant chacune 576 bits (un 36e bit était ajouté à chaque mot comme délimiteur). Dans l'UNIVAC I, cela s'est légèrement réduit, chaque colonne stockait 120 bits (bien que le terme « bit » ne fût pas d'un usage courant à cette époque), nécessitant sept grandes unités avec 18 colonnes chacune pour constituer un stockage de 1000 mots. Combiné avec les circuits nécessaires à leur fonctionnement et les amplificateurs, le sous-système mémoire occupait une salle à lui seul. Les temps d'accès était d'environ 222 microsecondes, ce qui était bien plus rapide que les systèmes mécaniques utilisés sur les ordinateurs plus anciens.

Lignes de délai à torsion de fil[modifier | modifier le code]

Transducteur magnétostrictif

Une version plus tardive des lignes à délai utilisait des fils métalliques comme médium de stockage. Les transducteurs étaient construits en suivant un effet magnétostrictif ; de petites pièces de matériaux magnétostrictifs, typiquement du nickel, étaient attachées à chaque extrémité du fil, à l'intérieur d'un électro-aimant. Lorsque les bits émis par l'ordinateur entraient dans les aimants, le nickel se contractait ou s'étendait (selon la polarité) et tordait l'extrémité du fil. L'onde de torsion résultant parcourait alors le fil comme l'onde sonore le faisait dans la colonne de mercure.

Cependant, à l'inverse de l'onde compressive, l'onde de torsion était bien plus résistante aux problèmes causés par les imperfections mécaniques, elle l'était tant que les fils auraient pu être enroulés en bobine lâche et épinglés à une planche. Avec cette capacité à être enroulés, les systèmes à base de fil pouvaient être construits aussi longs que nécessaire et pouvaient contenir bien plus de données à l'unité ; des unités d'un kilobit étaient typiquement montées sur un panneau d'un dixième de mètre carré. Bien sûr, cela signifiait également que le temps mis pour trouver un bit en particulier était plus long, car il devait transiter le long du fil, ce qui donnait couramment des temps d'accès de l'ordre de 500 microsecondes.

Les mémoires à ligne de délai étaient bien moins chères et bien plus fiables par bit que les bascules électroniques constituées de tubes à vide, elles étaient aussi bien plus rapides que les relais électromécanique à blocage. Elles ont été utilisées jusqu'à la fin des années 1960, notamment dans les machines commerciales anglaises comme le LEO I, diverses machines Ferranti et dans le calculateur programmable de bureau Olivetti Programma 101 introduit en 1965.

Source[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]