MEMORIE A NUCLEI MAGNETICI

Memorie a nuclei magnetici

Oggi quasi sconosciute ai non appassionati di vecchi computer, questo tipo di memoria ha rappresentato per più di vent’anni, dal 1955 al 1975 circa, la più importante (spesso l’unica) tecnologia disponibile per la fabbricazione di RAM dalle accettabili caratteristiche di affidabilità, dimensione e costo per bit.

Queste memorie furono utilizzate nei primi computer prima della diffusione delle memorie a semiconduttori.

Le principali tecnologie delle memorie dei calcolatori elettronici in uso nel 1970, raffigurate sulla copertina di un numero speciale della rivista Electronics World.

Storia

Le prime ricerche sulle memorie a nuclei magnetici furono svolte da Au Wang e Way Dong Woo due ricercatori che svilupparono nel 1949 il pulse transfer controlling device. Il nome indica un dispositivo che tramite campo magnetico dovrebbe controllare l’attivazione di un sistema elettromeccanico. Wang e Woo lavoravano all’Università di Havard, che a differenza del MIT non era interessata a promuovere le invenzioni sviluppate internamente. Comunque Wang riuscì a farsi assegnare il brevetto dell’invenzione.

Intanto Jay Forrester presso il MIT stava sviluppando il computer Whirlwind ed era venuto a conoscenza delle ricerche di Wang e di Woo. Il computer Whirlwind richiedeva una memoria principale molto veloce (per l’epoca) per poter eseguire un simulatore di volo in tempo reale. Inizialmente Forrester aveva pensato di utilizzare i tubi Williams per la memoria principale, ma questi erano intrinsecamente inaffidabili e di difficile gestione.

FUNZIONAMENTO DEI TUBI WILLIAMS

Quando un punto luminoso viene creato sullo schermo di un tubo a raggi catodici, il punto rimane per un certo periodo sullo schermo anche dopo che il segnale che l’ha generato è cessato, questo è dovuto alle presenza di fosfori che inducono un effetto di persistenza luminosa. I tubi Williams sfruttano un principio diverso ma che ricorda quello della persistenza luminosa. Per via delle emissioni secondarie l’area soggetta a irraggiamento di raggi catodici cambia polarità diventando positiva e l’area immediatamente circostante diventa negativa. La presenza di un’area negativa o positiva poteva essere rilevata da una piastra esterna che per effetto elettrostatico poteva individuare la variazione di polarità quando il raggio catodico illuminava nuovamente il punto. La lettura era di tipo distruttivo dato che cancellava l’informazione memorizzata. Inoltre la polarità dei punti con il tempo decadeva quindi andavano periodicamente riscritti.

Memoria a nucleo magnetico

Una difficoltà era legata al fatto che l’accesso ai dati causava la cancellazione del contenuto letto dalla memoria: Wang risolse il problema associando ad ogni lettura anche una scrittura al fine di rimemorizzare i dati. Forrester nel contempo era riuscito a utilizzare un ridotto numero di collegamenti per gestire un ampio numero di nuclei magnetici.

Il progetto di Forrester richiedeva che uno dei fili attraversasse i nuclei magnetici con un’inclinazione di 45° gradi, questo non poteva essere eseguito in modo automatico dalle macchine e quindi le memorie vennero assemblate manualmente con l’ausilio di microscopio e di strumenti di precisione.

All’inizio le memorie costavano circa un dollaro per elemento, ma verso la fine erano arrivate a costare circa un centesimo di dollaro per elemento. Queste memorie comunque vennero sostituite negli anni settanta dalle memorie a semiconduttori.

Le memorie a nucleo magnetico facevano parte di una serie di tecnologie legate alle proprietà magnetiche dei materiali. Negli anni cinquanta erano state sviluppate le valvole termoioniche, questi erano dispositivi sofisticati da produrre, fragili, relativamente ingombranti e consumavano molta corrente. Le memorie a nucleo magnetico invece erano dispositivi piccoli, solidi e a basso consumo, spesso vennero utilizzate per applicazioni militari visto la loro robustezza. Un esempio famoso era il computer MOBIFIC sviluppato dalla Sylvania per l’esercito Americano.

Funzionamento delle memorie a nucleo magnetico

Particolare di una memoria a nuclei magnetici, la distanza tra gli anelli è di 1 mm circa

I nuclei magnetici di ferrite sono disposti in anelli a griglia bidimensionale. Gli anelli erano percorsi da dei fili che servivano a portare i segnali di gestione della memoria. Nei primi sistemi si utilizzavano quattro fili; X,Y, Sense e Inibizione.

Ogni anello memorizzava un singolo stato digitale, ogni griglia bidimensionale era accessibile in un solo ciclo di clock e permetteva la manipolazione di un singolo anello. Impilando in modo opportuno un certo numero di griglie si poteva ottenere la lettura o scrittura di un word in un solo ciclo di clock.

Gli anelli magnetici basavano la loro capacità di memorizzare le informazioni sull’isteresi del materiale ferromagnetico, gli anelli sottoposti ad un certo campo magnetico tendevano a mantenere un certo stato magnetico fino a quando non sopraggiungeva un nuovo campo magnetico di adeguata intensità in grado di invertire il campo magnetico memorizzato dal materiale.

La commutazione da uno stato all’altro si aveva facendo scorrere una corrente sufficientemente alta nei fili che attraversano il nucleo.

Una corrente inferiore non produce però nessun cambiamento di stato nei nuclei

L’unione di due semicorrenti era sufficiente a far cambiare stato alla magnetizzazione.

Come detto, ogni anello era attraversato dalle linee X e Y: se si voleva scrivere un particolare anello si attivava la sua linea X e Y, solo quell’anello vedeva l’intero campo magnetico (somma di quello portato dalle linee X e Y) mentre gli altri anelli si trovavano a vedere solo metà campo magnetico o nessun campo magnetico.

Quindi solo l’anello indirizzato si trovava ad essere interessato da un campo magnetico sufficiente per modificare la polarità del campo magnetico. La polarità del campo veniva definita dalla polarità della corrente che attraversava le linee X e Y.

La corrente scorrendo nei fili induceva un campo elettromagnetico che combinandosi nell’anello ne alterava la polarità.

Scrittura e lettura

La lettura in questo genere di memorie è un’operazione relativamente complessa. Sostanzialmente la lettura consiste nel portare a 0 il bit indirizzato per la lettura. Si pilotano le linee X e Y a metà potenza nella direzione che causa il campo magnetico che memorizza lo 0 nella memoria. Se la memoria è effettivamente a 0 non succede nulla, ma se la memoria conteneva un campo magnetico che indicava il bit 1 allora sulla linea di Sense si sarebbe letto un breve impulso elettrico dovuto al cambio di polarità del nucleo magnetico.

Quindi il gestore della memoria, dopo aver indirizzato l’opportuna linea X e Y, controllava la linea di Sense della memoria per verificare la presenza di 0 o 1. Questa metodologia di lettura era distruttiva dato che alterava i dati portando sempre la memoria allo stato 0.

Con gli anni venne inserito un nuovo filo che serviva a inibire la scrittura con una corrente contraria a quella di magnetizzazione annullando di fatto una semicorrente.

La scrittura seguiva un principio simile, tranne che la memoria viene sempre posta a 1. La scrittura parte dal presupposto che le celle siano già a 0 per via di una precedente lettura e attiva le linee X e Y al fine di produrre una variazione di campo magnetico che porti il campo magnetico del nucleo magnetico fino allo stato 1.

Se nella cella va effettivamente scritto 1 la procedura termina; se invece nella linea va posto il segnale 0 si impedisce la scrittura tramite la linea di inibizione. In questa linea viene fatta scorrere una piccola corrente in verso opposto che genera un campo magnetico opposto a quello generato dalle linee X e Y e che impedisce di modificare lo stato del nucleo lasciando quindi la memoria allo stato 0.

Dato che la linea di Sense e quella d’inibizione non venivano utilizzate contemporaneamente, si decise di utilizzare una sola linea per entrambe le funzioni con un apposito circuito che commutava la funzione della linea a seconda che ci fosse una lettura o una scrittura.

Dato che ogni lettura richiedeva anche una scrittura, molti computer si avvantaggiarono del fatto. I computer inclusero delle istruzioni in grado di mettere in pausa il processo di scrittura dopo quello di lettura. In questo modo se il computer doveva leggere e subito dopo scrivere la stessa cella di memoria poteva effettuare l’operazione in un solo passaggio. La memoria leggeva il dato, lo inviava al processore e si poneva in pausa. Il processore elaborava il dato e inviava in nuovo dato che veniva scritto direttamente dalla memoria durante l’operazione di scrittura necessaria per rigenerare lo stato della memoria. Questo permetteva di evitare una scrittura inutile velocizzando il computer.

Il COMPUTER CDC6600

Memoria a nuclei magnetici del CDC6600

La velocità di queste memorie era dell’ordine del Megahertz (velocità analoga a quella dei computer degli anni ottanta come il Commodore 64, I primi sistemi avevano un tempo di lettura di 6uS, che in seguito venne ridotto fino a 1.2uS all’inizio degli anni settanta. Alla fine degli anni settanta si era arrivati ad avere dei modelli da 600nS.

Le memorie magnetiche mantenevano lo stato indefinitivamente anche senza alimentazione. Inoltre questa tipologia di memorie è relativamente poco soggetta a interferenze elettromagnetiche e alle radiazioni. Queste sono caratteristiche importanti nelle applicazioni spaziali e militari difatti queste memorie vennero utilizzate per molti anni in questi settori anche dopo la diffusione delle memorie a semiconduttori. Per esempio i computer dello Space Shuttle inizialmente utilizzavano questa tipologia di memorie. Le memorie magnetiche sopravvissero al disastro dello Space Shuttle Challenger e permisero alla commissione d’inchiesta di aver un resoconto su cosa misurò il computer prima dell’esplosione.

Una caratteristica delle memorie magnetiche è che il ciclo di isteresi è sensibile alla temperatura. Alcune società come IBM tenevano le memorie a una temperatura di esercizio superiore a quella ambientale con dei riscaldatori.

Scheda di memoria a nuclei magnetici proveniente da un calcolatore Siemens (1964).

Data la sua importanza storica e le vicende che ne scaturirono, Whirlwind (turbine) merita qualche ulteriore annotazione. Alla fine di una storia lunga e travagliata, Whirlwind risultò fortemente innovativo benchè ancora basato sulla tecnologia a valvole.

Le origini del progetto risalgono al 1946 e presero le mosse dalla realizzazione di un simulatore di volo, con tecnologia analogica, per addestramento dei piloti della marina militare.

In aggiunta alla memoria a nuclei alcune delle invenzioni più importanti furono:

  • monitor a raggi catodici con display grafico, operabile con penna luminosa;

  • uso massiccio di terminali remoti collegati su linee telefoniche e operanti in tempo reale;

  • tecniche per l’aumento dell’affidabilità e per il funzionamento ininterrotto H24 per tutti i giorni dell’anno;

  • software all’avanguardia, tra i cui un sistema operativo trai primi degni di questo nome e un linguaggio di programmazione che in qualche modo può considerarsi il padre del FORTRAN

Di pari passo con lo sviluppo del Whirlwind, realizzato in un unico esemplare, procedette il progetto del SAGE (Semi Automatic Ground Environment) concepito per difendere l’intero territorio USA da eventuali attacchi aerei e missilistici.

Sulla versione finale di Whirlwind, fu infatti montato il computer AN/FSQ7 destinato a equipaggiare il SAGE in ben 27 esemplari. Questi 27 nodi erano interconnessi mediante una rete telefonica dedicata, essi ricevevano ed elaboravano in tempo reale i segnali delle stazioni radar di avvistamento.

Battendo una agguerrita concorrenza, IBM si aggiudicò la succulenta commessa per la costruzione dell’intero progetto SAGE ricavandone, in aggiunta, un cospicuo bagaglio di know how.

Il convolgimento iniziò nel 1952 e, nel momento di massimo impegno più di 7000 persone lavoravano al progetto SAGE.

Tra il personale tecnico c’era anche Kenneth Olsen il quale lascio il MIT nel 1957 per fondare la DEC- Digital Equipemen Corporation e farla assurgere al ruolo di lesder mondiale dei minicomputer.

In effetti Digital ( termine comunemente usato per DEC) inventò l’architettura dei minicomputer aprendo un nuovo segmento di mercato. I primi successi furono legati alla prolifica serie dei PDP (Programmed Data Processor), dal PDP-1 del 1960 al PDP-11 degli anni settanta.

Con questo penso di aver esaurito l’argomento.

Amilcare

VOTO
1 commento
  1. gvsoft
    gvsoft dice:

    Amilcare, come a solito presente con articoli estramemente interessanti e particolari….come questo tuo ultimo che mi ha riportato indietro di 40 anni….il mio primo calcolatore elettronico era un IBM 1401 a SCHEDE…. con memoria se non ricordo male di 4K… parlo di anni tra il 64 il il 68….Ho mosso i miei primi passi sulla programmazione proprio su questo calcolatore…e si programmava in assembler molto ma molto limitato……Ero riuscito quando poi fu rottamato a seguito dell’alluvione di Firenze a recuperare la memoria…..un capolavoro di ingegneria…..
    ciao
    giovanni (gvsoft)
    .

    Approvazioni

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento