ENIGMA, ENIAC & CO RACCONTANO

 

 

Continuando ancora sul filone elettromeccanico, è d’obbligo raccontare di una triade di macchine che ebbero a che fare con un “affare molto grosso”. Durante la II Guerra Mondiale, l’esercito tedesco cominciò ad utilizzare un piccolo marchingegno a rotori a disco2, chiamato ENIGMA, inventato dall’ingegnere tedesco Arthur Scherbius, brevettato nel 1918, del quale poi  seguirono più versioni. Di base Enigma appariva come una macchina da scrivere con un doppia tastiera, una dove digitare il messaggio, l’altra che si illuminava in corrispondenza del carattere sostitutivo con cui sarebbe stato scritto il testo cifrato. I tre rotori al suo interno, cablati tra loro, disponevano ciascuno di 26 contatti, uno per ogni lettera dell’alfabeto tedesco, su ogni faccia dette lato “L” e lato “R” (sinistro e destro). Ad ogni giro completo del primo disco, il quale ruotava ad ogni pressione di tasto, scattava di un contatto il secondo e così il terzo in rapporto al secondo. Di fianco al lato “R” del terzo rotore poi vi era un elemento detto  “riflettore”, di fatto un quarto rotore ma con i contatti solo dal lato “L,  l’elemento chiave per la decodificazione dei messaggi. Quando l’operatore premeva un tasto, un segnale elettrico passava da rotore a rotore fino al riflettore e quindi tornava indietro fino a mostrare una lettera illuminata che era il carattere cifrato. Non esisteva possibilità di stampa, dunque l’operatore doveva copiare a mano, carattere per carattere il messaggio cifrato da trasmettere.

Prima la Marina Militare tedesca nel 1926 ed, in seguito, nel 1929 l’Esercito Nazista e  tutti i corpi della difesa tedesca acquistarono dei macchinari Enigma per salvaguardare le loro comunicazioni. La versione fornita all’Esercito (la G) presentava una plugboard frontale dove si potevano inserire degli spinotti che permettevano di implementare il lavoro dei rotori scambiando ulteriori lettere (dieci con altre dieci) a scelta, o meglio a seconda della scelta dei comandanti i quali ogni giorno davano delle disposizioni sull’impostazione che le macchine dovevano utilizzare. Tali informazioni erano contenute in un cifrario-calendario fornito ad  ogni unità che utilizzasse Enigma. Questa pratica serviva anche per decodificare senza errori i messaggi quotidiani impostando adeguatamente il “riflettore”.

Enigma sembrava indecifrabile e imbattibile; Addirittura pare che i francesi non vollero nemmeno provare a decifrarla. I polacchi però, avendo intuito il loro destino di primo bersaglio della Germania e avendo quindi compreso l’importanza che avrebbe avuto Enigma nella loro strategia, decisero invece di studiare un decodificatore. Nel 1932 grazie a Marian Rejewski alla guida dell’intelligence polacca e alla sua BOMBA (bomba kryptologiczna), raggiunsero dei risultati. La Bomba, completata nel 1938, era un calcolatore abbastanza rudimentale e anch’essa aveva nel suo sistema di ingranaggi dei rotori. Era formata da vari moduli che erano come dei veri e propri armadi alti un metro e novanta, larghi due metri e dieci per sessanta centimetri di profondità; dentro ognuno di questi vi erano 108 rotori più tre di controllo, suddivisi in dodici file, che macinavano sequenzialmente numeri fino alla soluzione giusta, attraverso il cosiddetto metodo della forza bruta”detta anche della “ricerca esaustiva”, il quale si basava su di un algoritmo che calcola tutte le combinazioni possibili fino a trovare quella esatta. La Bomba, chiamata così, sembra, per il ticchettio emesso mentre calcolava, decrittò dal 1932 al 1937 almeno il 75% dei messaggi nemici, ma non appena Enigma venne aggiornato con un sistema da tre a cinque rotori, la “macinanumeri” divenne di fatto inefficace. Comunque non furono solo i tedeschi e polacchi ad incontrarsi/scontrarsi con Enigma. La macchina da scrivere truccata in realtà divenne molto popolare durante la II Guerra Mondiale e la utilizzarono anche in Svizzera, Russia, Giappone. Quella giapponese, modello Enigma T detta Tirpitz,  ad esempio, era una versione modificata di quella Svizzera, la K, la quale a sua volta derivava dalla D, quella usata dall’esercito Italiano. Enigma divenne un elemento chiave dunque durante il secondo conflitto mondiale, tanto che le decrittazioni riuscite venivano chiamate “ULTRA” proprio per enfatizzare la loro importanza.

Quando i Britannici entrarono in guerra, diedero una svolta alla questione Bomba vs Enigma. Si misero al lavoro i gruppi di matematici di Bletchley Park,  sede del Centro di Crittografia del Regno Unito detto anche “stazione X” e Tommy Flowers con la collaborazione del già conosciuto Alan Turing, il quale dopo i suoi studi alla MdT, poté finalmente vedere realizzato il primo elaboratore elettronico e programmabile. Nel dicembre 1943, sulla base della Bomba di Rejewski creata per sconfiggere Enigma e della macchina creata anch’essa al Bletchley Park da Max Newman, per tradurre i messaggi della nuova Lorenz SZ40/42 utilizzata da Hitler per comunicare con i suoi capi di stato, nacque COLOSSUS, nella sua prima edizione “Colussus Mark 1”, tra febbraio e giugno del 1944 la seconda “Colossus Mark 2”, giusto in tempo per lo sbarco in Normandia. La rivoluzione di Colossus stava nell’utilizzo per la prima volta in un calcolatore delle “valvole termoioniche3, dette anche “tubi a vuoto”, che fino ad allora venivano usate soprattutto negli amplificatori. Colossus ne conteneva 1500 che rispetto ai relè elettrici usati fino a quel momento, conferivano una maggiore potenza di calcolo e rapidità di trasmissione degli impulsi elettrici. Altra caratteristica fondamentale poi era l’elaborazione dati tramite operazioni booleane: un flusso era il messaggio da codificare, l’altro era quello creato da Colossus al fine di trovare la chiave di codifica esatta confrontando i risultati. Quando uno di essi mostrava un’accuratezza maggiore rispetto alla soglia limite impartita al calcolatore, il risultato veniva stampato per mezzo di una macchina da scrivere automatica. Colossus poteva decifrare sia i documenti criptati di Enigma che quelli della Lorenz SZ40/42.

Poco prima di Flowers e Turing, negli Stati Uniti, più precisamente nell’Iowa, veniva concepito un computer elettronico e digitale che calcolava in binario, con capacità multi-task (cioè di eseguire parallelamente più operazioni), in cui la parte dedita all’elaborazione e alla memorizzazione erano separate. Esso possedeva una regenerative capacitor memory, ovvero una memoria che sfruttava la capacità elettrica di conservazione di bit di dati attraverso un aggiornamento periodico che ne evitava la perdita. Quest’ultima era composta da un insieme di 1600 condensatori montati in un tamburo, che ruotavano una volta al secondo durante il funzionamento della macchina. Le capacità erano organizzate in banchi di 32 per 50 condensatori (30 attivi e due di riserva in caso di guasti) dando alla macchina la capacità di effettuare 30 addizioni/sottrazioni al secondo. I dati erano memorizzati come numeri in virgola fissa di 50 bit e la parte aritmetica della macchina era in grado di gestire fino a 60 numeri contemporaneamente (3000 bit). Il segnale periodico che sincronizzava le funzioni dei dispositivi componenti, detto “clock”, era di 60 Hz (60 impulsi al secondo).

Questo calcolatore veniva spesso chiamato ABC, un acronimo che sta per Atanasoff-Berry Computer concepito e costruito tra il 1937 e il 1942 presso il dipartimento di Fisica dell’Iowa State University. I suoi creatori, il dottor John Vincent Atanasoff e il suo collaboratore il dottor Clifford E. Berry, però lo concepirono come  calcolatore di equazioni lineari, quindi non era programmabile. Ne crearono un prototipo in scala ridotta nel 1939, con una forma simile ad una scrivania; pesava circa 320 chilogrammi e conteneva circa 1,6 chilometri di cavi, 280 valvole termoioniche e 31 thyratron4. Nei due anni seguenti testarono e costruirono la versione ufficiale terminata nel Gennaio 1941.

Nonostante l’ABC e i Colossi fossero entrambe macchine elettroniche e calcolassero in binario o utilizzando l’algebra di Boole, non erano macchine Turing complete. Una macchina Turing completa esisteva già in quegli anni, anche se poté essere dimostrato solo nel 19985; non era elettronica, ma elettromeccanica ed era stata creata in Germania dall’ingegnere civile Konrad Zuse, che nel 1938, quando assunto come designer alla Henschel, la fabbrica di velivoli dell’aeroporto di Shönefeld a Berlino si ritrovò a dover svolgere molti, ripetitivi, noiosi, calcoli a mano. È proprio allora che maturò l’idea di farli svolgere a “qualcun altro”: inventò lo Z1, una macchina a programmazione limitata. Z1, composto da 30.000 pezzi in metallo, leggeva una pellicola a 35 millimetri perforata e calcolava in base binaria. Nonostante non lavorasse molto bene a causa della sua meccanica non abbastanza precisa (data l’epoca), Konrad riuscì comunque a depositare due brevetti. Lo Z1, distrutto come i suoi disegni tecnici durante la II G.M., fu seguito da Z2, Z3 e Z4. In particolare, nel 1939 Zuse, dopo che fu assunto e finanziato dall’esercito tedesco, creò lo Z2, che era di fatto come il suo predecessore, ma utilizzava relè telefonici come memorie e unità di calcolo (ad una frequenza quindi da 5 a 10 Hz). Fondata poi la “Zuse Apparatebau” (Costruzioni Apparati Zuse) nel ‘41, egli svilupperà, con la collaborazione di Helmut Schreyer, lo Z3 che calcolava sempre in base binaria, conteneva 2.200 relè, era programmabile con comandi a 22 bit che poteva eseguire a loop (non erano però eseguibili salti condizionati nelle elaborazioni) e permetteva di eseguire alcune operazioni in parallelo riducendo così i tempi di calcolo. La compagnia di Zuse insieme allo Z1,Z2 e Z3 fu distrutta dai bombardamenti degli alleati nel 1945. Il lavoro sullo Z4 invece venne interrotto dal 1942 al 1949 a causa della guerra, mentre la parte parzialmente costruita fu messa al sicuro per tutto quel periodo; lo Z4 era ancora composto da relè, nonostante il socio Schreyer gli avesse consigliato l’uso dei tubi a vuoto, come invece facevano già nella costruzione dei Colossus; Zuse aveva definito quest’idea folle (Schnapsidee).

 

Per incontrare la prima vera macchina elettronica con tutte le caratteristiche necessarie ad essere definita Turing completa, dobbiamo cambiare continente restando comunque in quegli anni. Studiata come macchina per calcolare le tavole di tiro del corpo aereo dell’esercito, ma in grado di farlo a guerra però già conclusa, nel 1946 presso il Ballistic Research Laboratory (BRL) dell’U.S. Army, venne terminato ENIAC (Electronic Numerical Integrator And Calculator), il quale verrà soprannominato “Giant Brain”(cervello gigante). Non poteva esserci nomingnolo più azzeccato. Questo calcolatore, concepito da John W. Mauchly e J. Presper Eckert e costruito con l’aiuto di un numeroso team6, pesava quasi 30 tonnellate e occupava una superficie stimata attorno ai 170 metri quadrati, una dimensione anche ragionevole se si considera che era formato da un complesso di 42 pannelli, delle dimensioni medie di 8 piedi d’altezza, 2 di larghezza e uno di profondità (per cui circa 240x60x30 centimetri). Comprendeva anche altri cinque pannelli “portatili”di misure più ridotte, i quali eseguivano ognuno un tipo di operazione; venti in particolare fungevano da accumulatori, sottrattori/addizionatori e soprattutto tenevano in memoria complessivamente fino a 20 numeri di dieci cifre, di base decimale (uno per pannello). Pur essendo una macchina digitale, infatti, calcolava in base decimale e la sua velocità era pari a mille volte di quella di un calcolatore meccanico. Le componenti esterne, ovvero un lettore di schede perforate per l’input, una punzonatrice per le schede e i 1500 relè associati a questi ultimi erano tutti marchiati IBM. Disposto su tre pareti di una stanza del laboratorio che misurava 9×30 metri, conteneva circa 17.468 tubi a vuoto, 7200 diodi7, 1500 relè, 70.000 resistori, 10.000 condensatori e circa 5milioni di saldature, ovviamente realizzate a mano. Tutto questo insieme di elementi una volta accesi, disperdeva un’energia di 200 kW e portavano la stanza a temperature fino a 50°C, causando quindi danni alle valvole che si bruciavano in media un ogni due minuti. La prima volta che fu avviato causò un blackout nel quartiere ovest di Philadelphia. ENIAC costò circa $486.804,22 (circa 6milioni di dollari di oggi), anche se in realtà la cifra stimata all’inizio era circa un ottavo di quella poi spesa.

Il Cervello Gigante tuttavia non eseguiva un programma interno e la sua programmazione avveniva tramite cavi elettrici di collegamento sui pannelli, che dovevano essere ogni volta scollegati e ricollegati. Ogni configurazione consentiva al computer di risolvere un diverso problema. Una volta definite le istruzioni “su carta”, occorrevano anche alcuni giorni per “inserire” manualmente il programma nella macchina. Questo duro compito nel corso del progetto ENIAC, fu svolto per la maggior parte da sei persone, sei donne: Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas e Ruth Lichterman, le quali per le loro abilità matematiche e ingegneristiche vennero assunte per lavorare al BRL.

Nel 1971 Jennifer S. Light scriverà un saggio intitolato “When Computers Were Women”, richiamando proprio questo episodio, riscattando così il ruolo femminile nella storia della Tecnologia.

Il fatto che ENIAC non avesse un suo programma gestionale già memorizzato, non significava che l’idea non ne fosse stata però già concepita: infatti già il suo brevetto vedeva indicata questa caratteristica, ma i tempi durante la guerra erano molto ristretti, per cui la macchina funzionante doveva essere completa il prima possibile.

Tale caratteristica comportava sì una certa perdita di tempo per riprogrammarlo ogni volta, ma questo gli conferiva una certa versatilità; sarà ad esempio utilizzato oltre che per calcoli complessi, per censimenti, applicazioni scientifiche varie, tra cui una creata dal matematico John Von Neumann, per elaborare le prime previsioni meteorologiche a computer (operazioni che richiedevano l’elaborazione di 250.000 valori a virgola mobile e 24 ore di elaborazione).

Von Neumann non era solo un matematico che voleva prevedere il tempo, ma era colui che, ebreo di origine ungherese fuggito dalle persecuzioni naziste, stava lavorando alla Bomba ad Idrogeno presso Los Alamos.Venuto a conoscenza di ENIAC i rapporti divennero così stretti tra i due laboratori che il primo programma eseguito dal calcolatore, in realtà non fu un calcolo balistico per l’esercito, ma per la Bomba H, per un totale di un milione di schede tra quelle per gli input e gli output.

Ad ogni modo nei due anni successivi ENIAC fu implementato con un programma read-only (di sola lettura) già immagazzinato nella sua memoria. Era una primitiva forma di ROM (Read Only Memory), componente oggi data per scontata nella parte software di un Computer. La progettazione di questa ROM, che funzionava utilizzando le tabelle funzionali della macchina, venne inizialmente proposta dal Dr. Richard Clippinger del BRL, il quale per realizzarla si consultò proprio con Von Neumann. Il primo pensava ad un’”architettura” a tre indirizzi, il secondo ad un’architettura ad un indirizzo, più semplice da implementare. L’Architettura di Von Neumann è un tipo di strutturazione che regola la progressione delle attività logiche del computer. Questa architettura si distingue da quelle precedenti per la caratteristica di immagazzinare all’interno dell’unità di memoria sia i dati dei programmi in esecuzione che il codice di questi ultimi. Tutt’ora ci si basa su questo tipo di configurazione.

Lo stored-program (il programma immagazzinato) fu programmato, da Betty Jennings (che già giornalmente programmava ENIAC), Richard Clippinger e Adele Goldstine, moglie di Herman Goldstine (entrambi collaboratori alla stesura della prima versione del progetto della macchina nel 1943). La modifica apportata diminuì di sei volte la velocità di ENIAC che perse così la sua capacità di eseguire operazioni in parallelo, ma fece in modo che la programmazione richiedesse ore e non più giorni.

Fino al ‘54 ENIAC fu aggiornato e potenziato, con espansioni di memoria e la conversione da linguaggio decimale a binario. ENIAC eseguì calcoli di ogni tipo, ma nessuno di obiettivo militare fino al 2 ottobre 1955 quando, ormai obsoleto, fu trasportato e messo in esposizione al Smithsonian Institution Museum di Washington, dov’è tutt’ora. Ad ENIAC, che rimase un pezzo unico, seguirono l’EDVAC (Electronic Discrete Variable Automatic Computer) e l’EDSAC (Electronic Delay Storage Automatic Calculator), sulla base del quale verrà poi costruito il SEAC (Standards Eastern Automatic Computer).

L’EDVAC fu la seconda opportunità di avere un computer per la guerra, in quanto ENIAC, come già detto, nonostante fosse nato per essa, non venne mai usato per tali motivi. L’esercito voleva una macchina calcolatrice, per cui nell’agosto del 1944, ancora prima che ENIAC fosse terminato, Eckert e Mauchly proposero un nuovo progetto, che fu però montato e avviato solo tra il 1949 e il 1951 con il contributo di Von Neumann per la parte di programmazione.

La computazione di EDVAC avveniva stavolta in sistema binario, utilizzava un supporto su nastro magnetico, invece che su schede forate cartacee, per leggere e scrivere i dati; la sua memoria conteneva mille parole a 44bit, aveva un self-stored program e utilizzava un nuovo tipo di memoria, la Delay Line Memory (Memoria a Linea di Ritardo). Questo tipo di memoria richiedeva, come le altre memorie elettroniche, una periodica rilettura (refresh), ma a differenza di quelle ad accesso casuale (RAM, Random Access Memory) che verranno inventate nel decennio seguente, erano memorie ad accesso sequenziale, ovvero in cui le informazioni erano inserite come impulsi elettrici. La memoria traduceva il segnale in un’onda meccanica che si propagava lentamente in un mezzo ad elevata densità come il mercurio oppure in un cristallo piezoelettrico; il mezzo fisico era in grado di memorizzare da centinaia fino a migliaia di impulsi contemporaneamente. Una volta che le onde meccaniche raggiungevano la fine del mezzo (nel caso specifico mercurio), queste venivano convertite in impulsi elettrici e nuovamente reinserite nel mezzo. L’accesso a un dato richiedeva quindi l’attesa del passaggio del segnale e questo poteva chiedere diversi microsecondi. Questa memoria verrà usata anche per l’EDSAC e l’UNIVAC (UNIVersal Automatic Computer), uno dei primi computer realizzati, sempre da Mauchly ed Eckert, a scopo commerciale nel 1950.

Ispirato all’EDVAC, l’EDSAC era di fattura Britannica, costruito da Maurice Wilkes e il suo team all’università di Cambridge. Nel 1949 fu fatto girare il primo programma, che si occupava del calcolo delle tavole dei quadrati. L’EDSAC era capace di eseguire 650 istruzioni al secondo, una moltiplicazione in circa 4.5 millisecondi e una divisione in circa 200 millisecondi. Il suo consumo energetico era di 12 KW e occupava una superficie di 20 metri quadrati, una notevole riduzione di valori rispetto all’ENIAC di nemmeno dieci anni prima.

Ai tempi non era ancora stato definito un preciso linguaggio di programmazione. Su EDSAC le istruzioni erano immesse meccanicamente tramite una serie di interruttori e caricate nelle prime locazioni di memoria all’avvio. Nel maggio 1949 venne sviluppato il primo linguaggio ASSEMBLY che si avvantaggiava della progettazione mnemonica dell’EDSAC, ed era contenuto in esso in 31 word (comandi). Nel 1949 venne definita una prima forma di linguaggio Assembly, un linguaggio di basso livello, quindi vicino al linguaggio macchina (il binario), con ASSEMBLER, il software che codificava tale linguaggio e il computer riceveva le istruzioni. L’esecuzione dei suoi programmi utilizzava la struttura a SUBROUTINE, ovvero le istruzioni vengono scritte in un unico blocco, sono poi “richiamabili” (si dice infatti che la subroutine, o la routine viene “richiamata”, “invocata” o “attivata”) quando necessario in qualunque punto del programma, anche da programmi diversi. Inoltre EDSAC nel 1952  giocò al primo videogame: OXO, un programma che eseguiva il gioco del tris tra computer e giocatore umano. Il gioco fu ideato e sviluppato da Alexander S. “Sandy” Douglas che lo programmò come prova per la sua tesi di dottorato, sempre all’università di Cambridge, sull’”interazione Uomo-Computer”, un argomento questo che  avrà un ruolo fondamenta nella spinta all’evoluzione di tali tecnologie.

L’esempio nella storia più ricordato sarà poi la sfida a scacchi tra Deep Blue della IBM e il campionissimo di scacchi russo Garry Kasparov i quali affronteranno due sfide: la prima nel 1996 sarà vinta da Kasparov per 4 giochi a 2, la seconda nel 1997 invece sarà  vinta da Deep Blue per 1 punto (3½–2½).

Il primo computer con tutte le componenti base dei computer moderni, nonostante venisse considerato “piccolo e primitivo” anche da alcuni suoi contemporanei, fu il MANCHESTER SMALL-SCALE EXPERIMENTAL MACHINE (SSEM), soprannominato “Baby”, conosciuto anche come “Mark-1 Prototype”. Fu costruito alla Victoria University di Manchester da Frederic C. Williams, Tom Kilburn e Geoff Tootil ed eseguì il suo primo programma il 21 giugno 1948.

Utilizzava il “tubo Williams-Kilburn”, un tipo di memoria oggi non più utilizzata, che funzionava a raggi catodici che non si scontravano con uno schermo al fosforo lasciando un punto luminoso (persistenza luminosa), ma si basava sull’inversione di polarità del punto colpito dal raggio (il punto diventa positivo e l’area circostante negativa). La variazione di polarità veniva recepita per via elettrostatica da una piastra esterna la quale leggeva in continuazione i dati che venivano continuamente distrutti e riscritti. Un singolo tubo Williams poteva contenere tra i 512 bit e 1 kilobit (1000 bit) di informazioni, le quali erano accessibili in tempo costante e la velocità di esecuzione conferita da questo tipo di memoria era di 1,2 millisecondi per singola istruzione (molto maggiore rispetto a quelle che ancora contenevano componenti meccaniche). Il contro di questo tipo di tubi è il loro rapido deteriorarsi nel tempo, anche se furono comunque più apprezzati rispetto alle memorie a linea di ritardo dell’epoca.

Venne prodotto anche a livello commerciale in Europa, prendendo il nome di Ferranti Mark 1. In Italia fu il primo computer che venne importato; uno fu comprato dal CNR di Roma nel 1955.

 

A PROPOSITO DELL’ITALIA

In Italia i primissimi calcolatori arrivarono nelle principali università italiane: Roma, Milano, Torino, Bologna, Napoli, Pisa. Come poi era nella maggior parte dei paesi, l’immagine del computer era legata ad enormi e costosi complessi e governata da addetti in camice bianco, ma l’idea di creare un calcolatore italiano non fu frenata dal timore che incutevano questi giganti. Fu così che l’impresa Olivetti di Ivrea, nel 1952 iniziò la sua avventura elettronica aprendo un piccolo laboratorio di ricerca a New Canaan nel Connecticut in Usa; fino ad allora la Olivetti si era affinata nella produzione di calcolatrici meccaniche da tavolo, come per esempio la DIVISUMMA 14 del 1945. Nel 1955 la Olivetti avviò nel nuovo Laboratorio di Ricerche Elettroniche (LRE) aperto a Barbaricina (Pisa), poi trasferito a Borgolombardo (Milano), un progetto che nel 1959 aveva consentito di presentare l’Elea 9003, primo elaboratore realizzato in Italia che utilizzava la tecnologia dei semiconduttori e supporti a nastro magnetico. Lo sviluppo dei grandi elaboratori però richiedeva costosi investimenti e nel 1964 l’Olivetti cedette il 75% della sua Divisione Elettronica alla General Electric. L’uscita dalla grande elettronica non impediva alla Olivetti di conservare un piccolo gruppo di studio e progettistica, affidato all’ingegner Pier Giorgio Perotto, per applicazioni che oggi si chiamerebbero di “informatica distribuita”.

Nella primavera del ‘62 Roberto Olivetti, responsabile dell’area elettronica dell’Olivetti, aveva incaricato Perotto di avviare lo studio di fattibilità di una macchina da calcolo elettronica, dotata della capacità di automatizzare la sequenza delle singole operazioni con cui si effettuavano i vari calcoli richiesti. Avrebbe dovuto essere alla portata di un utente generico, non esperto di elaborazione dati elettronica, e avere dimensioni comparabili con quelle delle macchine da calcolo meccaniche che gi. la Olivetti creava (“misura Divisumma”). Iniziava così il progetto che avrebbe portato alla Programma 101 (detta anche P101), un computer da tavolo programmabile utilizzando schede magnetiche e con una piccola stampante incorporata, che viene considerato l’antesignano del personal computer. Infatti, nel ‘65 presso l’esposizione della BEMA (Businnes Equipment Manifactures Association) di New York, il successo della P101 fu grandissimo e inatteso e proprio qui ricevette l’appellativo di “First World Desktop Computer”.

Poteva essere l’inizio di una leadership indiscussa dell’Olivetti nel personal computing, ma a causa della cessione della Divisione Elettronica alla General Electric, le risorse elettroniche in Olivetti erano quasi azzerate e non consentivano immediati sviluppi di ampio respiro. Il bagaglio di conoscenze acquisito con la P101 venne trasferito in prodotti derivati, come la P203 (1967) utilizzata prevalentemente per applicazioni commerciali e ottenuta collegando una P101 alla macchina per scrivere Tekne 3, o come la Logos 328, la prima calcolatrice elettronica Olivetti che in pratica è una P101 senza il programma. Il P602P603, diretti successori di P101 e di P203, realizzati a circuiti integrati ma ancora con memoria a lms, arrivarono sul mercato tra il 1971 e il 1973, ma il loro ciclo di vita fu limitato dall’incalzante sviluppo della tecnologia e della concorrenza. Purtroppo l’Olivetti aveva perso la sua occasione.

 

Dal 1947 nei Bell Laboratories di Murray Hill nel New Jersey, arriva il transistor, un elemento elettronico che dà il via al rimpicciolimento delle macchine. Il transistor funziona come interruttore o amplificatore di segnale in un qualsiasi circuito elettronico (analogico o digitale). Il suo utilizzo nelle macchine da calcolo porta alla sostituzione dei pi. ingombranti tubi a vuoto; il suo funzionamento oltretutto è molto simile, tranne per il fatto che le particelle invece che muoversi nel vuoto, si muovono nel solido, ovvero in un materiale semiconduttore (il silicio, il germanio e l’arseniuro di gallio ad esempio sono semiconduttori, anche se oggi solo il primo viene utilizzato), tanto che fu anche chiamato triodo allo stato solido. Il primo computer implementato in gran parte con transistor fu il TX-0 (Transistorized eXperimental computer ZERO), Tixo per gli amici. Creato e sperimentato nei Lincoln Laboratory presso l’MIT e attivato nel 1956, era la versione ridotta, proprio perché funzionante a transistor invece che a valvole termoioniche, di WHIRLWIND (1947) un simulatore di volo, creato da Jay ForresterRobert Everett per l’esercito, nonché primo computer con cui si lavorava “in tempo reale”. In questo sistema la risposta era intrinseca al problema da risolvere prima che essere caratteristica della soluzione trovata, per cui si precludeva che il’apparato reagisse ai mutamenti esterni, o meglio del sistema che sta computando. Infatti se si pensa al controllo del volo di un aereo non può nel frattempo fare altri calcoli, se non monitorarne e valutarne continuamente, istante per istante lo stato. Anche se entrambi mostravano i risultati su uno schermo di 7×7 pollici (512×512 pixel di risoluzione), Whirlwind occupava un intero piano del laboratorio, mentre Tixo ne occupava solo una stanza.

È necessario parlare di Whirlwind, non solo per la sua natura di macchina operatrice in real-time, ma soprattutto per il suo essere connesso a SAGE (Semi Automatic Ground Environment), un sistema di difesa ON-LINE con connessioni via modem, progettato inizialmente per la difesa dagli aerei nemici, che però fu pronto quando la minaccia aerea era ormai sostituita dalla minaccia balistica dei missili intercontinentali. Serviva un sistema che sostituisse i radar che oramai non erano più in grado di affrontare da soli le nuove tecnologie dei mezzi militari che erano più veloci e delle armi che stavano diventando sempre più “intelligenti”. Sia l’MIT che l’IBM contribuirono al progetto: l’IBM rese disponibile un computer (l’AN/FSQ-7), le valvole termoioniche e i nuclei di ferrite delle memorie del computer acquistando così molta più visibilità nell’ambito informatico. All’MIT invece George E. Valley, professore di fisica, concepì il fatto che nel caso di un raid aereo occorreva un sistema automatico che connettesse tutti i radar ad un computer e che questo monitorasse in tempo reale il flusso di informazioni fornite per individuare molto più rapidamente un obiettivo da attaccare e alleggerire così anche il lavoro degli addetti. L’unica macchina all’epoca che sarebbe stata in grado di farlo era appunto Whirlwind. La versione di prova per verificare che il SAGE avrebbe potuto funzionare, venne identificata come CAPE COD SYSTEM, in quanto i radar connessi via telefono utilizzati erano situati a Cape Cod nel New England (USA). SAGE, resterà in uso fino agli ultimi anni ‘80.

