Memoria a linea di ritardo: l’antesignana della RAM

Oggi tutti i computer recenti dispongono di una memoria RAM (Random Access Memory) di dimensioni elevate: un computer desktop oppure portatile di ultima generazione viene infatti fornito con alcuni gigabyte di memoria RAM, ed il costo di quest'ultima è diminuito nel tempo. Ma in passato come andavano le cose? Che tipo di memoria veniva usata sui primi modelli di computer? Anzitutto occorre dire che in passato sono stati utilizzati diversi tipi di memorie, ma ora considereremo un particolare e "storico" modello di memoria (peraltro non molto conosciuto ai più giovani): la memoria a linea di ritardo (delay line memory).

La memoria a linea di ritardo è una memoria ad accesso casuale, come la RAM ordinaria, ma differisce da questa perchè usa un accesso di tipo seriale anzichè parallelo. L'idea sulla quale è basata la memoria a linea di ritardo è la conversione di impulsi elettrici in onde sonore, che originariamente erano inviate attraverso lunghi tubi riempiti di mercurio, e poi convertite ancora in formato elettrico all'estremità opposta. Questo tipo di tecnologia fu inizialmente sviluppata da J. Presper Eckert, il quale la utilizzò per migliorare le prestazioni di un sistema radar durante la seconda guerra mondiale. L'informazione da memorizzare veniva convertita in onde sonore e poi inviata attraverso un mezzo trasmissivo (dapprima si utilizzò appunto il mercurio, ma successivamente vennero impiegati anche dei materiali conduttori di elettricità) che ne riduce la velocità; all'estremità opposta del mezzo trasmissivo (tipicamente la forma della struttura era tubolare) le onde sonore erano riconvertite in impulsi elettrici, processate (in particolare amplificate e rigenerate), e quindi rispedite indietro attraverso lo stesso mezzo.

In questo modo si poteva eseguire la funzione di "refresh" della memoria, la quale si comportava a tutti gli effetti come una memoria di tipo RAM. Poichè le onde sonore, viaggiando attraverso il tubo trasmissivo, subivano un certo ritardo, diversi impulsi elettrici (centinaia o anche migliaia) potevano essere spediti attraverso il mezzo trasmissivo; il tipico valore per questo ritardo era dell'ordine di qualche microsecondo.

La memoria a linea di ritardo fu ampiamente utilizzata sui primi modelli di computer digitali; ad esempio, tra il 1940 ed il 1950, calcolatori come l'UNIVAC I e l'EDSAC disponevano di memorie realizzate con dei lunghi tubi (la lunghezza era di diversi piedi) riempiti di mercurio.

Il mercurio era appunto il principale tipo di mezzo utilizzato per la trasmissione in forma acustica dei dati digitali; questa scelta è dovuta al fatto che la velocità del suono nel mercurio è abbastanza elevata, circa 1450 metri al secondo. Di conseguenza, il tempo richiesto affinchè un certo impulso raggiunga l'estremità opposta del tubo è inferiore rispetto a quello che si avrebbe utilizzando un altro tipo di mezzo trasmissivo (come ad esempio l'aria), anche se in questo modo il numero totale di impulsi che possono essere memorizzati in una tipica colonna di mercurio risulta limitato. Poichè la velocità del suono è influenzata dalla temperatura (ma non solo, variazioni di temperatura cambiano anche la densità) i tubi erano riscaldati all'interno di grandi forni per mantenerli ad una temperatura stabile e precisa (normalmente 40 °C, o 100 °F). Circuiti addizionali erano inoltre necessari per correggere il clock del computer al variare della temperatura ambiente. Un'altra ragione che motivava l'utilizzo del mercurio è che questo ha circa la stessa impedenza acustica dei cristalli di quarzo piezoelettrici; ciò minimizza le perdite di energia durante la trasmissione e conversione del segnale tra il mercurio ed i trasduttori.

Per convertire avanti e indietro gli impulsi elettrici in onde acustiche erano infatti utilizzati dei trasduttori piezoelettrici di cristallo (una combinazione di altoparlante e microfono) collocati ad ogni estremità del tubo. Il computer contava il numero di impulsi sulla base di un segnale di master clock, ed in questo modo riusciva ad indirizzare un particolare bit.

Il principale svantaggio diquesto tipo di memoria è rappresentato dal tempo di accesso, intendendo per massimo tempo di accesso la lunghezza del ritardo relativo alla propagazione nel mezzo trasmissivo; infatti, per aumentare la capacità della memoria, erano richiesti tubi di lunghezza maggiore, ma ciò incrementava significativamente il tempo di accesso: un buon compromesso tra questi due fattori doveva perciò essere scelto. Il tempo medio di accesso di questo tipo di memoria era dell'ordine di 0.2 millisecondi. Altri svantaggi sono legati all'utilizzo del mercurio, a causa del suo costo elevato, della sua tossicità, e del suo elevato peso specifico.

L'UNIVAC I

L'unità di memoria del calcolatore UNIVAC I era composta da 1000 word di memoria a linea di ritardo, organizzate in 100 registri da 10-word. Il set comprendeva anche dodici registri addizionali da 10-word impiegati come memoria temporanea per l'input/output, e sei ulteriori registri come spare. L'immagine seguente mostra il banco di memoria con linee di ritardo al mercurio dell'UNIVAC I: si possono facilmente osservare parte dei tubi utilizzati dalla memoria a linea di ritardo. Si tenga inoltre presente che quella mostrata è soltanto una parte del calcolatore (l'unità di memoria): l'UNIVAC I completo riempiva infatti un'intera stanza!).

Ciascuno dei registri a 10-word comprendeva le seguenti tre sezioni:

  1. linea di ritardo acustica, formata da un canale in colonna di mercurio, con trasduttori in cristallo montati alle estremità opposte (ricevente e trasmittente)
  2. un'unità intermedia, connessa elettricamente al trasduttore in cristallo ricevente, e contenente amplificatori, un rivelatore, e sistemi di compensazione del ritardo
  3. un'unità ausiliaria contenente un rigeneratore di impulsi ed un modulatore collegati al trasduttore di trasmissione, oltre a porte logiche collegate al segnale in ingresso e al segnale di clear della memoria

Guardate anche questo interessante video (in inglese) relativo alla memoria dell'UNIVAC I:

L'EDSAC

L'EDSAC è noto come il primo computer digitale in grado di memorizzare un programma, ossia un insieme completo di istruzioni che, una volta eseguite sull'hardware specifico, compiono una determinata attività. La sua memoria è organizzata in 512 word a 35-bit, memorizzate in 32 linee di ritardo, ciascuna con una capacità di 576 bit (un 36esimo bit era poi aggiunto a ciascuna word come indicatore di start/stop).

Memoria magnetostrittiva

Una versione successiva della memoria a linea di ritardo era basata sull'impiego di materiali conduttori come mezzo trasmissivo, mentre i trasduttori erano costruiti applicando l'effetto magnetostrittivo. Le due estremità del cavo conduttore erano equipaggiate con un frammento di materiale magnetostrittivo (solitamente il nickel) collocato all'interno di un elettromagnete. Il funzionamento era il seguente: l'informazione binaria (bit) inviata dal computer viaggiava attraverso il cavo conduttore e, una volta raggiunto il magnete, il nickel faceva contrarre oppure espandere (a seconda della polarità) e torcere l'estremità del cavo conduttore. L'onda torsionale risultante faceva quindi muovere il conduttore in modo equivalente a quanto ottenuto con le onde sonore trasmesse attraverso la colonna di mercurio. La calcolatrice elettronica programmabile da tavolo Olivetti Programma 101 (visibile nella prima immagine qui sotto), presentata nel 1965, utilizzava proprio questo tipo di memoria (l'unità di memoria è mostrata nell'ultima immagine in basso):

Scarica subito una copia gratis
Tags:

3 Commenti

  1. Avatar photo Francesco1971 14 Luglio 2010
  2. Avatar photo Emanuele 20 Gennaio 2011
  3. Avatar photo Vincenzo Iorio 9 Novembre 2013

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend