Home

L'ELEA 9003/02

Il primo calcolatore a transistor del mondo (ed ancora funzionante)!!!

Vista panoramica del tavolo di comando e dei nastri magnetici
Per informazioni:
info@elea9003.it
elea9003@isisfermi.it

Queste pagine sono dedicate al "glorioso" ELaboratore Elettronico Aritmetico ELEA 9003, il primo calcolatore commerciale a transistor del mondo.
Progettato e costruito dalla Olivetti tra la fine degli anni '50 e l'inizio degli anni '60 rappresenta un importante pezzo di storia dell'informatica italiana e mondiale.
L'esemplare in possesso dell'ISIS "Enrico Fermi" di Bibbiena (AR) è l'ELEA 9003/02, il secondo della serie, e probabilmente l'unico rimasto al mondo ancora ottimamente conservato e funzionante.
Il progetto, sostenuto anche dai "padri" dell'ELEA come il Dott. Franco Filippazzi, prevede il pieno recupero funzionale dell'elaboratore e la sua valorizzazione
Spero che il materiale presente in questo sito possa aiutare a comprendere, celebrare ed apprezzare l'originalità del genio italiano.

Project Image
Project Image
Project Image
Project Image
# serie Committente Sede operativa
1 Marzotto Valdagno
2 Monte Paschi Siena Siena (Bibbiena)
3 Fiat Ricambi Torino
4 ENI Milano
5 Min Finanze 1° Uff. IGE Roma
6 Agip Roma
7 Ferrero Alba
17 SNAM Progetti San Donato Milanese
N/D Banco di Sicilia Palermo
N/D Cogne Aosta
N/D Fiat Ricambi Torino
N/D INPS Roma
N/D Ist. Banc. San Paolo Moncalieri
N/D Italgas Torino
N/D Italgas Roma
N/D Lancia Torino
N/D Lebole Arezzo
N/D Motta Milano
N/D Olivetti Ivrea
N/D Olivetti Ivrea
N/D Italgas Torino
N/D Poste e Telecomunicazioni Roma
N/D Total Milano
N/D A.E.M. Milano
39 Monte Paschi Siena (affitto) Siena

Fu lanciato non molti mesi dopo il 2002 della Siemens (dotato però di alcune valvole), vari mesi prima dei primi IBM a transistor e la potenza di calcolo è stata superiore a quella dei concorrenti per alcuni anni.

L'uptime - come per tutti i computer dell'epoca - era inferiore al 50%, specialmente nella parte relativa alla periferica a nastro. Questo significava avere a disposizione il computer tra la tarda mattina ed il pomeriggio-sera salvo poi riconsegnarlo ai tecnici per le necessarie riparazioni: spesso però (come nel caso dell'ELEA del Monte dei Paschi) si riuscivano a raggiungere efficenze dell'80%.

La necessità di disporre di 300'000 transistor e diodi molto affidabili per ogni calcolatore, convinse Adriano Olivetti a realizzare una fonderia denominata SGS in cooperazione con la società Telettra. La SGS (Società Generale Semiconduttori) in seguito diventerà la ST Microelectronics.

La memoria prinicipale
Questo tipo di memoria è composta da nuclei di ferrite. Ogni piano contiene 10000 nuclei, essendo composto da 7 piani sovrapposti può contenere 70000 “bit” necessari a rappresentare 10000 informazioni alfanumeriche (6 bit di dato più un bit di disparità).
Essendo la memoria principale composta da due di queste memorie, la macchina può contenere fino a 20000 caratteri alfanumerici.
La memoria è indirizzabile con delle istruzioni in ognuna delle 20000 posizioni che può contenere.

Memoria ausiliaria a T
Questa memoria ha la capacità di 200 caratteri alfanumerici indirizzabili di 5 in 8 posizioni per un totale di 40 posizioni, si chiamano registri e ogni posizione viene indicata con un simbolo alfanumerico.
La memoria a T serve per la modifica automatica delle istruzioni e pure per  operazioni aritmetiche purchè non vi si inserisca più di 10 caratteri.
Uno speciale “Bit gT” indica la fine di una parola.
Per quanto riguarda invece il segno, esso viene inserito in uno speciale registro di segno.

Accumulatore
Questo accumulatore è una memoria capace di contenere 100 caratteri alfanumerici. La sua funzione è quella di contenere degli operandi e successivamente il risultato di un’operazione aritmetica.
Con una speciale istruzione “DA” si fissa l’inizio dell’accumulatore in una qualsiasi delle sue cento posizioni.
Il “Bit gA” segnala la fine di una parola a partire dall’istruzione “DA”.

Unità aritmetica e logica
Questa unità effettua i calcoli aritmetici, i confronti, le operazioni logiche e modifica le istruzioni per mezzo dei registri a T.

Una istruzione di programma è codificata per mezzo di otto caratteri alfanumerici.
Le configurazioni si possono rappresentare da cinque gruppi di caratteri alfanumerici che rappresentano i vari tipi di operazioni che si vogliono rappresentare.

Gli indirizzi di memoria si possono rappresentare solo con quattro caratteri e siccome per indicare, per esempio, 15621 occorrono cinque caratteri, le unità di migliaia si rappresentano con caratteri alfanumerici.
Le unità in P3 e le decine in P4 si rappresentano con numeri regolari mentre le centinaia in P5 e le migliaia in P6 si rappresentano come da tabella:

I 40 registri di modifica automatica si rappresentano con i seguenti simboli:

Come si è detto ogni registro a T può contenere sino a 5 caratteri, ma siccome questi tipi di registri possono sovrapporsi l’uno all’altro si può nelle operazioni inserire caratteri sino a 10.
Se vogliamo invece che il registro Tm di modifica sia inesistente, lo si ottiene  registrando in P2 i caratteri:

#  oppure ÷ (non fanno operare il registro T)

Un fatto generale è che se in un istruzione, una determinata posizione indica normalmente uno fra i diversi organi della macchina e non si vuole richiamare  nessun organo di quel tipo, in essa si deve registrare in questo modo:

#  ( rende nulla l’istruzione che è sostituita con questo simbolo).

Per quanto riguarda il segno esso viene registrato in uno speciale registro del segno e si può accedere solo con l’istruzione “Y”.

Queste istruzioni interessano la memoria principale e l’accumulatore.
Nel loro svolgimento interessano la unità aritmetica e logica ed il governo dell’elaboratore.
Con queste istruzioni, durante la fase preparatoria che in quella esecutiva, il canale interno risulta impegnato; a questo gruppo di istruzioni potranno perciò sovrapporsi operazioni che impegnano il canale esterno ed il governo unità nastro ( GUN).
La lunghezza delle parole, siano esse segnate o non, non deve superare i 100 caratteri.

NOTA BENE !!!
Per il codice simbolico FAM se in P7 e in P8 vengono registrati i caratteri 01 (zero-uno) all’indirizzo IIII è trasferito il numero delle cifre significativo
comprese fra DA e il bit gA.

Se invece in P7 e in P8 vengono utilizzati i caratteri .0 (punto zero), all’indirizzo IIII è trasferito il numero delle cifre significative e non significative comprese tra DA e il bit gA.

Queste istruzioni interessano soltanto la memoria principale; nel loro svolgimento impegnano l’unità aritmetica e logica ed il governo dell’elaboratore.
La fase preparatoria di una istruzione impegna il solo canale interno, la fase esecutiva invece ambedue i canali.

Queste istruzioni interessano la memoria principale e i registri T.
Nel loro svolgimento impegnano l’unità aritmetica, logica ed il governo dell’elaboratore.
Sia durante la fase preparatoria che in quella esecutiva il canale interno risulta occupato, mentre il canale esterno risulta libero.

NOTA BENE !!!
Per trasferimenti di memoria di registri o viceversa, le parole segnate e non segnate non devono superare i 10 caratteri.
Se in P8 viene registrato uno O (zero), viene trasferito all’indirizzo IIII il numero delle cifre significative e non significative comprese tra la posizione iniziale del registro To e il bit g7.
Se in P8 viene registrato il carattere . (punto), viene trasferito all’indirizzo IIII il numero delle cifre significative e non significative comprese tra la posizione iniziale del registro To e il bit g7. La lunghezza richiesta viene registrata sempre mediante 2 cifre

Queste istruzioni interessano parole sostituite da caratteri o valori fissi (costanti); nel loro svolgimento impegnano l’unità aritmetica e logica ed il governo dell’elaboratore.
Sia durante la fase preparatoria che in quella esecutiva il canale interno risulta impegnato, il canale esterno risulta libero.

NOTA BENE !!!
Se nelle posizioni P7 e P8 è registrato il carattere ? il trasferimento avviene solo per la costante CCCC ed il bit gT è posto in 4° posizione.
Per quanto riguarda la più (+ CT) e meno ( - CT), se nelle posizioni in P7 e in P8 è registrato il carattere ÷,   il risultato è espresso per mezzo di 4 caratteri di cui il 4° può essere alfabetico o speciale, ciò non succede e quindi viene la somma regolare (ciò è valido anche per la sottrazione) algebrica se in P7 e in P8 è registrato il carattere #.
Usando quindi per le +CT o –CT il simbolo ÷ è possibile, per mezzo dei registri T, correggere tutti gli indirizzi di memoria.

Queste istruzioni interessano la memoria principale, i registri T e l’accumulatore, nel loro svolgimento impegnano l’unità aritmetica e logica ed il governo dell’elaboratore.
Sia durante la fase preparatoria che in quella esecutiva il canale interno risulta occupato; risulta libero quello esterno.

NOTA BENE !!!
Per quanto riguarda la CM se noi poniamo al posto di LL il simbolo ## e introduciamo i dati con telescrivente ne possiamo introdurre fino a 100, con il nastro perforato invece per mezzo del fotolettore possiamo introdurre caratteri fino al primo carattere α  perforato su un nastro (che anch’esso viene registrato in memoria).

Queste istruzioni servono a saltare certe istruzioni per svolgerne altre nel caso si verifichino certe eventualità.
Se l’eventualità osservata si è verificata allora avviene il salto, altrimenti il calcolatore esegue l’istruzione successiva.

SN =  Non salta mai ma immagazzina nel registro Ts l’indirizzo del carattere P8 dell’istruzione.
SIN = Indica l’addendo non modificabile CCCC da sommare al contenuto del registro indirizzo istruzioni.
STOP =  Pone fine allo svolgimento del programma
 .

Ringraziamenti

Il progetto ELEA 9003/02 non sarebbe possibile senza tutti coloro che si sono mostrati disponibili ad aiutarci nelle riparazioni e cioè:
Giancarlo Vaccari, Guido Fantini, Marco Salvo, Gianni Dozza, Mauro Ballabeni, Danilo Zagliani, Enrico Walter Guglieri, Guido Frateschi, Gianni Grasso, Michele Bonessa, Giancarlo Prina, Franco Salomone, Cesare Gorreri, Carlo Luigi Ciapetti e Franco Schellenbaum.
Vorremmo esprimere la nostra riconoscenza anche verso le persone e le istituzioni che hanno dimostrato interesse e ci aiutano a far realizzare questo progetto, come Franco Filippazzi, Adriano Molini, Mario Bolognani, Luigi Logrippo, l'Olivetti nella persona di Bruno Lamborghini, il Fondo Giorgio Sacerdoti coordinato da Cesare Sacerdoti e l'Archivio Storico Olivetti per parte di Eugenio Pacchiani.
Infine un ringraziamento va a Luigi Tozzi ed al Museo Tecnologic@mente di Ivrea ed a Wladimir Zaniewski ed al suo gruppo di studenti dell'ITIS che con passione e dedizione stanno portando avanti questo difficile lavoro.