Tornando al TX-0, si può dire che esso per l’epoca era un vero e proprio supercomputer: poteva contenere 64.000 parole a 18 bit e inoltre per la prima volta non utilizzava schede perforate, ma solo un sottile nastro di carta il quale veniva perforato tramite l’uso di un flexowriter, sostanzialmente una macchina da scrivere automatica che oltre a scrivere era in grado appunto di punzonare. Tutto questo era possibile farlo stando comodamente seduti. Il passaggio del “programma” veniva in un certo senso monitorato poi visivamente e acusticamente: infatti il TX-0 era provvisto di altoparlante e, a seconda della fase del programma in cui processava Tixo, questo emetteva dei suoni e addirittura, dopo un po’ di esperienze sulla consolle, si poteva anche capire effettivamente come e se stava elaborando il programma. A questo proposito un hacker dell’MIT, di nome Peter Samson, scriverà addirittura un programma per controllare l’elaborazione dei singoli bit dei 18 che componevano i comandi, governandone così la resa sonora, insomma, riuscì a suonare Tixo. Nel TX-0, venivano utilizzati solo 2 bit per le istruzioni per cui la macchina disponeva solo di quattro istruzioni, che consentivano di memorizzare un dato, sommarne altri e effettuare un salto. La quarta istruzione consentiva di accedere a una seconda serie di istruzioni che potevano essere utilizzate singolarmente o collegate. Nonostante da questo punto di vista fosse limitato e come tutti i computer dell’epoca avesse poca memoria (4K) , all’MIT il TX-0 divenne un culto. Gli studenti facevano a gara per riuscire a “metterci su le mani”, digitare “codici sempre più corti”, migliorare e rendere più efficiente la macchina, giocare a scacchi…

A seguito di TX-0 vi furono TX-1 e TX-2, ma il progetto ebbe vari problemi e il principale era che molti al laboratorio si focalizzarono sul nuovo diretto discendente di Tixo, il PDP-1 (Programmed Data Processor-1). Il PDP-1 non era altro che una versione rinnovata del TX-0. Commercializzato nel 1960, venne fornito all’MIT nel 1961, dalla Digital Equipment Corporation (DEC), della quale era allo stesso tempo il primo computer prodotto. La novità del PDP-1 era l’essere focalizzato sull’interattività con l’utente piuttosto che sulla efficienza dei cicli della macchina. Cambierà il modo di pensare i computer consentendo a più persone di accedere alle macchine e condurre direttamente lo sviluppo di nuovi sistemi operativi e interfacce. Essendo un computer commerciale, quindi, ad un prezzo non eccessivamente “galattico”, venne acquistato anche da laboratori e imprese diverse dall’università, consentendo la diffusione del “computing”.

Il PDP-1 era un minicomputer, tutto il suo hardware stava in tre armadi poco più profondi di un frigorifero e si lavorava dietro una comoda consolle dove si trovavano un flexowriter, il pannello di controllo con luci e interruttori e uno schermo a tubo catodico tondo, di 16 pollici di diametro e una risoluzione di 1024×1024 pixel, che stava dentro una cornice esagonale blu brillante provvisto di una penna luminosa. Lo schermo era graficamente evoluto per quegli anni, mostrava caratteri o “immagini” in verde su nero, non per nulla sarà un ottimo mezzo per applicazioni grafiche oltre che per ricerche scientifiche e sperimentazioni del sistema “Timesharing”, ovvero dell’utilizzo multiutente e multitasking (con più applicazioni attive parallelamente) della macchina. La capacità interattiva del PDP-1 porterà gli studenti dell’MIT, letteralmente innamorati di questo gioiello tecnologico, a scrivere “SPACEWAR!”, quello che viene considerato comunemente il primo videogioco, anche se in realtà il primo tentativo come detto fu OXO per l’EDSAC.

Questi sono i computer attorno ai quali si formerà definitivamente l’etica hacker, ma anche le parti antagoniste vanno ricordate, in quanto fondamentali per definire cosa per un hacker non si doveva fare.

Nei paragrafi precedenti si è accennato alla nascita nel 1911 dell’IBM (International Business Machines), la quale per decenni sarebbe stata un’azienda molto potente, all’avanguardia e detentrice di molte invenzioni e brevetti nel campo delle tecnologie; non solo dei computer, ma anche in quelle più quotidiane: le bande magnetiche per le tessere e il bancomat, il SABRE (Semi-Automatic Business-Related Environment) cioè il sistema informatico di prenotazione e prevendita dei biglietti aerei, del treno o per le prenotazioni negli hotel. Perfino il nome comune “PC” usato per indicare le macchine che oggi si tengono sulle gambe, a volte scottandole, deriva da un modello dell’IBM. Inoltre, IBM compì esperimenti e ricerche sull’intelligenza artificiale con esempi notevoli come Deep Blue, menzionato nel paragrafo precedente, o il recentissimo Watson, un computer in grado di rispondere a domande poste in un “linguaggio naturale”, che nel febbraio 2011 vinse addirittura il primo premio nel quiz show Jeopardy! contro Ken Jennings e Brad Rutter campioni dell’anno, almeno fino ad allora. In aggiunta, con l’IBM 350 RAMAC (Random Access Method of Accounting and Control) del 1956, si ebbe il primo esempio di memoria su disco magnetico letto da testine mobili: aveva 50 dischi da 24 pollici di diametro, due bracci indipendenti che si posizionavano sul disco richiesto e facevano seek (ricerca del dato interessato) sulla traccia, con un tempo di accesso di circa 600 millisecondi.

