L'Olivetti Programma 101 (sigla P101) è un calcolatore da tavolo programmabile[4][5][6][7], definita da molti "Desktop Computer" (computer da tavolo)[1] e ritenuta da una parte della storiografia informatica il primo personal computer della storia[8][9][10].
Venne sviluppata dalla ditta italiana Olivetti negli anni tra il 1962 e il 1964 e prodotta tra il 1965 e il 1971. Presentata per la prima volta alla grande esposizione di prodotti per ufficio BEMA di New York nell'ottobre 1965, fu progettata da un gruppo di ricerca guidato dall'ingegnerePier Giorgio Perotto, in omaggio al quale assunse il soprannome di Perottina in assonanza con la pascalina, celebre macchina da calcolo inventata nel 1642 dallo scienziato franceseBlaise Pascal; il gruppo, oltre a Perotto stesso, comprendeva anche Giovanni De Sandre, Gastone Garziera, Giancarlo Toppi e Giuliano Gaiti.[11] Il designer Mario Bellini le conferì un disegno avveniristico per l'epoca.[AP 2]
La Programma 101 all'epoca del lancio era considerata da alcuni osservatori il primo calcolatore da tavolo programmabile prodotta su larga scala.[2][3] Storicamente è confrontata con le prime calcolatrici programmabili da tavolo, Mathatron (1963)[12][13] e Mathatron II (1965)[14] dell'azienda americana Mathatronics, che però differentemente dalla P101 non utilizzava condizioni logiche interattive e non disponeva di base di una memoria di archiviazione.
La macchina era dotata di condizioni logiche (salti condizionati e incondizionati), istruzioni di output, registri e possibilità di salvare dati e programmi in una memoria interna e su un supporto magnetico esterno ed operava su registri numerici (con spostamenti tra di essi). Le unità vendute della P101 furono circa 44 000.
Nella stampa statunitense coeva la Programma 101 viene presentata come "Desk-top Computer". Il termine inglese computer però ha subito negli anni una grande mutazione di significato. Il termine, attestato per la prima volta nel 1613,[15] indicava originariamente un essere umano,[16] incaricato di eseguire dei calcoli. Il primo utilizzo nel senso moderno è datato al 1947,[17][18] e designava genericamente qualsiasi macchina calcolatrice programmabile.[19] Molto presto però venne avvertita l'esigenza di elaborare anche dati non numerici[AP 3] e nell'uso moderno, sia inglese[20] che italiano,[21]computer è diventato un sinonimo di elaboratore elettronico, ovvero una macchina in grado di elaborare qualsiasi tipo di dati, non solo numeri.[22]In questo senso, la Programma 101 non si potrebbe definire un computer, a causa di limitazioni tecniche quali la mancanza di memoria completamente indirizzabile e di una vera memoria di massa (la sua impropria "RAM" è limitata a 1.920 bit).[Abbiamo una fonte, un libro di architettura degli elaboratori, che la dichiara senza problemi "stored program computer"; vogliamo essere più belli del Bell?]
Anche fuori dai confini nazionali viene riconosciuto alla macchina il titolo di "primo personal computer"[7][29], o di "primo personal computer a programma memorizzato"[24], ma non unanimemente[senza fonte]: Swaine e Freiberger nella loro storia del personal computer menzionano Olivetti solo di sfuggita[senza fonte][30] parlando di Federico Faggin. Lo storico inglese dell'informatica Campbell-Kelly invece accenna all'azienda italiana discutendo il fenomeno dei cosiddetti "Compatibili IBM"[31][AP 6]. Campbell-Kelly fa anche notare che la questione della primogenitura nell'ambito dei personal computer è ancora aperta perché nessuno ha ancora scritto resoconti storici sufficientemente completi[32].
Storia
Il gruppo della P101 (eccetto Giuliano Gaiti). Seduti: Perotto (a sx) e De Sandre. Dietro: Garziera (a sx) e Toppi.
La Programma 101, secondo il racconto del progettista Perotto[33], trae origine dalla considerazione che all'epoca della sua uscita (presentazione nel 1965 come prototipo[2][3][34]) si era completamente estranei al concetto di informatica distribuita, che comportava capacità di elaborazione e di immagazzinamento dati su un unico computer a disposizione dell'operatore[34]. In quegli anni esistevano i minicomputer: due esempi tipici sono il LINC (Laboratory Instrument Computer) (1962) ed il PDP-8 (1964), in catalogo dalla primavera 1965, che venderà quaranta o cinquantamila esemplari nei dieci anni successivi. I minicomputer erano ancora piuttosto cari, quindi c'era ampio spazio per una macchina dal costo relativamente contenuto che automatizzasse i tipici calcoli scientifici, segmento di mercato perfetto per inserire quella che sarebbe diventata la Programma 101. Olivetti forniva programmi di algebra, geometria, statistica, ingegneria e finanza. Nella letteratura scientifica sono inoltre documentati programmi di biochimica[35][36] e radiochimica.[37].
L'azienda Olivetti, che dopo la morte di Adriano Olivetti aveva puntato più sui sistemi di calcolo meccanici che su quelli elettronici[38], presentò quindi la Programma 101 al BEMA in tono minore[38]; tuttavia, quando la mostra newyorkese aprì i battenti, la nuova macchina richiamò l'attenzione dei visitatori[38], i quali finirono per trascurare tutti gli altri prodotti esposti dall'Olivetti nello stand[38]. In aggiunta a ciò, la contemporanea Logos 27-A, calcolatrice elettromeccanica, anch'essa presente a New York e in cui Olivetti aveva investito i maggiori sforzi, cominciò a presentare problemi di produzione[39] e un'accoglienza di mercato inferiore alle aspettative, mentre la Programma 101 riscuoteva successo anche a Mosca (URSS) e successivamente, nel 1966, alla fiera campionaria di Milano[39]; questo spinse Roberto Olivetti, primogenito di Adriano ed erede della dinastia ai vertici dell'azienda, a farsi propugnatore di un tentativo di orientare la strategia aziendale in direzione dell'elettronica[39], obiettivo solo parzialmente perseguito e mai pienamente consolidato[40]. Per il lancio fu deciso il mercato statunitense, nonostante le perplessità circa i problemi eventuali di manutenzione dovuti alla mancanza di tecnici elettronici dell'Olivetti negli Stati Uniti[39].
Essendo l'Olivetti completamente a corto della fabbricazione in serie di apparecchiature elettroniche, il direttore di produzione dell'epoca pretese specifiche dettagliate di assemblaggio, senza tuttavia impegnarsi a collaudare alcun manufatto completato dalla sua linea di montaggio[41]; in ragione di ciò Perotto, con due collaboratori, si recò in fabbrica quando furono pronti gli imballaggi con i primi esemplari assemblati e li aprì a uno a uno per collaudarli personalmente ed eventualmente correggere errori[41]; fu così possibile far partire per il Nordamerica un lotto di macchine senza problemi di funzionamento[41]. La produzione ebbe un notevole impulso quando la General Electric, che da qualche anno era in joint-venture con la divisione elettronica Olivetti, in una nuova società chiamata OGE (della quale gli statunitensi detenevano il 75% del capitale sociale), manifestò la sua intenzione di uscire dal mercato dell'"office", essendo interessata solo ai computer; questo spinse molti progettisti e ingegneri, che erano rimasti con tutta la loro struttura "office" nella nuova società, a rientrare nella Olivetti, e che, dopo l'impennata degli ordini della Programma 101, si stava avviando a essere il ramo vincente dell'azienda[41].
Le vendite ebbero talmente successo che alla fine del 1966 la Underwood, ditta statunitense controllata dalla Olivetti, chiese di poter fabbricare le macchine sul suolo degli Stati Uniti al fine di poter rifornire anche gli uffici delle amministrazioni federali di quel Paese[AP 7]. Nel frattempo, già dal marzo 1965, era stato depositato presso il competente ufficio statunitense il brevetto sulle soluzioni tecniche adottate del calcolatore[26][42]; la manovra si rivelò essere opportuna perché la società concorrente Hewlett-Packard produsse, sull'idea costituiva della P101, un analogo dispositivo di largo consumo, l'HP 9100A[26]; successivamente, quando le fu contestata la violazione di brevetto, la compagnia statunitense addivenne a un accomodamento extragiudiziale, riconoscendo a Olivetti un compenso a titolo di royalty di 900.000 dollari[26][27].
Furono venduti circa 44 000 esemplari, il 90 per cento dei quali sul mercato nordamericano.[43]
Alcune[44] Programma 101 furono vendute alla NASA e utilizzate per pianificare lo sbarco dell'Apollo 11 sulla Luna[44].
La Programma 101 fece parte del sistema di calcolo balistico dell'aeronautica statunitense per i bombardamenti con i B-52 durante la guerra del Vietnam.[45]
Olivetti promosse anche l'utilizzo della macchina nelle scuole italiane.[46]
Vi sono inoltre una piccola stampante alfanumerica utilizzata come periferica di output, una tastiera utilizzata come periferica di input ed un sistema di salvataggio per dati e programmi su cartolina magnetica.
La presenza di questo sistema di salvataggio permette di richiamare programmi precedentemente creati semplicemente introducendo la scheda magnetica corretta, senza doverli riscrivere ogni volta che si accende la macchina.[5]
Questo sistema di salvataggio non può però essere considerato una vera memoria di massa, vista la capacità molto limitata (soprattutto per quanto riguarda i dati) e la gestione completamente manuale.[AP 8][non è la gestione che fa di una memoria di massa]Nonostante qualche limite, il sistema a schede magnetiche piacque e i produttori americani di calcolatrici tascabili lo usarono sui loro modelli di punta fino agli inizi degli anni ottanta. Due esempi significativi sono la HP-67 (1976) e la TI-59 (1977).
Descrizione analitica
Layout della tastiera
Design
Il progetto dello châssis fu affidato inizialmente a Marco Zanuso e in seguito a Mario Bellini, all'epoca giovane architetto, in quanto Perotto si era accorto che la soluzione iniziale progettata da Zanuso prevedeva un grande ingombro, incompatibile con le esigenze di uno strumento da scrivania[47].
Bellini ideò una struttura in alluminio profilato, al fine di evitare interferenze con altre apparecchiature elettriche,[43], e il peso finale di tutto l'apparato fu di circa 35 chilogrammi.
Alcuni esemplari di P101 sono tuttora esposti in musei come esempi di design innovativo (ad esempio, il MoMA di New York)[43].
Operazioni: somma, sottrazione, moltiplicazione, divisione, radice quadrata e valore assoluto
Memoria complessiva: 240 byte nella ALU (stimata)[AP 9]
Tastiera: 36 tasti meccanici
Archivio: apparecchio per lettura e scrittura di schede magnetiche
Architettura
Generalità
La Programma 101 opera solo su tipi di dati numerici decimali. Le applicazioni pratiche della P101 spaziavano dalla contabilità alle simulazioni scientifiche e finanziarie.
Il calcolatore utilizza una notazione superficialmente simile alla notazione polacca inversa (RPN), ma in realtà funziona diversamente. Non è infatti dotato di stack e tentare di usarlo come calcolatrice RPN porta a gravi errori.[48]
operazioni con i registri: azzeramento, spostamento di dati tra di essi, lettura dall'utente;[49]
definizioni di etichette di riga, salti condizionati e incondizionati;
stampa del valore di un registro e di righe vuote.
Dettaglio del set di istruzioni
Comando
Simbolo
Spiegazione
Addizione
+
A = A + il registro scelto
Sottrazione
-
A = A - il registro scelto
Moltiplicazione
x
A = A * il registro scelto
Divisione
:
A = A:registro scelto
Radice quadrata
√
A = sqrt(registro scelto)
Valore assoluto
A ↕
A = abs(a)
Spostamento da M
↑
registro scelto = M
Spostamento in A
↓
A = registro scelto
Scambi con A
↕
A = registro scelto registro scelto = A
Decimali di A in M
/ ↕
M = parte decimale di A
Azzeramento
*
registro scelto = 0
Stampa
♢
Stampa il registro selezionato
Interlinea
/♢
Stampa una linea vuota
Stop
S
Ferma la macchina per permettere l'inserimento di un dato nel registro M
Scambio di R e D
RS
Permette di salvare il contenuto del registro D ed inserirlo nel registro R, usata quando si cambia o si ruota la cartolina magnetica ad esecuzione in corso
L'unità centrale dispone di dieci registri, identificati da numeri e lettere: tre sono di calcolo (A, M, R), due di memoria dati (B, C), altri tre di memoria dati e/o memoria di programma (D, E, F, ripartibili a seconda dell'esigenza) e due (chiamati 1 e 2) riservati alla memorizzazione del programma.[51] Uno dei tre registri di calcolo, quello identificato dalla lettera "M" immagazzina i dati ricevuti dalla tastiera e scambia informazioni con gli altri registri.
Ogni registro della P101 può contenere 24 istruzioni composte ognuna da un carattere e un simbolo, da un numero con al massimo 22 cifre o da due numeri con al massimo 11 cifre (con segno e virgola).
Periferiche di output
Cartolina magnetica del Programma 101
La stampa dell'output avviene su un nastro di carta comune. I programmi vengono memorizzati su schede delle dimensioni di 7 centimetri di larghezza per 24 di lunghezza[52], che ospitano due piste magnetiche. Tali piste sono leggibili una alla volta, inserendo la scheda nell'apposito lettore prima in un senso e poi nell'altro.
Il lettore è a controllo esclusivamente manuale. Non è possibile quindi leggere o scrivere automaticamente una scheda, neanche creando un programma che faccia ciò; per farlo bisogna impartire il relativo comando manualmente. D'altronde una gestione automatica delle schede avrebbe aumentato di molto la complessità della macchina[senza fonte].
Le schede sono pensate principalmente per memorizzare programmi: ogni singola pista magnetica può memorizzare infatti fino a 120 passi di programma. Se si sceglie di memorizzare anche dati numerici si scende però ad un massimo di 48 passi, e anche in quest'ultimo caso i numeri memorizzabili sono al massimo sei.[AP 11][52][53]
Modello di calcolo
Ognuna delle due piste delle cartoline magnetiche può memorizzare programmi comprendenti fino a 120 istruzioni. Sono possibili programmi con più di 120 istruzioni utilizzando entrambe le piste di una scheda magnetica e/o più schede e cambiando e/o girando la scheda a programma in esecuzione dopo aver salvato i dati temporanei del programma in esecuzione nei registri di memoria[AP 12][52] (programmazione "ad overlay")[54][55].
Sono possibili subroutine[56], richiamabili sia manualmente (usando i tasti V,W, Y e Z)[57] che da programma.
Sistemi derivati
Una Programma 102
I primi derivati diretti della Programma 101 furono la Programma 102 e la Programma 203: la prima, praticamente identica alla P101, aggiungeva la capacità di scambiare dati con dispositivi esterni attraverso una connessione proprietaria; la Programma 203 integrava invece le capacità di calcolo con quelle di una macchina da scrivere elettronica.
Versione ridotta della P101 è la Logos 328 (1968), calcolatrice elettronica non programmabile.
Evoluzioni della P101 sono l'Olivetti P602 e P652, con funzioni matematiche migliorate, l'inserimento di alcuni programmi in ROM e registri più capienti.
Simulatori
Negli anni sono stati sviluppati diversi simulatori di programma 101:
1976 - Traduttore da programma 101 a BASIC scritto da Steven DeRose alla The Prairie School, usato per insegnare programmazione prima di BASIC[58]
2005 – Simulatore scritto da Ing. Claudio Larini, il quale ha avuto contatti con Gastone Garziera, ingegnere della P101 [60]
2016 – Simulatore di Programma 101 sviluppato al Department of Information Engineering and Electrical Engineering dell'University of Cassino, supervisionato dall'Ing.Giovanni De Sandre[61]
L'ex impiegato Olivetti Marco Galeotti ha creato un integrated development environment (IDE) per la Programma 101, che permette di programmare in modo semplice.[63]
Filmografia
Alessandro Bernard e Paolo Ceretto, Quando Olivetti inventò il PC, History, 26 giugno 2011. Documentario televisivo.
Note
Approfondimenti
^La macchina è priva di memoria indirizzabile, quindi non ha senso parlare di memoria RAM, al massimo di memoria primaria. Esistono solamente dei registri di memoria nella ALU, la cui capacità totale si può stimare in 240 byte.
^IBM definisce il primo set di caratteri nel 1954, per il calcolatore IBM 704, e già nei tardi anni cinquanta gli esperti si aspettano che un computer sia in grado di memorizzare ed elaborare dei testi,
^L'enciclopedia (vol. II, p. 507) pubblica una foto a colori della P101 parlando nella didascalia di "calcolatrici elettroniche". La voce relativa (Calcolatrici, macchine) distingue tra "Macchine calcolatrici elettroniche" (gli odierni computer) e "calcolatrici elettroniche" (calcolatrici che usano circuiti elettronici).
^I raggruppamenti dei sistemi di elaborazione in categorie omogenee nascono solo dopo anni che i prodotti stessi sono sul mercato. Al momento della presentazione di un nuovo prodotto sul mercato, la terminologia usata è la più varia e colorita, anche in funzione promozionale. Seguendo la terminologia pubblicitaria di presentazione Altair 8800 andrebbe ad esempio catalogato come "minicomputer" mentre non si saprebbe bene dove collocare il PDP-8, definito dal produttore in modo assai generico: la sigla "PDP" sta infatti per "Programmed Data Processor" (Elaboratore di dati programmabile), e la macchina viene definita "High-speed digital computer" (Calcolatore digitale ad alta velocità).
^Scrivendo il necrologio di Perotto nel 2002 ( Pier Giorgio Perotto, su The Independent.), Campbell-Kelly pareva avallare la tesi che la Programma 101 fosse il "primo personal computer". In realtà lo storico non prende una posizione netta:[senza fonte] da un lato riconosce dei meriti alla macchina, dall'altro dice che non era all'altezza di un vero computer, lasciando intendere che la definizione di "primo personal computer" fosse figlia di un eccessivo entusiasmo degli italiani.[senza fonte] Nella sua valutazione a caldo, Campbell-Kelly oltretutto afferma che il "Premio Leonardo Da Vinci" venga dall'omonimo museo, mentre in realtà, come riferisce il Dizionario biografico degli italiani, era assegnato da un'associazione di categoria. Questa convinzione erronea potrebbe aver reso Campbell-Kelly più indulgente, vista la notorietà del museo in Italia.[senza fonte]
(EN)
«[..] Perotto, has long been heralded in Italy as "father of the PC"
[..] Although falling short of a true computer, the Olivetti machine's low cost and desk-top convenience made it a must- have for people who worked with numbers everywhere.
In 1991, he was honoured by the Leonardo da Vinci Museum of Science and Technology, Milan, as the creator of the Programma 101 – arguably the world's first personal computer (though perhaps only in Italy would this be argued very strongly).»
(IT)
«"[..] Perotto, è stato da tempo proclamato in Italia "padre del PC"
[..] Sebbene non fosse all'altezza di un vero computer, il basso costo e la praticità della macchina Olivetti ne fecero un must per le persone che lavoravano con numeri dappertutto.
Nel 1991 venne premiato dal Museo della Scienza e della Tecnologia Leonardo da Vinci di Milano come ideatore del Programma 101 - probabilmente il primo personal computer al mondo (anche se forse solo in Italia questo sarebbe sostenuto con gran forza).»
(M. Campbell-Kelly, Giorgio Perotto, The Independent, 5 febbraio 2002)
^Le schede perforate prese singolarmente hanno capacità limitata, ma le periferiche di lettura/scrittura ne gestiscono migliaia per volta. I nastri, sia magnetici che perforati, hanno invece già di per sé una capacità di memorizzazione relativamente elevata.
^Olivetti non fornì mai cifre in bit o byte (che del resto nel 1964 erano più comunemente a 6 (sextet) che a 8 bit (octet). La stima si basa sulla supposizione che ognuno dei 10 registri possa teoricamente contenere 24 comandi, ciascuno, secondo il brevetto della macchina, composto da un byte di 8 bit.
^Perotto (1995), p. 42 presenta la memoria "magnetostrittiva" quasi come se fosse un'idea del suo gruppo. In realtà la memoria a linea di ritardo era stata ampiamente usata prima dell'avvento della memoria a nuclei di ferrite (non solo in "alcuni progetti speciali" come dice Perotto) ed era stata brevettata da Eckert e Mauchly nel 1947 (vedi brevetto US2629827). Nel 1965 il brevetto era ancora in vigore, come si scopre da Google Patents
^Con di numeri con 11 cifre. Utilizzando 22 cifre si scende a tre.
^I registri M, R, A, B e C non vengono sovrascritti dalle operazioni di lettura della scheda.
Citazioni
^abc Michele Pacifico, Giorgio Perotto, in Dizionario biografico degli italiani, vol. 82, 2015.
^abc
(EN) 'Desk-top' computer is typewriter size, in The Business Week, 23 ottobre 1965.
^abc(EN) Olivetti Programma 101 computer, 1965 - 1971, su powerhousemuseum.com, Powerhouse Museum Collection, 2008. URL consultato il 29 ottobre 2013 (archiviato dall'url originale il 13 novembre 2016).
(EN) Michael Swaine e Paul Freiberger, Fire in the Valley, 3ª ed., 2014, ISBN978-1-937785-76-5.
(EN) Martin Campbell-Kelly, William Aspray e al., Computer - A history of the information machine, 3ª ed., 2013, ISBN978-0-8133-4590-1.
(EN) John McCarthy, Information (PDF), in Computers and Computation - Readings from Scientific American, Freeman, pp. 7-15, ISBN0-7167-0936-8. Ospitato su www.rsp-italy.it.