Inizialmente le macchine usate nei grandi centri e nelle università erano per la maggior parte firmate Big Blue (soprannome dell’IBM). Era l’epoca dei MAINFRAME. Il Dizionario IBM del Computing definisce il “Mainframe” come “un computer di grandi dimensioni al quale altri computer possono connettersi condividendo le funzioni che esso offre. Il termine si riferisce solitamente all’hardware, cioè, alla memoria principale, ai circuiti di esecuzione e alle periferiche”. Da questa definizione si intuisce che, come per tutti i computer di allora, per grandi operazioni (inteso come complesse) occorrevano grandi dimensioni e che tali grandi macchine utilizzavano il sistema time-sharing, che fu poi esportato sulla famiglia dei PDP della DEC. Una caratteristica di questi cervelloni era poi il metodo di gestione dei processi, tanto criticata dagli hacker dell’MIT perché risultava passiva per gli utenti: l’elaborazione BATCH. Questo tipo di gestione dei programmi derivava direttamente dai primi calcolatori a schede perforate, che richiedevano la scrittura del programma “off-line” e l’attesa che la macchina lo macinasse per darne i risultati. Per ogni operazione vi era una persona addetta e per questo i programmatori non avrebbero mai avuto accesso diretto al computer. I Mainframe non avevano un’esplicita interfaccia grafica (nemmeno negli anni a seguire quando saranno soppiantati dai personal computer), ma si può considerare che i primi sistemi operativi vennero sviluppati su queste macchine. Negli anni Settanta comunque cominciarono a sviluppare de metodi più interattivi, rendendo multitasking le macchine sfruttando proprio questo principio di “esecuzione a camere stagne” dei processi Batch. Una grande conquista ottenuta con un mainframe IBM della serie 7000 fu lo studio presso i Bell Laboratories tenuto da Max Mathews, un pioniere nel campo della musica elettronica tramite computer. Nel 1963 sfruttando una tecnologia di “computer-speech”, sviluppato dal collega John Kelly, riuscì infatti a far suonare l’accompagnamento di una canzone scritta a fine Ottocento da Harry Dacre, “Daisy bell”, da un mainframe IBM 7094. Poco tempo dopo insieme ad un’altra macchina riuscirono a riprodurre musica strumentale e cantata. La stessa performance fu eseguita anche da HAL 9000, il computer che si occupava della missione “Jupiter” in “2001, A space Odyssey” di Stanley Kubrik nel 1968.

Dopo il 2000 l’unica tipologia di Mainframe ancora utilizzata è quella per le “Server Farms” (Fattorie di Server), cioè i centri dove vengono custoditi i Server che sono sostanzialmente i computer di banche dati per siti internet, i quali necessitano di moltissima memoria e quindi ampi supporti fisici.

 

 

[2] _ La meccanica dei rotori/dischi utilizzata da Scherbius era ispirata a quella del “disco cifrante” di Leon Battista Alberti, descritto nel “De Cifris” attorno al 1467.

[3] _ Lo studio della trasmissione termoionica tra elettroni cominciò nella seconda metà dell’Ottocento; fu Owen Willan Richardson nel 1873 (in Inghilterra) a scoprire per primo queste proprietà. La corrente, fatta passare tra due elettrodi uno negativo, il catodo, che emette elettroni, e uno positivo, l’anodo che li attrae, stimola appunto un passaggio di elettroni che surriscalda  (per questo termoionico) il filamento/griglia metallica posto tra i due elettrodi, amplificando così l’intensità della corrente passante.

[4] _ I thyratron sono sostanzialmente dei tubi di vetro ad elettroni, simili ai tubi a vuoto, contenenti però del gas (gas nobile come neon o xeno o vapori di mercurio), il quale funziona praticamente come un raddrizzatore cioè un dispositivo atto a convertire un segnale bipolare (bidirezionale) in uno unipolare (monodirezionale) permettendo un più rapido trasferimento di segnale. Nei sistemi a potenze elettroniche elevate viene spesso usato come interruttore.

[5] _ Come anticipato, nel 1998 venne poi dimostrato che se nella possibilità di inserire un nastro infinito e precludendo ogni possibilità di errore, avendo quindi una enorme capacità di memorizzazione, nonostante la sua incapacità di salti condizionati, lo Z3 risulta una macchina Turing completa. Zuse al vero non aveva nemmeno considerato questo principio nel creare le sue macchine.

[6] _ Il Team di Eniac era composto da Robert F. Shaw (che si occupava delle tabelle di funzioni), Chuan Chu (stava al divisore e al calcolatre di radice qudrata), Thomas Kite Sharpless (programmatore principale), Arthur Burks (al moltiplicatore), Harry Huskey (si occupava dell’unità di lettura e stampa) e Jack Davis (agli accumulatori elettrici).

[7] _ I diodi erano tubi a elettroni disposti per captare le onde radio. Furono inventati da John Ambrose Fleming nel 1904.

 

 

 

DAI CERVELLI GIGANTI AI CERVELLI DA TAVOLO: IL MICROPROCESSORE >>

 

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>