Introduzione all'informatica2006
Upcoming SlideShare
Loading in...5
×
 

Introduzione all'informatica2006

on

  • 853 views

 

Statistics

Views

Total Views
853
Views on SlideShare
853
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduzione all'informatica2006 Introduzione all'informatica2006 Document Transcript

  • Informatica , leorigini e losviluppoDalle schegge di selce alle schegge di silicio Flavio Lombella , 2006
  • Introduzione Nel 1967 viene introdotto il termine informatica per designare una nuova disciplina che si occupa del trattamento automatico delle informazioni e che funge da supporto per tutte le discipline, consentendo di affrontare classi di problemi in precedenza preclusi dalla quantità di dati da trattare. Prima di allora si indicava genericamente con il termine cibernetica tutto quanto riguardasse gli elaboratori, materia vista molte volte con diffidenza in quanto si identificava la capacità di calcolare con quella più generale di pensare. Si pose il problema di determinare dei nuovi sistemi di codifica e quindi di studiare in modo approfondito le capacità dei codici, ma anche di introdurre dei linguaggi formali che consentano di migliorare il compito di predisporre i programmi per gli elaboratori. Se come disciplina scientifica l’informatica è una materia molto recente, le idee su cui si basa trovano origine molto più anticamente nella storia della matematica ed in particolare in quella del calcolo Per una materia dall’evoluzione talmente veloce da vedere nuovi strumenti e nuove tecnologie succedersi nel volgere di pochi anni è importante comprendere quali siano i concetti fondamentali. In questo ci può aiutare lo studio delle stesse origini dell’informatica. Cercheremo di ricostruire il filo conduttore che ha portato dalle prime capacità di numerare gli oggetti dei nostri antichi progenitori al moderno elaboratore elettronico, analizzando le interazioni con il progresso scientifico e, più in generale con lo sviluppo della società.
  • Sommario1 Numerare , contare , calcolare 5 1.1 Quanti 5 1.2 Registrare e rappresentare i numeri con un sistema 7 1.3 Il contributo del mondo Arabo 8 1.4 La rinascita e l’introduzione del sistema decimale 10 1.5 La lenta diffusione del nuovo sistema 13 1.6 Metodi e strumenti per calcolare 152 Macchine per calcolare 31 2.1 La macchina di Pascal 32 2.2 Leibnitz, un meccanismo per moltiplicare 33 2.3 Il problema della longitudine e della latitudine 34 2.4 Il grande precursore 37 2.5 La costruzione della prima macchina alle differenze 39 2.6 La ricostruzione della seconda macchina alle differenze di Babbage 40 2.7 La macchina analitica di Babbage 41 2.8 Ada Lovelace e i primi programmi 45 2.9 Macchine per gestire e organizzare le informazioni 49 2.10 L’eredità della macchina analitica 503 La rappresentazione delle informazioni 53 3.1 Il sistema binario 53 3.2 Algebra booleana 54 3.3 Binario, esadecimale, ottale 54 3.4 Misurare l’informazione 56 3.5 I multipli 58 3.6 Rappresentare i caratteri 594 I primi elaboratori 61
  • 4.1 Le macchine di Zuse 61 4.2 Le macchine di Harward 63 4.3 L’avvento dell’elettronica 65 4.4 Il calcolatore di Atanasoff 65 4.5 Gli elaboratori elettronici : ENIAC 66 4.6 Un caso a parte, LEO 67 4.7 Von Neuman , la definizione della struttura logica dell’elaboratore 68 4.8 Le prime macchine prodotte in serie Errore. Il segnalibro non è definito.5 La microelettronica e la nascita del Personal Computer 70 5.1 I minicalcolatori 70 5.2 Il microcalcolatore 72 5.3 L’elettronica dello stato solido 74 5.4 Il diodo a giunzione 76 5.5 Il tranistor BJT 78 5.6 I circuiti integrati 79 5.7 La produzione dei circuiti microintegrati 82 5.8 Il microelabortatore diventa un bene di consumo 84 5.9 INTEL e la nascita del microprocessore 86 5.10 Dal minicomputer al Personal Computer 87 5.11 Il Personal Computer IBM 89
  • 1 Numerare , contare , calcolarePrima di guardarti avanti guardati indietro(John Watt)1.1 Quanti N ello sviluppo della storia delluomo, in epoche diverse si sono sviluppate delle civiltà che sono poi completamente scomparse ma che hanno lasciato come eredità un bagaglio di conoscenze. Tra gli elementi fondamentali che hanno portato al loro sviluppo vi è stata la capacità di contare e di numerare gli oggetti, parte della più generale abilità di utilizzare simboli e di ragionare manipolando simboli. Qualsiasi forma di organizzazione sociale evoluta richiede, infatti, tale abilità. Quanti sono i bisonti cacciati o i giorni trascorsi ? La mente umana ha impiegato centinaia di migliaia di anni per impadronirsi di questi concetti ed è oggi per noi molto difficile renderci conto di quanto questo sia stato importante. Nel nostro modo di ragionare la capacità di contare deriva infatti, in buona parte da concetti che abbiamo dovuto imparare a memoria nei primi anni della nostra vita e all’esposizione al linguaggio, all’esempio dei nostri simili. In questo modo ci siamo impadroniti di concetti che la nostra Fig.1 L’abaco specie ha acquisito in un tempo lunghissimo. In tempi e luoghi diversi una tappa fondamentale di ogni civiltà fu quando ci si pose la fondamentale domanda : Quanti sono? La prima possibile risposta venne fornita dalla possibilità di raffrontare tra loro quantità simili di oggetti diversi. In tal modo i bastoncini, le conchiglie, le tacche su un legno o le dita delle mani furono tutti elementi validi per lo scopo. Quello che è interessante notare è come sia stato difficile per luomo astrarre il concetto di numero come
  • Le origini dell’informaticaelemento simbolico svincolato da oggetti materiali. E’ certo che in origine itermini utilizzati per rappresentare le quantità numeriche erano diversi peroggetti diversi.Di questa difficoltà possiamo trovare ancora traccia nellinguaggio odierno. Quando nella nostra lingua dobbiamo indicare un gruppodi animali utilizziamo tutta una serie di vocaboli diversi , gregge per le pecore ,branco per i lupi, stormo per gli uccelli, mandria per le mucche, mentre nullavieterebbe, dal punto di vista logico, di utilizzare un unico termine. Nondisponiamo di testimonianze dirette ma il sopravvivere fino a tempi recenti dipopolazioni che in luoghi isolati hanno mantenuto un modo di vita tipico diquello dell’età della pietra ci ha permesso di avere delle testimonianze direttedelle capacità di rappresentare i numeri e del loro utilizzo. All’inizio delsecolo scorso un missionario vissuto a lungo nella tribù dei Tamanaca, lungo ilcorso dell’Orinoco, riportava come il metodo utilizzato per contare si basava suparole per identificare le sole prime quattro quantità. Per contare si avvalevanodi mani e piedi. Cinque corrispondeva ad una mano intera. Oltre siidentificavano i numeri con uno sull’altra mano, fino a due mani, poi uno sulprimo piede, due mani ed un piede, unosull’altro piede. Venti veniva identificatoquindi con un intero indiano e oltre con unindiano e uno. Insomma si può definire unsistema di numerazione a base venti. Unsistema analogo si riscontra anche nellepopolazioni Eschimesi e questo fa pensare cheil modo di numerare risalga ad un’epocaprecedente a quella in cui le grandi migrazioniportarono Homo Sapiens a colonizzare l’interopianeta, vista la difficoltà di rappresentarevisivamente le dita in popolazioni abituate avivere completamente coperte da pellicce.Quell’epoca che ancora oggi nella tradizioniorale degli aborigeni australiani viene indicata Fig.2 Il papiro di Rhind, parte inizialecome l’epoca del sogno.Una delle esigenze principali che spinsero allo sviluppo della capacità dicalcolare fu il commercio.Un secondo esempio molto significativo ci viene dal resoconto sempre di unmissionario che a fine 800 ci riportava gli usi delle tribù Dammara, nel SudAfrica. A proposito dell’utilizzo del baratto osservava come quando duranteuno scambio di ad esempio pecore per stecche di tabacco supponendo che ilcambio corrente fosse di una pecora per due stecche, il cambio di due pecoreavveniva nel seguente modo : prima il venditore delle pecore cedeva al primapecora ricevendo in cambio le prime due stecche. La pecora doveva essereallontanata. Convinto che la prima transazione fosse stata correttamente eonestamente svolta si passava alla seconda pecora. Uno scambio in cuidirettamente si davano le due pecore e si ricevevano in cambio quattro stecchenon era assolutamente accettato. Insomma per questa parte dell’umanità ilconcetto che due per due fa quattro era ancora lontano dall’essere acquisito.Capitolo I –Numerare contare calcolare 6
  • Le origini dell’informatica L’effetto che sui nostri antenati ebbe l’appropriarsi della capacità di manipolare le quantità e di calcolare fu enorme. Nell’antico Egitto i problemi matematici ed il loro studio erano riservati alla casta dei sacerdoti e si attribuivano tali capacità a poteri magici, derivanti direttamente dagli Dei. Uno dei primi esempi di testo per insegnare la matematica e la soluzione dei problemi numerici è giunta fino a noi in alcuni papiri tra cui forse il più celebre è quello noto come papiro di Rhind ( il primo proprietario ) o di Ahmes(l’autore ), una raccolta di 25 problemi datatati al 1650 A.C. . Scritto in Ieratico il papiro è lungo circa 6 metri e largo 30 centimetri, è custodito al British Museum. La prima sezione riporta una introduzione, nella quale si rende gloria agli dei ispiratori di quanto verrà esposto, seguito dal risultato della divisione per due di tutti i numeri dispari da 3 a 101, con il risultato espresso in frazioni.La notazione con la virgola ed i decimali è molto recente, risale al secolo XVIII. La seconda sezione consiste in una tabella che riporta le divisioni dei numeri da 1 a 9 per 10. Seguono poi i problemi pratici. Il primo problema consiste nel dividere una razione di grano tra dieci uomini. Ogni uomo riceve un decimo. La dimostrazione ricostruisce l’operazione al contrario usando la tabella precedente : due uomini ricevono 2 decimi, tre uomini ricevono tre decimi, e così via sino all’unità. I problemi sino al sei trattano rispettivamente della divisione di due razioni, tre , quattro e cinque, sempre utilizzando le tabelle precedenti. Tanto i problemi appaiono ai nostri occhi banali e le dimostrazioni peddiseque quanto agli occhio dei contemporanei di Ahmes dovevano essere stupefacenti.1.2 Registrare e rappresentare i numeri con un sistema Scartata la possibilità di introdurre nel linguaggio una parola per ogni possibile quantità l’unica possibilità era di definire un sistema che consentisse di utilizzare dei simboli base associati tra di loro in un sistema. I progressi della capacità di numerare arrivarono con i corrispondenti progressi della società organizzata. Non a caso le prime iscrizioni di età sumera sono registrazioni di tasse, versate per consentire di mantenere una struttura di stato. Si possono distinguere due distinti stadi nello sviluppo della capacità di registrare in forma scritta le grandezze numeriche, uno pittorico ed uno simbolico. In quello pittorico le grandezze vengono Fig. 5 dimostrazione di un teorema, rappresentate associando un elemento, come un tratto da un codice arabo animale, ad una serie di aste ed in seguito elementi grafici associati tra loro, come simboli stilizzati. Questo comincia a comportare in un certo senso un Capitolo I –Numerare contare calcolare 7
  • Le origini dell’informatica concetto astratto. Lo stadio successivo consiste nell’associare simboli a gruppi e con questi costruire dei sistemi di numerazione. Tali sistemi si possono suddividere in sistemi additivi e sistemi posizionali. Il sistema Egiziano è un sistema di tipo additivo, ma certamente noi siamo più famigliari con quello Romano che è dello stesso tipo. Il sistema si basa su sette simboli : I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Questi simboli venivano utilizzati in modo additivo, cioè sommando i valori dei simboli tra di loro partendo da sinistra. Solo in epoca successiva venne introdotta la forma sottrattiva, un simbolo a sinistra viene sottratto qualora sia di dimensione inferiore ( IV per quattro e IX per 9 ). Il sistema è abbastanza semplice per le addizioni, anche se richiede due passi, prima i simboli vengono raggruppati in ordine decrescente, in un secondo passo vengono sostituiti i gruppi di simboli che possono essere riscritti con simboli maggiori ( VV co X , XXXXX con L). La moltiplicazione appare notevolmente più complessa e richiede di conoscere i multipli di V e X. Vengono rappresentati i soli numeri interi e naturalmente il sistema appare gestibile solo per numeri fino ad un massimo di qualche migliaio. Per I numeri razionali, come già per gli Egiziani si aggiungevano ai numeri naturali le frazioni. Un sistema piuttosto limitato, ma l’impero Romano dominò il mondo allora conosciuto con una struttura di stato che per molti aspetti ancora ci stupisce. Con la caduta dell’Impero Romano di Occidente nel 456 ebbe inizio una lunga fase di stagnazione che viene indicata con Medio Evo, il sonno della ragione.1.3 Il contributo del mondo Arabo In questa epoca le scienze matematiche e astronomiche fiorirono nel vicino mondo arabo, in particolare nella penisola arabica. Nel VII secolo viene fondata la dinastia dei califfi a Bagdad, la nascente cultura araba assorbe dai paesi vicini idee e concetti. Probabilmente dall’india deriva un’idea rivoluzionaria per i sistemi di numerazione: Fig. 3 Al-Kwoaritzmi, Capitolo I –Numerare contare calcolare ipotetico ritratto 8
  • Le origini dell’informatica 0 Lo zero rappresenta il definitivo distacco del concetto di numero da una sua rappresentazione fisica. E’ lo zero che consente di definire un sistema di numerazione posizionale e pesato, dove gli stessi simboli hanno un significato non solo per se ma anche per la posizione. Questo non sarebbe possibile senza un simbolo per la quantità nulla. E con lintroduzione delle cifre arabe per le prime 9 quantità che si realizza, unitamente allo zero, un sistema molto potente, scalabile, che può rappresentare facilmente anche quantità molto grandi e che permette, con semplici regole, di realizzare somme e sottrazioni tra qualsiasi numero. La più antica testimonianza a noi nota sull’utilizzo dello zero risale all’anno 876 AD, con la rappresentazione dei numeri 50 e 270. Già i babilonesi L’introduzione utilizzavano però un carattere simile allo zero nel proprio sistema di dello zero consente di numerazione, ma non come parte consistente sel sistema. Il simbolo veniva costruire un concepito come separatore tra numeri, ad esempio in un documento dell’epoca sistema di numerazione si può riscontrare come per rappresentare 1024 il simbolo veniva inserito come posizionale e separatore tra la colonna per le migliaia e le decine. Non veniva utilizzato pesato invece per numeri come 1000. La difficoltà stava nel concepire che il nulla potesse separare il nulla. Il califfo Al Mamum stabilì un centro accademico, denominato Casa della Saggezza, attorno all’anno 800, a Bagdad. Si trattava di una combinazione tra una biblioteca, una università e di un centro di traduzione da lingue straniere in Arabo. Fu il centro più importante per la diffusione del sapere dalla distruzione della biblioteca di Alessandria d’Egitto. Vennero tradotti testi dal greco antico, persiano,Fig.4 Monumento ad Al-Kwoaritzmi, Gedda. sanscrito e copto. Molti importanti testi dell’antichità sono giunti a noi solo grazie a queste traduzioni in Arabo. Purtroppo la storia si ripete nel 1258 AD quando Hulagu Khan, nipote del più famoso Gengis Khan conquista Bagdad e la distrugge. Uno degli studiosi che operarono nella Casa della Saggezza fu Mohammed ibn Musa Al-Kwoharizmi ( Mohhamed, figlio di Moses , originario di Khowarizm, la moderna citta di Kiva nel sud della Russia) .Fu autore di testi di algebra e di geometria e di tavole di calcoli per uso astronomico. Nella sua “Aritmetica” cita espressamente come il sistema di numerazione decimale gli sia pervenuto dagli Indiani . nessuna edizione originale ci è pervenuta, ma disponiamo di traduzioni in altri linguaggi. Il Capitolo I –Numerare contare calcolare 9
  • Le origini dell’informatica lavoro inizia con la numerazione e discute diffusamente dell’utilizzo delle cifre ed in particolare dello zero. Prosegue con l’esposizione dei metodi fondamentali per le operazioni tra interi. Il lavoro influenzò tutte le successive opere di autori arabi nel campo. L’utilizzo del sistema di numerazione Hindu si diffuse rapidamente in tutto il mondo Arabo.1.4 La rinascita e l’introduzione del sistema decimale Con la riconquista di territori di cultura araba da parte dei Normanni in Sicilia e, soprattutto la riconquista di Toledo in Spagna nel 1085 da parte di Alfonso di Leon, si pongono le basi per la rinascita culturale dell’Europa.. Un crescente entusiasmo portò studiosi da ogni parte d’Europa alla ricerca dei documenti dell’antichità nella traduzione Araba e dei testi Arabi. Alcuni, come Adelardo di Bath, giunsero alla conversione all’islamismo spinti dall’amore per il sapere. Contribuirono inoltre a questo passaggio di conoscenze il fiorire dei traffici mercantili tra le sponde del mediterraneo. In questa atmosfera si formò alla matematica Leonardo Pisano , figlio di Bonaccio. Nacque attorno al 1170 e alcune informazioni sulla sua vita ci vengono dall’introduzione alla sua prima opera, il Liber Abaci, scritta nel 1202. Il padre Bonaccio era incaricato di Fig.6 Leonardo Pisano, dirigere, per conto dell’Ordo Mercatorum di Pisa, l’ufficio detto il Fibonacci, doganale di Bugea in Algeria. Quando Leonardo era ancora ipotetico ritratto, 1170- ragazzino lo chiamò presso di se per studiare il nuovo 1250 (circa). sistema di numerazione in uso nel mondo Arabo, il sistema decimale posizionale. Da questa esperienza nasce il Liber Abaci, che come dichiarato nell’introduzione ha lo scopo di mettere tutto il suo sapere “ a disposizione della gens latina in modo che ben poco sull’argomento ne possa restare fuori “ Il termine abaco viene utilizzato da Leonardo per indicare l’aritmetica/algebra in generale, termine che mantenne in Italia questo significato fino alla fine del XVIII secolo. Si tratta di un’opera per, l’epoca, colossale. Nella versione in 4° di Baldassare Boncompagni nel 1854 si tratta di 459 pagine, nelle quali vengono presentate le “novem figure” degli indiani e il “signum” 0 ( “quod arabice zephirum appellatur” ) , le operazioni con interi e frazioni, le prove per 7, 9, 11, 13 e il criterio di divisibilità per 9, le operazione per determinare il massimo comun divisore ed il minimo comune multiplo. Vi si danno poi le regole pratiche per compra-vendite, baratti, società, cambi con le monete al tempo in uso,proporzioni. Il tutto corredato da numerosi esempi pratici. In capitoli a parte la regola “ elchataym “ ( doppia posizione per la soluzione delle equazioni ) , sino alla soluzione , discussione e applicazione delle equazioni di secondo grado. E’ sul Liber Abaci che per tre secoli si formeranno Capitolo I –Numerare contare calcolare 10
  • Le origini dell’informaticamaestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardoconsigliava al lettore di insistere nell’applicazione e nell’esercizio continuo,sino a che memoria e ragionamento, mani e numeri “ quasi uno impulsu etanelitu in uno et eodem instanti circa idem per omnia naturaliter consonent” .Sarà questo anelito di perfezione a fare di Leonardo un matematico dieccezione tra i contemporanei e successori, i quali conservarono un Fig.7 L’incipit del Liber Abaci, notare evidenziata la sequenza delle nove cifre .reverenziale ricordo del maestro. Maestro Benedetto da Firenze a metà delsecolo successivo tradurrà la sua opera in volgare e citerà ripetutamente le sueopere e ne ricorderà la figura.“ dicho che L.P. fu uomo sottilissimo in tutte le dispute et secondo che sitrova, lui fu il primo che ridusse allume questa pratica in toscana, che allorasi andava per vie molte e strane” Dal 1202 al 1220 Leonardo Pisano non scrisse più nulla. In quegli anni gliscomunicati della quarta crociata fondavano l’impero latino d’Oriente e nuovitesti, questa volta greci, passavano in Europa ; crociati comunicatidistruggevano la Provenza e i suoi abitanti, demandando a Dio l’incarico diriconoscere le anime dei non eretici. A Parigi veniva proibita , pena lascomunica, la lettura sia in pubblico che in privato delle opere di Aristotele. Learti, le lettere e le scienze ebbero un forte impulso dall’avvento di Federico diSvevia, “stupor mundi”, che volle alla sua corte notari e protonotari indigeni,“magistri” e “philosofi” di tutte le nazioni. Fu proprio uno dei filosofi dellaCapitolo I –Numerare contare calcolare 11
  • Le origini dell’informaticacorte di Federico, Maestro Domenico, a spingere Leonardo a scrivere unnuovo testo, un compendio di geometria , la Pratica Geometriae.Leonardo fu protagonista di sfide alla corte di Federico. Nel 1223 l’imperatorepasso per Pisa e Leonardo venne presentato a Federico II da MaestroDomenico. Davanti all’imperatore si intrattenne in discussioni con MaestroGiovanni da Palermo. Questi propose a Leonardo problemi del tipo di trovarela soluzione ad una equazione di terzo grado o trovare un congruo, cioè“Trovare un numero quadrato tale che , sia aggiungendogli che togliendoli5, dia sempre un quadrato”.Capitolo I –Numerare contare calcolare 12
  • Le origini dell’informaticaLa prova del 9 Leonardo inserisce nelle spiegazioni delle operazioni anche un metodo per controllarne la correttezza, la prova del 9. Se si calcola il residuo di ogni numero coinvolto nell’operazione, i residui degli operandi , composti come l’operazione, devono dare il residuo del risultato. Il residuo è la cifra ottenuta sommando tra loro, se necessario più volte, le cifre del numero sino ad ottenere una sola cifra. Tale operazione equivale al resto dell’operazione di divisione per 9, o modulo 9. Infatti ogni volta che in un numero spostiamo una cifra dalla sua posizione e la sommiamo alla cifra di destra, equivale a sottrarre al numero un multiplo di 9, una cifra n in posizione p, ( ) n 10 p − 10 p −1 = n(10 − 1)10 p −1 = 9n10 p −1 Prendiamo ad esempio l’operazione di moltiplicazione e scomponiamo i moltiplicandi secondo la divisione per 9, m=pxq m = (t m ⋅ 9 ) + res m p = (t p ⋅ 9) + res p q = (t q ⋅ 9) + res q e quindi p ⋅ q = (t p ⋅ 9) ⋅ (t q ⋅ 9) + res p ⋅ (t q ⋅ 9) + res q ⋅ (t p ⋅ 9) + res p ⋅ res q = (t m ⋅ 9) + res m [ ] 9 ⋅ t p ⋅ (t q ⋅ 9) + res p ⋅ t q + res q ⋅ t p + res p ⋅ res q = (t m ⋅ 9) + res m eseguendo ora l’operazione di modulo 9 mod 9 (res p ⋅ res q ) =res m cvd. Da questo si desume anche che la prova del 9 stabilisce una condizione necessaria ma non sufficiente per stabilire la correttezza dell’operazione, non si possono infatti individuare errori che introducono nel risultato dei multipli di 9. Certamente l’operazione di modulo 9 non è facilmente realizzabile manualmente comportando l’effettuazione di una divisione, ma Leonardo indica un modo agevole ç Sommare tra di loro le cifre che compongono il numero e se il risultato è maggiore di 9, ripetere il procedimento sino a ridursi ad una sola cifra. Infatti sommare una cifra n in posizione p alla posizione p-1 equivale a sommare + n per 10 alla p-1 - n per 10 alla p o – n per 9 per a0 alla p-1 Cioè equivale a sottrarre un multiplo di 9. Iterando il procedimento fino all’ultima cifra otteniamo un numero compreso tra zero e 9. Nel caso di 9 per ottener il modulo di deve sottrarre una ultima volta 9. Il nome di Fibonacci rimase legato alla soluzione di uno dei problemi pratici del Liber Abaci, trovare il numero di discendenti di una coppia di conigli dopo n generazione. La soluzione è data dalla serie , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , …. Dove ogni numero è la somma dei due precedenti.1.5 La lenta diffusione del nuovo sistema Capitolo I –Numerare contare calcolare 13
  • Le origini dell’informatica Sia per la complessità che per la lunghezza la diffusione del Liber Abaci fu piuttosto ristretta. Il solo lavoro di copiare manualmente un testo di 459 pagine era già un grosso problema. Ad una diffusione più capillare del nuovo sistema contribuirono i lavori “Carmen de Algorismo” di Alexander De Villa Dei, Le operazioni con il nuovo sistema circa 1220 , e “Algorismus Vulgaris” di Nel Liber Abaci viene illustrato in dettaglio l’utilizzo del Giovanni da Halifax, meglio conosciuto sistema decimale. Vi sono esempi per moltiplicare traillustra con lunghezza diversa . Ad esempio nel capitolo II si numeri come Sacrobosco. Anche questi lavori si la moltiplicazione dei numeri di due cifre per due cifre. basano sull’Aritmetica di Al-Kwaritzmi 37 x e furono utilizzati come testo in 37 numerose Università . Il “Carmen de Si esegue il prodotto delle cifre della prima colonna si Algorismo” è composto in segna in alto il risultato e si prende nota del riporto endecassilabi. Per entrambi non si 9 riporto 4 forniva una completa spiegazione del 37 x 37 sistema ma erano composti rispettivamente da quattromila parole il Si esegue il prodotto incrociato decine per unità, per entrambe le diagonali quindi 7 x 3 + 7 x 3, vi si somma il primo e da 284 linee il secondo, la qual riporto precedente( 4 ) e si ottiene 46, si scrive il 6 e si tiene cosa li rendeva particolarmente adatti ad conto del nuovo riporto di 4. una veloce copiatura. Ne vennero 69 riporto 4 effettuate traduzioni in diverse lingue. 37 x 37 La diffusione del nuovo sistema fu comunque molto lenta, abbandonare il Si moltiplicano tra di loro le decine 3 x 3 , si somma il riporto e si ottiene il risultato sistema di numerazione Romano non fu facile, soprattutto per motivi culturali. A 1369 riporto / 37 x quanto veniva dal mondo Arabo si 37 guardava con molta diffidenza. Nei Vengono poi fornite le regole per prodotti tra numeri di lunghezza diversa. conventi l’utilizzo del sistema Romano per le registrazioni si protrasse fino al XVIII 1 secolo. Le resistenze furono molteplici. Nel 1299 la città di Firenze emise un’ordinanza che proibiva l’utilizzo del sistema indo-arabico nelle transazioni commerciali, vista la facilità di falsificare i numeri. Uno zero poteva facilmente essere trasformato in un nove o in un sei. In altri casi l’innovazione fu molto veloce. Un interessante documento conservato al British Museum riporta le registrazioni dei figli nati in una famigli a metà del XIII secolo, nel seguente ordine Primo figlio Mijc.Lviii 2 Secondo figlio Mijc.Lxi1 Incidentalmente l’aver riportato il secolo come numero Romano testimonia come ancora oggi per le cose importanti questo nuovo sistema di numerazione non paia molto appropriato.2 La forma ijc era una forma scritta per rappresentare 200. Capitolo I –Numerare contare calcolare 14
  • Le origini dell’informatica Terzo figlio Mijc.63 Quarto figlio 1264 Quinto figlio 1266 In un primo momento le cifre furono usate solo per l’anno ma nel breve volgere di otto anni l’estensore del testo si era completamente adeguato.1.6 Metodi e strumenti per calcolare Con l’introduzione del sistema decimale si compie un notevole passo avanti in termini di capacità di calcolo. Ma i problemi che si affrontano sono sempre più complessi e vi è un notevole impegno nel cercare metodi e artifici per agevolare il compito. Tra le persone che maggiormente hanno contribuito a questo sviluppo vi è Jhon Napier, barone di Merchiston, nato nel 1550, scozzese. A lui va il merito dell’introduzione dei Logaritmi, per cui è famoso, ma sempre a lui si devono anche altri metodi di calcolo. Con le sue parole : The difficulty and prolixity of calculation, the weariness of wich is so apt to deter from the study of mathematics, I have always, with what little powers and little genius I possess, laboured to eradicate. And with that end in view, I have published of late years Fig. 8 Johan Nepier , Barone di Merchiston 1550 - the Cannon of Logharithms ... [F]or the sake of those who prefer to work with the natural numbers as they stand, I have excogitated three other compendious modes of calculation, of witch the first by means of numberig rods and these I have called Rabdologia. Another, by far the most expeditious of all for multiplication, and which on that account I have no inaptly called the Promptuary of Nepero Multiplication, is by means of little plates of metal disposed ina a box. And I logaritmi come lastly, a third method , namely Local Arithmetic performed upon a chess strumento per aiutare board. l’esecuzione di calcoli complessi come le Il metodo maggiormente diffuso al tempo fu quello delle barrette numerate, moltiplicazioni citato per primo, che consentiva di eseguire le operazioni mediante l’accostamento delle barrette. Certamente questi metodi furono anche utilizzati per il calcolo delle tabelle logaritmiche. Napier , meglio noto in Italia come Nepero fu tra i protagonisti della riforma Protestante e pubblicò anche un libro sull’Apocalisse di S.Giovanni Apostolo Capitolo I –Numerare contare calcolare 15
  • Le origini dell’informatica che lo rese celebre come teologo. E’ da credere che l’ispirazione venne dai primi lavori sulla trigonometria e in particolare con la formula di prostaferisi Sin (a) sin (b) =[cos (a-b) – cos ( a+b)]/2 Per mezzo di questa formula e disponendo dei valori già tabulati per seno e coseno si può effettuare una operazione difficile, la moltiplicazione, mediante delle somme, delle sottrazioni ed una divisione per due. Questo influenzò certamente Nepero, in quanto i primi logaritmi non erano di numeri naturali ma di seni di angoli. L’idea nacque quindi non dall’algebra ma dalla geometria, cosa che trova una spiegazione anche nel fatto che all’epoca la notazione decimale dei numeri rappresentati con la virgola e quindi le potenze negative di dieci o quella dell’elevamento a potenza con l’esponente come indice mon erano ancora in uso. In origine utilizzò il termine di numeri artificiali ma in seguito coniò il termine logaritmo derivandolo dalla frase greca per rapporto tra numeri. Nel Luglio del 1614 pubblica un piccolo volume di 56 pagine di testo e 90 di tabelle dal titolo Mirifici Logarithmorum Canonis Descriptio. La proprietà che ci interessa ai fini del calcolo è che log ab = log a + log b Nel 1624 il matematico Henry Brigs pubblicaFig 9. Il frontespizio della prima una serie di tavole con i logaritmi dei numeriedizione dei Mirifici Logarithmorum da 1 a 20.000 e da 90.000 a 100.000, calcolati, 1614 con una precisione di 14 cifre decimali. Le tabelle contenevano solo 1161 errori, pari allo 0,04% dei dati. L’utilizzo dei logaritmi nel calcolo si diffuse molto rapidamente, tra i primi ad utilizzarli vi fu l’astronomo Keplero. Fu quindi un’invenzione che modificò radicalmente, migliorandolo, il lavoro di chi a vario titolo si trovava coinvolto nel calcolo. L’utilizzo, anche mediante regoli calcolatori, venne soppiantato solo dall’avvento dei moderni calcolatori elettronici. Nella figura che segue viene riportata una tavola tratta “Tavole Logaritmiche e trigonometriche a cinque decimali” di Guglielmo Palazzi, edito dalla casa editrice Ponte Nuovo – Bologna , nel 1974, ad uso dei licei , Istituti Tecnici e professionali. Nella premessa apprendiamo che le presenti tavole logaritmiche “ … sono state segnalate dall’Accademia Nazionale dei Lincei per il “Premio Capitolo I –Numerare contare calcolare 16
  • Le origini dell’informaticadel Ministero della Pubblica Istruzione per la matematica per l’anno 1970”,con la seguente motivazione :“Palazzi Guglielmo presenta delle tavole dei logaritmi dei numeri naturali finoa 10.000 e delle funzioni trigonometriche , dove l’uso di particolariaccorgimenti consente di ottenere approssimazioni molto soddisfacenti.”L’opera riporta i logaritmi delle funzioni trigonometriche ed il valore deiquadrati e dei cubi dei primi 1000 numeri. Seguono istruzioni per l’uso conesempi pratici in particolare per interpolare valori tra quelli tabulati.Sia le tecniche esposte da Leonardo Pisano che l’utilizzo delle tavoletrigonometriche richiedevano del personale specializzato e ben addestrato. Icalcoli erano comunque lunghi e tediosi, inevitabilmente soggetti ad errori. Sicominciò a ragionare di come tale lavoro potesse essere automatizzatoutilizzando delle macchine.Capitolo I –Numerare contare calcolare 17
  • Le origini dell’informatica Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometriche di Guglielmo Palazzi “ - 1974Capitolo I –Numerare contare calcolare 18
  • Le origini dell’informatica1.7 Un esempio pratico, una moltiplicazione con l’utilizzo delle tavole logaritmiche Premesso che in campo tecnico la precisione viene identificata con il numero di cifre significative, tabulando i valori dei logaritmi naturali dei numeri da 1 a 10000 si può condurre qualsiasi calcolo con la precisione di cinque cifre significative. Le cifre significative sono quelle che seguono la prima cifra diversa da zero. Qualsiasi numero si può ricondurre ad una rappresentazione normalizzata utilizzando le potenze di 10. Ad esempio 3.456.000 e 0,00012389 sono entrambi numeri con cinque cifre siginificative e possono essere rappresentati in forma normalizzata come 0,3456 x 107 e 0,00012389 x 10-3. Vediamo un Esempio: Calcolare 10,34 x 1347 usando la tavola dei logaritmi ( da http://web.ticino.com/calcolo/info.html ) Per prima cosa si deve trovare il logaritmo di 10,34. La tavola ci dà solo la parte decimale del logaritmo (mantissa), la parte intera è data dalla potenza di dieci del numero. La parte intera del logaritmo di 10,34 sarà quindi 1. Per trovare la parte decimale si toglie la virgola al numero, che diventa 1034. La colonna N della tavola indica le prime 3 cifre del numero, la quarta è il numero indicato in cima alle colonne numerate da 0 a 9. Le prime due cifre della parte decimale si trovano nella colonna L in corrispondenza della riga per N=103 (01), le altre 3 cifre si trovano sulla stessa riga nella colonna del 4 (452). La parte decimale sarà quindi 01452. Il logaritmo di 10,34 è 1,01452.Poi si, allo stesso modo, si deve trovare il logaritmo di1347.La parte intera del logaritmo è 3. Capitolo I –Numerare contare calcolare 19
  • Le origini dell’informaticaIl numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca ilvalore nella colonna L, per le prime due cifre della parte decimale si deve quindiprendere l ultimo valore della colonna L prima della linea 134 (12). Le altre 3 sitrovano sulla riga per N=134 nella colonna 7 (937).La parte decimale sarà quindi 12937Il logaritmo di 1347 è 3,12937.Ora si somma il logaritmo di 10,34 al logaritmo di 1034 (nel caso della divisionesi dovrebbe sottrarre)1,01452 + 3,12937 = 4,14389Il prodotto tra 10,34 e 1347 sarà il numero il cui logaritmo è 4,14389, ora lo sideve cercare nella tavola.La parte intera del logaritmo è la potenza di 10 del numero cercato (4), con laparte decimale (14389) si trovano le cifre.La parte decimale inizia con le 2 cifre 14, le si cercano nella colonna L. Poi sicercano le altre 3 cifre (389) nelle colonne seguenti numerate da 0 a 9. Il 389non c è, ci sono il 364 nella colonna 2 ed il 395 nella colonna 3 della riga perN=139.Il numero cercato si troverà quindi tra 13920 e 13930.Per trovare la quinta cifra significativa dobbiamo interpolare. Capitolo I –Numerare contare calcolare 20
  • Le origini dell’informatica Per interpolare si usano le tabelle P.P. (partes proportionales). Dapprima si trova la differenza tra 395 e 364 (i 2 numeri alle colonne 2 e 3) 395 - 364 = 31 Si dovrà consultare la tabella P.P. alla colonna 31 Poi si trova la differenza tra 389 (il valore non trovato) e 364 (il più piccolo dei 2 trovati) 389 - 364 = 25Nella colonna 31 della tabella P.P. cerchiamo il valore più vicino al 25 (24,8).Nella prima colonna in corrispondenza di 24,8 troviamo il numero 8, è la quintacifra significativa.Il numero cercato sarà dunque 13928:10,34 x 1347 = 13928Fig. xx Frontespizio della pubblicazione di Rottman Capitolo I –Numerare contare calcolare 21
  • Le origini dell’informaticaTerminiamo ricordando che nel 1959 Karl Rottmann pubblica presso ilBibliographisches Institut di Mannheim delle tavole logaritmiche calcolate estampate con l aiuto del computer. Non contengono errori di stampa . conquesto si realizza il sogno di Charles Babbage ( vedi il prossimo capitolo ),realizzare mediante una macchina delle tavole che non contengano errori,nemmeno di trascrizione. Questo ci ricorda anche come anche i computer eranoall’inizio non delle macchine di uso generale ma data la mole ed i costi solo perscopi molto particolari, le necessità di calcolo della vita quotidiano erano sempresoddisfatte con i vecchi metodi anche se gli strumenti erano ora più affidabili.Fig. xx Presentazione del lavoro di Rottman Capitolo I –Numerare contare calcolare 22
  • Le origini dell’informaticaCapitolo I –Numerare contare calcolare 23
  • Le origini dell’informaticaCapitolo I –Numerare contare calcolare 24
  • Le origini dell’informaticaFig. xx Una pagina delle tavole di Rottman1.8 I regoli calcolatori Con lo sviluppo dei logaritmi vengono introdotti anche degli strumenti per calcolare che costituiscono dei veri e propri calcolatori analogici denominati regoli calcolatori, l’invenzione vien ricondotta a Nel 1650 il matematico inglese E. Gunter La parola analogico significa che lo strumento manipola grandezze che variano in modo continuo e mediante l’utilizzo di aste graduate le operazioni algebriche vengono ricondotte alla somma o differenza di segmenti misurati su diverse aste. Se le scale di numerazione sono in scala logaritmica la somma di due segmenti proporzionali al logaritmo dei moltiplicandi rappresenta il logaritmo del prodotto dei due numeri. Vediamo alcuni esempi tratti sempre dal sito : da http://web.ticino.com/calcolo/info.html1.8.1 Moltiplicazione 1. Portare l 1 iniziale della scala C sopra il primo fattore sulla scala D 2. portare il cursore sul secondo fattore della scala C 3. Leggere il prodotto sulla scala DSe il prodotto è fuori scala: 1. Portare l 1 finale della scala C (a volte segnato con 10) sopra il primo fattore sulla scala D 2. portare il cursore sul secondo fattore della scala C 3. Leggere il prodotto sulla scala D 4. Moltiplicare per 10 1.8.1.1 2 x Pi 1. portare l 1 iniziale della scala C sopre il 2 della scala D 2. portare il cursore sul Pi della scala C 3. Leggere il prodotto sulla scala D (un po più di 6,25) Capitolo I –Numerare contare calcolare 25
  • Le origini dell’informatica1.8.2 Divisione 1. Portare divisore sulla scala C sopra il dividendo sulla scala D 2. portare il cursore sull 1 iniziale della scala C 3. Leggere il quoziente sulla scala DSe il quozienze è fuori scala: 1. Portare il divisore sulla scala C sopra il dividendo sulla scala D 2. portare il cursore sull 1 finale (a volte segnato con 10) della scala C 3. Leggere il quoziente sulla scala D 4. Dividerere per 10 1.8.2.1 5 : 2,2 1. Portare il 2,2 sulla scala C sopra il 5 sulla scala D 2. portare il cursore sull 1 iniziale della scala C 3. Leggere il quoziente sulla scala D (un po più di 2,25)1.9 La calcolatrice elettronica Negli anni settanta del secolo scorso l’avvento della calcolatrice elettronica rende improvvisamente obsoleti tre secoli di storia e montagne di tavole e regoli calcolatori. Tra le più celebri vi furono quelle prodotte dalla Hewlet Packard che si distinguevono per l’utilizzo di una notazione molto particolare che analizziamo con una presentazione tratta dalla sito della società (www.hp.it ) .Questo m,etodo si basa sull’utilizzo di uno stack, concetto che ritroveremo ancora in seguito.RPN, unintroduzione alla notazionepolacca inversa Capitolo I –Numerare contare calcolare 26
  • Le origini dell’informaticaIl metodo RPN: descrizione e origineSe siete utilizzatori assidui di una calcolatrice, è giunto il momento di scoprire i vantaggi delmetodo RPN. RPN è lacronimo di Reverse Polish Notation (notazione polacca inversa). Lanotazione polacca inversa è stata sviluppata nel 1920 da Jan Lukasiewicz come un modoper scrivere unespressione matematica senza usare parentesi. Hewlett-Packard Co. haritenuto che il metodo di Lukasiewicz fosse superiore alle espressioni algebriche standard(1)nelluso di calcolatrici e computer, e ha adottato la notazione polacca per la sua primacalcolatrice scientifica tascabile, la hp35, nel 1972.Perché usare RPN? • RPN permette di risparmiare tempo e immissioni di dati. Non occorre usare leparentesi per effettuare i calcoli. Il processo è simile al modo in cui si è appresa lamatematica su carta. • Si possono vedere i risultati intermedi mentre si eseguono i calcoli anziché averesolo la risposta finale al termine. Si tratta di una funzione estremamente utile. Gli insegnantidi matematica la utilizzano per migliorare la comprensione della matematica dei lorostudenti. • Un risultato intermedio consente di controllare i risultati e di correggere gli errori piùfacilmente. Risulta così più semplice seguire il corso del calcolo. Lutilizzatore definisce lapriorità degli operatori. • RPN è logico perché lutilizzatore prima immette il numero e poi stabilisce cosafarne.HP Fornisce la piena funzionalità RPNHewlett-Packard produce alcuni modelli di calcolatrici con RPN perché si tratta di un metododi calcolo estremamente potente e semplice. Le calcolatrici scientifiche HP 48G+ e HP48GX e la calcolatrice finanziaria hp12C usano esclusivamente RPN. HP sa bene comunqueche vi sono clienti che preferiscono il modo di immissione algebrico tradizionale. Eccoperché alcune calcolatrici HP funzionano con i due sistemi, RPN e algebrico. Ad esempio, la17BII e la 49G possono passare da una modalità allaltra.RPN è coerente nelluso. Gran parte delle calcolatrici scientifiche non-RPN sono metà RPNe metà algebriche. Ad esempio, per eseguire la somma, è necessario immettere 2+4(sistema algebrico), ma per effettuare un calcolo del seno, occorre prima digitare il numero epoi premere il pulsante SIN, il che corrisponde appunto al metodo RPN per immetterelequazione. Le calcolatrici scientifiche RPN HP non presentano questa peculiare differenza.Imparare lRPN è facileChe lo si creda o meno, lapprendimento della notazione polacca inversa è analogo a quellodella matematica. A ben pensarci, per usare una calcolatrice in modo algebrico bisognacambiare il modo in cui si è imparata la matematica.Facciamo un esempio: 3+5---7+6oppure (3+5) ÷ (7+6) = xMetodo algebrico: Sommare 3+5=8. Annotare la risposta o memorizzarla. Sommare7+6=13. Ora digitare l8 delloperazione precedente e quindi dividerlo per il secondo risultatocosì da ottenere x=0,62. Capitolo I –Numerare contare calcolare 27
  • Le origini dell’informaticaMetodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tastoENTER. Premere 6 e il tasto +. Viene visualizzato il risultato della seconda somma. Ecco orala parte sorprendente: premere il tasto di divisione e la calcolatrice fornisce il risultato: 0,62.Metodo algebrico: 13 tasti, senza contare lo sforzo per annotare o memorizzare il primorisultato mentre si calcola il secondo.Metodo RPN: 9 tasti e nessun bisogno di prendere appunti. Come funzionano le calcolatrici RPNRPN tiene traccia dei calcoli ponendoli in uno stack(2). Nellesempio precedente, quando siè premuto ENTER per la seconda volta, il risultato della prima somma è stato inserito(3)nello stack in attesa dellazione successiva. Dopo aver immesso la seconda somma,premendo il tasto di divisione, il risultato della prima somma viene diviso per il risultato dellaseconda e lultimo risultato in ordine di tempo viene rimosso(4) dallo stack. In altre parole, ilmetodo RPN ha eseguito il calcolo in un ordine logico.Per imparare a usare una calcolatrice RPN sono necessari solo pochi minuti, dopo di che èpossibile risparmiare una considerevole quantità di tempo. Ecco un esempio pratico ecomune di uso del metodo RPN. Operazione: Saldo: Operazione RPN: Stack RPN: $252 252 ENTER $252Spesa €23 229 23 - 229Deposito 30 259 30 + 259Spesa 21 238 21 - 238Spesa 43 195 43 - 195Spesa 21 174 21 - 174Controllo pagamento: 574 400 + 574400Spesa 35 539 35 - 539Spesa 74 465 74 - 465Spesa 26 439 26 - 26Spesa 100 339 100 - 339Spesa 10 329 10 - 329 Vuoi sperimentare l’utilizzo di una delle prime calcolatrici HP in notazione RPN, collegati al sito http://www.hpmuseum.org/simulate/hp35sim/hp35sim.htm(1) Modo algebrico: definizione della notazione matematica utilizzata su tutte le calcolatricinon-RPN quando si immette unequazione matematica nel seguente modo: 1+3*(3+(2-5)/3).In modo algebrico le parentesi e lordine delle operazioni sono estremamente importanti.(2) Stack: detto anche LIFO (last-in, first-out), costituisce la base del sistema RPN essendola memoria che consente allutilizzatore di immettere i numeri Capitolo I –Numerare contare calcolare 28
  • Le origini dell’informatica(3) Inserimento: laggiunta di un numero alla fine dello stack che spinge tutti gli altri numeriverso lalto.(1) Rimozione: leliminazione dellultimo numero inserito in uno stack. Capitolo I –Numerare contare calcolare 29
  • Le origini dell’informatica Riferimenti capitolo 1 [1] Michael R. Williams A HISTORY OF COMPUTING TECHNOLOGY – IEEE COMPUTER SOCIETY 1996 Capitoli 1 e 2 [2] Nathan Altshiller Court -Mathematics in the History of Civilization – A.B. Arndt - Al Kwartizmi in From Five fingers to Infinity – Open Court [3] Ettore Picutti -Leonardo Fibonacci – Le Scienze Aprile 1982 [4] L.E. Sigler – Fibonacci’s Liber Abaci , A translation into Modern English of Leonardo Pisano’s Book of alculation – Springer Verlag New York - 2002 – www.verlag-ny.com Siti INTERNET http://www.hpmuseum.org/. Capitolo I –Numerare contare calcolare 30
  • 2 Macchine per calcolare I moderni elaboratori traggono le origini dalle macchine meccaniche sviluppate a partire dal 1600 per automatizzare le quattro operazioni aritmetiche. Le difficoltà incontrate dai primi pionieri furono enormi, poiché oltre allo sviluppo teorico dei meccanismi, le Fig. 10 Blaise Pascal rudimentali tecnologie meccaniche dell’epoca comportarono enormi problemi per la realizzazione pratica delle opere ideate. Le prime idee si mossero dall’utilizzo di una rappresentazione delle cifre decimali baste su ruote dentate con una posizione di riferimento. Per sommare il contenuto di due ruote, si faceva girare una terza ruota prima di un numero di scatti pari alla prima e poi pari alla seconda. Il problema maggiore da risolvere era quello della generazione dei riporti. Comunque le macchine di quest’epoca si possono ricondurre a sistemi basati su sei componenti fondamentali: Un meccanismo che oggi definiremmo di ingresso, che permettesse di caricare i numeri da elaborare. Un meccanismo di selezione che determinasse i movimenti da eseguire nel caso di un’addizione o di una sottrazione. Un meccanismo in gradi di registrare un numero all’interno della macchina.Fig. 9 La pascalina Un meccanismo di riporto, in grado di assicurare, nel caso il risultato di una somma fosse maggiore di 9, il riporto di una unità sulla ruota successiva.
  • Le origini dell’informaticaUn meccanismo di controllo in grado di impostare una posizione iniziale pertutte le ruote.Un meccanismo per cancellare il numero memorizzato nella macchina.In merito ai primi lavori in questo campo, sebbene alcune leggende accreditinoal monaco Gerbert che divenne papa con il nome di Silvestro II, come il primoa sviluppare un congegno per il calcolo automatico, la prima macchina di cui siabbia notizie storiche certe, è quella sviluppata da Wihelm Schikard ( 1592 –1635 ). Personaggio dai molteplici interessi, paragonato spesso per il suoeclettismo a Leonardo da Vinci, scienziato, inventore e pittore, si trovò acollaborare in diverse occasioni con Keplero. Della sua macchina per calcolarenon sono rimaste tracce, probabilmente anche perché tutta la famiglia si estinsedurante una delle periodiche epidemie che travagliarono l’Europa. In base alleinformazioni disponibili nel 1971 si è costruita una replica della macchina.2.1 La macchina di PascalMa il contributo più noto venne da Blaise Pascal ( 1623 – 1662 ), la suamacchina si basava su principi completamente differenti da quelli di Schickard,di cui non si ritiene avesse notizia. Nato nel sud della Francia, da famiglianobile, Pascal fu educato in famiglia, principalmente da parte del padrepotendo contare su una vasta biblioteca. A seguito di un tracollo economicodovuto ad una forte diminuzione sugli interessi deldebito pubblico a seguito della guerra dei Differenze con i complementitrent’anni, il padre cadde in disgrazia e vene anche Sottrarre 34 a 87imprigionato. Riabilitato, anche a seguito delle 87 -perorazioni dei figli, gli venne assegnato l’incarico 38di esattore delle tasse nel nord della Normandia, ______ 49incarico non certo molto popolare ma che complemento a 99 di 38 = 61consentiva alla famiglia un certo agio. Fu proprio aseguito di tale incarico e dei laboriosi conti 87 + 61+giornalieri necessari alla tenuta dei registri che 1Pascal progettò e costruì la sua macchina da ______ 149calcolo. La prima macchina venne costruita nel1642, ma si ritiene che nel corso della sua vita ne Non considerando il riporto si ottiene il medesimo risultato. Certo eseguire ilcostruì in totale cinquanta esemplari . I numeri complemento a 99 è sempre unavenivano inseriti mediante una serie di ruote forate sottrazione, ma si può fare senza riportiper mezzo di un perno un sistema simile ai selettoridecadici dei telefoni. I risultati venivano riportati inuna serie di finestrelle nella parte superiore dellamacchina. Le ruote potevano muoversi solo in una direzione, di conseguenza sipotevano eseguire solo operazioni di somma, le sottrazioni venivano eseguiteutilizzando il complemento a nove del numero da sottrarre il meccanismo delriporto è molto simile a quello di Schickard e si basa sull’utilizzo di una ruotacon un solo dente accoppiata a quella per rappresentare il numero e che, soloCapitolo IV – I primi elaboratori 32
  • Le origini dell’informatica dopo una rotazione completa, causasse la rotazione di uno scatto di quella successiva. Il problema maggiore consisteva nel fatto che nel caso un riporto generasse a sua volta un riporto e così via in catena, le forze necessarie da applicare per ottenere la generazione di tutti questi valori poteva compromettere i delicati meccanismi della macchina. I problemi maggiori che Pascal dovette affrontare per la costruzione delle sue macchine non furono tanto legati alla soluzione dei problemi teorici quanto alla loro realizzazione pratica. Per tali motivi, dopo alcuni deludenti risultati, si cimentò direttamente nella realizzazione pratica sperimentando diversi materiali per la costruzione degli ingranaggi, tra cui anche l’avorio. La vita di Pascal non fu certo felice, travagliato oltre che dalle difficoltà economiche anche da disturbi fisici molto forti, dovuti a malformazioni degli organi interni e del cervello, morirà in completa povertà, forse proprio ad una vita così travagliata va ricondotto il suo grande contributo filosofico e matematico. Il rifugiarsi in tali attività gli era forse unico sollievo ai tanti dolori e dispiaceri.2.2 Leibnitz, un meccanismo per moltiplicare Un ulteriore contributo venne dal matematico tedesco Wihelm Leibnitz ( 1646 – 1716 ). Anche per lui educazione in famiglia resa possibile dalla disponibilità di una vasta biblioteca dove, dopo la morte del padre a soli sei anni, potrà liberamente formarsi. Certamente venne a conoscenza della macchina di PASCAL ma non ci è noto se ebbe la ossibilità di vederla funzionare. L’innovazione introdotta era la capacità di eseguire le moltiplicazioni. Per tale operazione era disponibile un congegno che, operando su una struttura di base simile a quella di Pascal, poteva essere accoppaiato a due ingranaggi per eseguire la moltiplicazione delle due cifre rappresentate. Come si può notare nell’illustrazione, il congegno poteva muoversi ( la parte circolare ) per venire accoppiata a qualsiasi coppia di ruote. Il meccanismo si basava Fig.12 Gottfried W. su di un cilindro con Leibnitz 1646 - 1716 scanalature di lunghezza proporzionale alle nove cifre. Questo meccanismo venne ripreso anche da altre macchine successive. Citiamo tra i maggiori tentativi di miglioramento di macchine basate su Fig.11 La macchina di Lebnitz questo principio quelle realizzate da Samuel Morland,Renè Grillet e tutte le macchine commerciali prodotte a partire dal 1820, che portarono alle calcolatri meccaniche da tavolo in uso fino agli anni’70. Da questo ramo evolutivo si stacca una nuova tipologia di macchine, Capitolo IV – I primi elaboratori 33
  • Le origini dell’informatica si comincia a pensare di costruire macchine che non solo sappiano fare i calcoli ma che possano essere utilizzate a scopo generale, ma vediamo prima quale fu la necessità che spinse a questa evoluzione. 2.3 Il problema della longitudine e della latitudine Nel secolo XIX l’aumento dei traffici mercantili comporta che per la principale potenza marittima del tempo, la Gran Bretagna, la questione della sicurezza in mare diventa di primaria importanza. A tale scopo assumeva particolare importanza poter stabilire con precisione la posizione di una nave in mare. Se nel Mediterraneo era possibile effettuare una navigazione prevalentemente costiera questo non era possibile sugli oceani. Si disponeva già di carte nautiche abbastanza dettagliate ma a nulla potevano servire senza la possibilità di conoscere la propria posizione. Per determinarla occorre conoscere due angoli rispetto al sistema di coordinate sferiche, la longitudine e la latitudine. Per il primo la determinazione siFig 13 .Jhon Harrison1693 - 1776, ritratto con il basa sulla misura dellacronometro H3. differenza fra i valori simultanei del tempo locale t di un astro e del tempo dello stesso astro rispetto ad un meridiano di riferimento. Occorre quindi poter disporre del tempo rispetto al meridiano di riferimento. Non potendo disporre di uno strumento accurato a tale Fig.14 H1 , presentato nel 1736 al scopo nel corso dei secoli si svilupparono diversi Board of Longitude metodi per raggiungere lo scopo. Tra tutti merita di essere citato quello dovuto a Galileo Galilei ( 1564 – 1642 ). A seguito della sua scoperta delle lune di Giove nel 1610. Le quattro lune battezzate Astri Medicei ruotano attorno al pianeta con tale rapidità da Capitolo IV – I primi elaboratori 34
  • Le origini dell’informaticadare luogo ad eclissi che potevano essere utilizzate per il calcolo dellalatitudine. Si possono utilizzare due eclissi nel corso di una notte e su questabase Galileo produsse delle tabelle che consentivano di ricavare la longitudine.Naturalmente restava la difficoltà di procedere all’osservazione delle eclissidelle lune di Giove dal ponte di una nave a vela nel mezzo dell’oceano.Naturalmente il punto nave e di maggiore importanza in mezzo a una tempestae con il mare molto mosso. La vera soluzione rimaneva la costruzione di unorologio che consentisse di mantenere il tempo con un errore molto basso. Unsecondo d’arco corrisponde sulla sfera terrestre ad un miglio marino. L’uso diorologi a bordo delle navi risale al XVI secolo ma la precisione era del tuttoinsufficiente. Per tale motivo il parlamento inglese nel 1714 , su proposta delmatematico W. Whiston e con il consenso della regina Anna approvò ilLongitude Act con lo stanziamento di un premio di 10.000 , 15.000 o 20.000sterline (si stima equivalenti a 12 milioni di Euro attuali ) a chi avessedeterminato la longitudine rispettivamente con la precisione di 1°, 0°,75 e di0°,50 . Tra le motivazioni che portarono a tale decisione vi fu l’ennesimosinistro navale, la flotta da guerra inglese perse otto navi con 900 uominipresso la foce del fiume S.Lorenzo, le somme promesse, da capogiro perl’epoca, esprime in modo eloquente lo smarrimentodell’intera nazione di fronte alla mancanza di metodisicuri per poter evitare tali disastri. La soluzione arrivòcon Jhon Harrison, un geniale meccanico che nel 1736presentò il suo primo modello di orologio denominatoH1 al Board of Longitude, la commissione designatadal parlamento per valutare l’assegnazione del premio.L’ingegnosa costruzione prevedeva un orologio quasidel tutto privo di attrito , in gradi di mantenere le partimobili in reciproco equilibrio senza l’effetto del motoondoso. Lo stesso anno la regia nave Centurionsperimentò l’utilizzo dell’H1 in un viaggio tra Londra e Fig.15 H3 , il primo cronografoLisbona. L’orologio perse solo un secondo nelle 24 ore. marino, che permise ad Harrison diCionondimeno la commissione decise solo di ricevere il premio di 20.000 sterline.concedere 500 sterline per studiare successiviaffinamenti non ritenendo l’orologio sufficientementecorrispondente alle richieste del Longitude Act. Occorsero 40 anni perché,finalmente, Harrison potesse incassare la meritata ricompensa, dopo ildefinitivo collaudo effettuato dal capitano James Cook nel suo secondo viaggiocon la Resolution nel 1772. I membri della commissione osteggiarono in ognimodo Harrison, convinti sostenitori che la soluzione del problema dellalongitudine potesse venire solo da metodi astronomici. Incidentalmente valela pena di ricordare che da solo H3 e il successivo H4, erano talmentecomplessi da rendere improba l’impresa di riprodurli in serie.Il Board iniziò allora a ricercare orologiai in grado di riprodurre, con la dovutaprecisione, il cronografo. Il primo a riuscire nell’impresa, ricompensato con unpremio di 500 sterline fu Larcum Kendal con il K1. Un ulteriore miglioramentofu ricompensato con altre 200 sterline nel 1776 per il K2. Il K2 venneCapitolo IV – I primi elaboratori 35
  • Le origini dell’informaticaimbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nelcelebre ammutinamento nel 1789 fu il K2 che consenti agli ammutinati, guidatidal secondo ufficiale Fletcher Christian, di rifugiarsi nell’isola di Pitcarin.Perché una nuova tecnologia possa effettivamente avere ripercussioni sullasocietà deve essere riproducibile in modo semplice e ampliamente disponibile.Nel 1860 la Royal Navy disponeva di più di 200 navi presenti su tutti i settemari e possedeva più di 800 cronografi.Risolto il problema di come calcolare la longitudine rimaneva però quello dellalatitudine. Fin dai tempi più antichi l’uomo si è orientato sul mare seguendo lestelle, la testimonianza più antica la troviamo nell’Odissea. Nota l’altezzasull’orizzonte di un corpo celeste, sapendo quale è la posizione del corpoceleste sulla sfera celeste è possibile risalire alla latitudine dell’osservatoresulla terra. A causa del movimento della terra attorno al sole e dell’interosistema solare nella nostra galassia , tale posizione varia di anno in anno.Occorre pertanto fornire ai naviganti delle tavole che mappino i principalicorpi celesti alle varie latitudini. Tali tavole, denominate Effemeridi Nautiche,vanno prodotte a cadenza annuale e, possibilmente, non devono contenereerrori.Vi era pertanto un grande interesse per un sistema di calcolo che consentisse diricavare tali dati in modo automatico, veloce e sicuro. Il parlamento ingleseavrebbe volentieri speso una somma uguale al premio conferito ad Harrison pertale scopo.Capitolo IV – I primi elaboratori 36
  • Le origini dell’informatica2.4 Il grande precursore I considered that a machine to execute the more isolated operations of arithmetic, would be comparatively of little value, unless it where very easily set to do is work, and unless it executed not only accurately, but with great, rapidity, whatever it was required to do. (Charles Babbage, Passage from the life of a Philosopher) Se già da due secoli si erano sviluppate macchine meccaniche per eseguire calcoli, non si può certo dire fossero molto funzionali e le capacità di gestire numeri elevati erano molto limitate. In questo quadro sinserisce il pensiero e lopera di Charles Babbage, matematico, scienziato, inventore o, come lui stesso si definì nella sua autobiografia, filosofo. Rivestì a Cambridge lo stesso prestigioso incarico che già fu di Isac Newton, la cattedra lucasiana. Già in questincarico dimostro le sue capacità innovative e lo spirito di precursore, Fig. 16 Charles Babbage 1791-1875 portando nel mondo statico e immutabile delluniversità, che ancora poneva al centro delle proprie attenzioni le idee di Newton, la ventata di innovazione che proveniva Babbage, il primo a dal continente dove si stavano ponendo i fondamenti del calcolo differenziale concepire una macchina ed infinitesimale. Si occupò di ricerca operativa e della costruzione delle programmabile prime ferrovie, spaziò in tutti i campi della scienza ottocentesca.Ma tra tutti gli interessi quello che caratterizzò la vita di questuomo straordinario fu quello delle macchine per il calcolo automatico. Sulla base del fatto che lo sviluppo in serie di potenze può approssimare qualsiasi funzione continua ed utilizzando un metodo particolare noto come metodo alle differenze, progettò una macchina completamente meccanica, che, rappresentando le informazioni per mezzo di ruote dentate a dieci posizioni (sistema decimale), era in grado di svolgere operazioni in virgola mobile di numeri fino a 60 cifre. La soluzione più ingegnosa introdotta fu il meccanismo per il riporto, che anziché eseguire i singoli riporti effettuava ununica operazione alla fine delle somme parziali per mezzo di un congegno a orologeria. La macchina destò un enorme interesse, infatti in piena rivoluzione industriale tutti i campi della tecnica risentivano pesantemente della mancanza di metodi per il calcolo automatico. La necessità di effettuare grandi moli di calcoli manualmente introduceva infatti la possibilità di errori di calcolo molto frequenti. Babbage era solito vantarsi del fatto che la sua macchina avrebbe potuto o non riuscire o dare un dato esatto, Capitolo IV – I primi elaboratori 37
  • Le origini dell’informaticasenza possibilità di ambiguità. Quello che ci si proponeva non era di costruireuna macchina da replicare in grande serie e da porre al servizio dell’utente, cisi accontentava di produrne una sola da destinare alla produzione di tavole,logaritmiche , trigonometriche , per calcolare i tassi di ammortamento deimutui o le già citate Effemeridi Nautiche. Le tavole dovevano essere calcolatecon metodi manuali ed il lavoro necessario era enorme. In Francia, dopo larivoluzione e l’introduzione del sistema metrico decimale si rese necessariopredisporre nuove tavole in ogni campo. A tale scopo il direttorio radunò imigliori matematici di Francia, che a loro volta dovettero utilizzare più dicento persone per il lavoro di calcolo. Normalmente la biblioteca di un tecnicopoteva contenere un centinaio di volumi di tavole. Quella di Babbage necontava più di trecento. Il lavoro manuale comportava inevitabilmente errori inogni fase della produzione delle tavole compresa quella di stampa. Non erararo assistere che a seguito dellapubblicazione di un volume seguisse abreve quella dell’errata corrige, seguita dauna errata corrige delle prima errata eduna seconda errata dell’errata. La solasoluzione al problema era lameccanizzazione dell’intero processo. Lostesso Babbage pubblicò attorno al 1820una raccolta di tavole logaritmiche el’esperienza lo incitò all’ideazione di unatale macchina.La costruzione della macchina alledifferenze fallì miseramente, lelevatonumero dei componenti da realizzare(20.000) lalta precisione richiesta e ladisponibilità di macchine utensili Fig. 17 La sezione costruita a scoporudimentali vinsero alla fine la tenacia dimostrativo da Clement della macchina alledellautore. Certo tale insuccesso ebbe differenzetra le cause il carattere irruente diBabbage e i continui conflitti con il capomeccanico Clement. A seguito di questepisodio nella storia della scienza lafigura di Babbage fu indissolubilmente legata allincompiutezza del suoprogetto, e rimase il dubbio se effettivamente la macchina fosse realizzabile ole idee di base fossero realizzabili. Per sciogliere tale dubbio, alcuni ricercatori del museo della scienza e dellatecnica di Londra hanno provato a realizzare, per il centenario della nascita diBabbage la seconda macchina alle differenze, sponsorizzati da diverse ditteproduttrici di elaboratori. La macchina, in ottone, è stata realizzata e funzionaperfettamente, pesa diverse tonnellate e consente di effettuare operazioni invirgola mobile con numeri fino a 36 cifre. Questo ha quindi dimostrato lavalidità delle idee di Babbage. Il fallimento della realizzazione della macchina alle differenze condizionòpesantemente la vita di Babbage, ma non ne fermò la furia creativa. DopoCapitolo IV – I primi elaboratori 38
  • Le origini dell’informatica pochi anni cominciò a lavorare ad un nuovo progetto che denominò macchina analitica, che doveva essere una macchina di uso generale, in grado cioè di eseguire una sequenza di operazioni base che di volta in volta venivano fornite dall’esterno mediante schede perforate, come già si faceva per i telai di Jacquard. La macchina era divisa in sezioni, una per acquisire dati e istruzioni, una per eseguirle ed una per stampare i risultati. E in questo progetto che oggi si riconosce a Babbage il ruolo di grande precursore nello sviluppo dellelaboratore.2.5 La costruzione della prima macchina alle differenze L’avventura inizia nel Luglio del 1823 quando il Lord Cancelliere dello Scacchiere accorda un anticipo di 1.500 Sterline, dopo che il Consiglio della Royal Science Society si era espresso favorevolmente sulla validità del progetto proposto. Una cifra tra 3.000 e 5000 Sterline venne messa a disposizione dello stesso Babbage, che contava in un rimborso da parte del Governo una volta completata l’opera. Fu subito chiaro dopo la costruzione di una sezione funzionante della macchina a scopo dimostrativo che per la effettiva realizzazione dell’opera si sarebbe dovuto migliorare le tecniche all’epoca disponibili. Cosa che abbiamo già visto accadde anche a Pascal. Babbage fu fortunato nel trovare come capo meccanico Samuel Clement , senza dubbio uno dei più esperti meccanici dell’epoca. Gli anni che seguirono furono Fig. 18 Una leva per il riporto, sullo sfondo il disegno del segnati dall’intensa collaborazione pezzo tratto dalle tavole originali. tra i due che portò alla definizione di nuovi strumenti ed utensili che spesso venivano utilizzati per produrre a loro volta utensili ancora più perfezionati. Una schiera di tecnici si formò sotto la direzione di Clement e furono in seguito disseminati nelle officine di tutto il paese. Lo sforzo profuso fu tale che possiamo oggi ben dire ben spesi i soldi investiti del governo per il solo ritorno di miglioramento tecnico indotto nel paese. Si può paragonare la portata del progetto a quella del più recente progetto Apollo. Dopo quattro anni di intenso lavoro Bababge venne colpito in un breve lasso di tempo da una serie di sciagure famigliari. Perse in poco tempo la moglie, il figlio più giovane ed il padre. Nel Ottobre del 1827 si manifestarono parecchi problemi di salute e i medici gli consigliarono un soggiorno nel clima caldo dell’Italia. In tale periodo ebbe occasione di Capitolo IV – I primi elaboratori 39
  • Le origini dell’informaticariordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterlinespese. Richiese nuovamente l’intervento del Lord Cancelliere e dopoperorazioni di numerosi amici, tra i quali il Duca di Edimburgo, gli venneconcesso un ulteriore finanziamento di 3.000 Sterline . Negli anni seguenti ilreperimento degli ulteriori fondi divenne via via più difficoltoso. Questocomportava lunghi periodi di inattività durante i quali il personale assunto eistruito finiva con l’allontanarsi. Alla ripresa dei lavori si doveva assumerenuovo personale e procedere alla formazione. Durante uno di questi periodiBabbage pensò di costruire un nuovo edificio a fianco della propria abitazioneper ospitare la macchina una volta completata, che al momento era incostruzione presso il laboratorio di Clement. Da questo nacque una disputa conil medesimo che lavorando anche per altri clienti, non voleva il trasferimento ditutta l’officina nel nuovo edificio. La disputa portò alla rottura del sodalizio trai due, fatto deleterio per il progetto anche perché per la legge inglese a seguitodella risoluzione del contratto tutti gli strumenti sviluppati rimasero proprietàdi Clement. Durante i lunghi periodi di inattività Babbage dopo l’esperienzagià maturata ideò una nuova macchina di concezione molto più avanzata ecomunicò al governo che secondo la sua opinione la costruzione della nuovamacchina sarebbe stata di gran lunga più conveniente rispetto alcompletamento di quella in costruzione. Per il Governo dopo le ingenti sommespese fu una vera doccia fredda. Vi fu una vivace seduta del parlamento doveun deputato dell’opposizione propose ironicamente di richiedere a Babbage secon la parte già costruita della macchina fosse in grado di calcolare quantosarebbe costato completarla. Il 3 Novembre 1842 il Primo Ministro comunicòufficialmente a Babbage che il governo non era più intenzionato a finanziare ilprogetto. Il Governo aveva contributo con un totale di 17.000 Sterline.2.6 La ricostruzione della seconda macchina alle differenze di BabbageLa risoluzione del dilemma sulla effettiva possibilità che le macchine diBabbage potesserofunzionare si è avuta solo nel1991, in contemporanea conil bicentenario della nascitadi Babbage. Il progetto èstato sviluppato al ScienceMuseum di Londra,basandosi sui progettioriginali e sui quaderni diappunti dell’autore. Durantela costruzione dellamacchina, che pur con Fig. 19 Il metodo alle differenze. La serie delle terze differenze assume un valore costante. Sulla base di questa osservazione si può costruire la serie con solo operazioni di somma.Capitolo IV – I primi elaboratori 40
  • Le origini dell’informatica l’impiego dell’attuale tecnologia ha richiesto due anni di lavoro si sono evidenziati alcuni errori di progetto, ma essenzialmente la macchina risulta corretta e come già detto perfettamente funzionante. Non è stata costruita la stampante che da sola presenta già una notevole complessità. Anche senza tale meccanismo, comunque la macchina pesa tre tonnellate. Cosa interessante della ricostruzione è che nella costruzione dei 4000 diversi tipi di pezzi necessari, pur utilizzando tecniche a volte diverse rispetto a quelle disponibili all’epoca si è sempre rispettata la precisione all’epoca disponibile, smentendo così l’idea che il progetto non venne realizzato per problemi inerenti l’impossibilità di conseguire la necessaria precisione. Il vero ostacolo fu solo, per l’epoca, l’enorme complessità. La macchina ricostruita è la seconda macchina alle differenze, così chiamata in quanto si basava sul metodo alle differenze finite illustrato nella figura . Il ruolo della stampante era importante in quanto nelle intenzioni dell’autore avrebbe dovuto produrre direttamente su lastre in alluminio la matrice per la stampa evitando in tale modo l’introduzione di errori tipografici nella composizione dei caratteri di stampa, Fig.27 L’unica parte purtroppo molto frequenti con la predisposizione manuale. costruita della macchina analitica, il mulino. Venne costruita da parte del figlio2.7 La macchina analitica di Babbage Maggiore Henry P. Babbage con l’aiuto di Il più grande contributo dato da Babbage, anche se solo R.W.Monroe. Fu completata nel 1906 e concettuale, non fu però la macchina alle differenze. venne utilizzata per Appare quasi incredibile oggi riscontrare come un uomo solo calcolare i primi 25 potesse aver concepito un progetto talmente complesso e le cui multipli di π con una basi sono ancora oggi utilizzate nei moderni elaboratori. Le precisione di 29 cifre. macchine alle differenze erano infatti macchine mono scopo che potevano essere utilizzate solo per il calcolo polinomiale. L’idea alla base della macchina alle differenze è quella di una macchina di uso generale e programmabile dall’esterno mediante schede perforate. Questo naturalmente rivoluziona il concetto di macchina anche se nelle idea di Babbage il programma veniva acquisito dall’esterno. Anche se con tali limiti, comunque si comincia a riflettere sulle possibilità offerte da questo tipo di approccio, in particolare la possibilità di iterare una serie di istruzioni per un certo numero di cicli, o di scegliere tra diversi percorsi in base al valore di una variabile. Il concetto di ciclo e di selezione. Rotto il sodalizio con Clement Babbage si trovò a riflettere sul sistema della macchina alle differenza e concepì una nuova organizzazione della macchina nella quale le barre con i risultati potevano riportare il risultato per essere riutilizzato in calcoli successivi. Per ottenere questo pensò di organizzare i registri in forma circolare. Capitolo IV – I primi elaboratori 41 Fig.20 Charles Babbage
  • Le origini dell’informaticaQuesto lo portò a pensare che ogni barra potesse essere equivalentenell’utilizzo, un luogo dove memorizzare temporaneamente un valore da poterutilizzare successivamente. Un registro . Nel maggio 1835 in una lettera a Mr.Quetelet scriveva :“… for six months been engaged in making the drawings of a newcalculating engine of fa greater power than the first. I am myself astonishedat the power I have been enabled to give to this machine; a year ago I shouldbot have belived this result possible.”Il fatto che Babbage non fosse intenzionato a tentare la costruzione dellamacchina analitica fece si che non predispose dei progetti dettagliati macontinuò a lavorare al progetto fino alla morte. Comunque già nel 1840 le partiprincipali erano definite. Nel disegno a lato , una vista dall’alto, si possonovedere tutte le parti principali , ogni cerchio rappresenta una colonna diingranggi ( un registro ) , vi sono circa duecento colonne di ingranaggi anchese la maggior parte ha lo scopo di meccanismi di controllo. La macchina ècomposta da tre parti principali, il magazzino, il mulino e la barra di controllo. Il magazzino corrisponde alla memoria di lavoro (RAM) dei modernielaboratori, il mulino all’unità aritmetico logica e la barra di controllocostituisce una rudimentale unità di micro controllo. Così come nella macchinaalle differenze ogni colonna di ingranaggi memorizzava un numero con laposizione degli ingranaggi, ognuno dei quali poteva assumere dieci differenze posizioni. Nel prospetto possiamo individuare 16 colonne, in ognuna delle quali si possono immagazzinare due numeri. I numeri potevano essere trasferiti da e al mulino mediante la catena di ingranaggi rappresentata dalla lunga linea a destra e contrassegnata con Rack. Il mulino consiste in un complicato insieme di Fig.21 La barra di controllo ingranaggi e di trasmissioni distribuiti attorno al cerchiocentrale. Consiste in una serie di accumulatori (A e A’) e degli ingranaggiassociati utilizzati per i riporti da uno all’altro, un terzo accumulatore (“A”) ècollocato appena sotto. Veniva utilizzato come appoggio per le operazioni dimoltiplicazione e divisione. I nove piccoli assi ( da T1 a T9 ) collocati alcentro del mulino sono da utilizzare per le moltiplicazioni e per le divisioni.Quando la macchina doveva moltiplicare x per y i nove multipli di x venivanoimmagazzinati nei nove piccoli assi e questi prodotti parziali venivano aggiuntial registro del risultato tante volte quanto y. Durante la moltiplicazione i dueaccumulatori potevano essere collegati tra di loro per memorizzare il risultato.Capitolo IV – I primi elaboratori 42
  • Le origini dell’informaticaFig 22 . La macchina analitica vista dall’alto , dalle tavole originali di Babbage Le divisioni vengono eseguite in modo analogo. Le barre di controllo ( contrassegnate con B ) realizzano le microistruzioni necessarie per eseguire una operazione. Come illustrato nel disegno seguente le barre possono muoversi avanti ed indietro ( nella parte di macchina contrassegnata Reducing Appr ) per agganciar o sganciare le leve e gli ingranaggi utilizzati per realizzare le diverse operazioni. Ogni barra di controllo è in grado non solo di immagazzinare le microistruzioni da eseguire ma anche l’indirizzo della prossima microistruzione . L’ultima struttura principale ( contrassegnata con Counting Apparatus ) è semplicemente un registro contatore , da utilizzare per conteggiare quante volte una operazione viene effettuata. Secondo Babbage la macchina avrebbe richiesto 2,5 secondi per trasferire un numero da un registro esterno ad un registro del mulino mentre addizionare un numero ad un registro già contenuto nel mulino 3 secondi. La realizzazione della macchina avrebbe rappresentato quindi un enorme avanzamento per le capacità di calcolo dell’epoca. Dopo più di cento anni il MARK1 realizzato da Haiken con componenti elettromeccanici sarà in grado di realizzare una addizione in 0,3 secondi. Una delle parti più difficile della macchina analitica è costituita dal meccanismo per controllare i riporti multipli, come quelli che si generano sommando 1 a 999.999. Il problema viene risolto con un meccanismo denominato riporto anticipato. Il riporto viene controllato da una serie di segmenti che vengono anticipatamente posizionati in corrispondenza delle ruote che memorizzano 9. Con l’operazione la forza applicata da un lato viene trasmessa solo fino a quando I segmenti sono presenti . La precisione necessaria per realizzare i singoli pezzi è inferiore Capitolo IV – I primi elaboratori 43
  • Le origini dell’informatica a 0,5 centesimi di millimetro, realizzabile ai tempi di Babbage ma con costi enormi.Fig. xx Il mulino della macchina analitica, in costruzione al tempo della morte di Babbage. Capitolo IV – I primi elaboratori 44
  • Le origini dell’informatica 2.8 Ada Lovelace e i primi programmi Come già detto Babbage non fornì progetti dettagliati della macchina analitica ma in occasione di un viaggio in Italia ebbe occasione di esporre il progetto ad un gruppo di matematici e ingegneri torinesi, tra cui L.F.Menabrea , che diventerà successivamente anche capo del governo, e che predispose un resoconto dell’esposizione. Una collaboratrice ed amica di Babbage tradusse l’articolo in inglese, Ada Augusta King, Contessa di Lovelace, figlia del poeta Byron. Aggiunse anche commenti e note per spiegare i dettagli di funzionamento della macchina. Tra questi una dettagliata descrizione di come la macchina doveva essere programmata, utilizzando schede perforate, idea derivata dal telaio automatico di Jacquard. Molto si è discusso sul ruolo avuto da Ada, secondo alcuni fu la prima programmatrice, avendo scritto autonomamente i programmi a noi pervenuti, secondo altri non ebbe altroFig. 23 Ada Augusta ruolo che quello di trascrivere gli appunti di Babbage.Byron Contessa di La verità ci viene fornita dallo stesso Babbage, in unaLovelace 1815 - 1851 lettera definisce Ada la sua interprete. Non avendo il tempo di predisporre rapporti dettagliati dei propri lavori, Ada provvedeva pazientemente al lavoro aggiungendo esemplificazioni e spiegazioni . Ada ebbe una educazione di prim’ordine, inusitata anche per una persona nobile dell’epoca e, soprattutto, per una donna. “ La caratteristica distintiva della macchina analitica è l’introduzione del principio ideato da Jacquard per realizzare, attraverso schede perforate, i disegni più complessi nella fabbricazione di stoffe broccate …. Possiamo effettivamente dire che la macchina analitica tesse disegni algebrici proprio come il telaio di Jacquard tesse fiori e foglie “ ma rispetto all’alea di leggenda che circondava la macchina, che si sospettava potesse pensare come l’uomo Ada ridimensiona la cosa , “La macchina analitica non ha alcuna pretesa di originare qualcosa, può fare qualsiasi cosa noi sappiamo come ordinarle di eseguire “ Esaminiamo come negli appunti redatti da Ada la macchina avrebbe dovuto Capitolo IV – I primi elaboratori 45 Fig.24 Una scheda per programmare la macchina analitica , le schede erano unite tra loro con un corda, notare i commenti in alto.
  • Le origini dell’informaticaessere programmata. Facendo riferimento allo schema della macchina delparagrafo precedente, le schede con le istruzioni per la macchina dovevanoessere raccolte in sequenza per costruire un programma. Il lettore delle schedele leggeva una volta, una scheda poteva contenere una istruzione come adesempio V6 x V3, e in conseguenza la barra doveva eseguire la sequenza dioperazioni necessari per realizzare l’operazione.Capitolo IV – I primi elaboratori 46
  • Le origini dell’informatica Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con la macchina analiticaEra possibile effettuare dei cicli con delle istruzioni del tipo, Se l’apparato dicontrollo contiene un numero inferiore a N allora ritorna indietro nellasequenza di schede di P posizioni.Capitolo IV – I primi elaboratori 47
  • Le origini dell’informaticaUn ciclo repeat until . Le schede erano però suddivise in lettori diverse, schedecon istruzioni di controllo, schede con indicazione dei registri coinvoltinell’operazione, schede con costanti da acquisire dall’esterno. Questo avrebbepermesso di creare cicli di operazioni da applicare a gruppi diversi di registri outilizzare costanti diverse nei medesimi calcoli.Vediamo un esempio :La macchina deve essere predisposta per eseguire l’operazione a(b+c)/(d-e)Inizialmente i valori devono essere inseriti manualmente nei registriA in V1B in V2C in V3D in V4E in V5Indichiamo le schede con le direttiveN’ la macchina trasferisce il contenuto del mulino nel registro N‘N la macchina trasferisce il contenuto del registro N nel mulinoLa sequenza di schede di controllo‘2 , ’3 , 6’ , ’6 , ’1 , 7’ , ’4 , ’5 , 8’ , ’7 , ’8 , 9’in combinazione con le schede delle operazioni+,x ,-,/comporterà l’esecuzione delle operazioni :V2 + V3 = V6V6 * V1 = V7V4 - V5 = V8V7 / V8 = V9Quanto illustrato è un esempio molto semplice maci sono pervenuti anche programmi molto piùcomplessi, tra cui uno per il calcolo dei numeri diBernoulli. Nella figura sono rappresentate leistruzioni per il calcolo del quarto numero. Leprime sei colonne rappresentano le operazioni, lecolonne rimanenti i contenuti dei registri. Ogni riga Fig. 26 Charles Babbage , dagherrotipoCapitolo IV – I primi elaboratori 48
  • Le origini dell’informatica corrisponde ad una singola istruzione. Quando il programma ha inizio ci sono sei variabili in uso , V1,V2,V3,V21,V22,V23. I valori sono 1,2.. n ( con n in questo caso 4 perché si sta calcolando il quarto numero di bernoulli, V10 viene utilizzato per immagazzinare il numero di iterazioni che rimangono da effettuare. Alla prima iterazione V10 vale n-1, alla seconda n-2, e così via. Quando V10 vale 1 il ciclo si arresta, il numero è stato calcolato. Le prime sei operazioni calcolano (1/2)x(2n-1)(2n+1) e immagazzinano il valore in V13. L’operazione 7 sottrae 1 da n e assegna il risultato a V10 completando la prima iterazione. Le operazioni 8,9 e 10 calcolano 2n-2 e lo moltiplicano per B1, calcolato in precedenza e immagazzinano i V21 il valore risultante. L’operazione 11 prende V12 e lo somma a V13, l’operazione 11 prende V12 e lo somma a V13, l’operazione 12 sottrae 2 da n e ne immagazzina il valore in V10, completando la seconda iterazione. Le operazioni da 13 a 21 calcolano il successivo valore e lo moltiplicano per B5. Il programma presenta anche un errore, nell’operazione 21, il terzo fattore del denominatore dovrebbe essere 4 e non 3, ma d’altronde Ada non ebbe mai la possibilità di provare il programma.2.9 Macchine per gestire e organizzare le informazioni Le macchine che abbiamo sino ad ora citato sono essenzialmente concepite per eseguire calcoli di tipo matematico. Merita di essere citata anche la macchina costruita negli Stati Uniti per l’elaborazione automatica dei risultati dei censimenti, nel 1890 da Herman Hollerith. Nel 1790 la popolazione degli Stati Uniti era di circa 4 milioni di abitanti, nel 1840 di 17. Per poter assolvere a quanto previsto dalla costituzione in termini di elezioni, si rendevano necessari frequenti e laboriosi censimenti generali della popolazione. Tenendo inoltre conto che le informazioni da raccogliere aumentavano continuamente, l’elaborazione dei dati diveniva sempre più problematica. La crisi esplose con il censimento del 1880, la sui elaborazione durò sette anni, arrivando quasi a sovrapporsi con quello successivo. Hollerith , assunto appena ventenne dal Bureau of Census, predispose un nuovo sistema. I dati venivano rilevati con delle schede, una per ogni abitante, con dei fori riportati in particolari posizioni, per l’età, la professione , il sesso, la religione. Le schede venivano poi raggruppate e “lette “ da una apposita macchina. La presenza dei fori veniva rilevata da aghi che, trovando il foro, chiudevano un circuito elettrico. L’impulso corrispondente azionava un addizionatore elettromeccanico che conteggiava quindi la caratteristica rilevata. La macchina si presentava come una grande scrivania con cassetti dove inserire le schede e degli orologi su un pannello dove i dati venivano conteggiati. Con l’utilizzo di tale macchina il conteggio dei dati del censimento del 1890 richiese sei settimane, la popolazione assommava a 66.622.250 abitanti. La macchina di Hollerith si Capitolo IV – I primi elaboratori 49
  • Le origini dell’informatica proponeva non di eseguire calcoli ma di organizzare informazioni, e quindi introduce l’idea di macchine che possano elaborare le informazioni in senso più generale. L’utilizzo di schede perforate era già stato introdotto da Babbage, ma in questo caso assumono un significato notevolmente diverso.2.10 L’eredità della macchina analitica Le macchine di Babbage destarono un notevole interesse nell’ambiente scientifico del tempo ma rimasero solo un argomento di discussione. Vi furono alcuni tentativi di proseguire sulla strada tracciata tra cui meritano di essere ricordati quelli di Scheutz di costruire una macchina alle differenze e quello di Ludgate di costruire una macchina analitica. Gorge Scheutz, svedese, editore di un giornale tecnico a Stoccolma, affascinato dagli articoli letti sulla macchina di Babbage tentò con il figlio Edvard la costruzione di una macchina simile. Predisposero un prototipo funzionante, dotato anche della stampante , e lo sottoposero al Governo Svedese per chiedere fondi per ulteriori sviluppi ma questo, forse memore dell’insuccesso di quello inglese li negò. Per quanto riguarda i tentativi dell’irlandese Percy Ludgate di costruire una macchina analitica ci sono pervenute solo notizie molto frammentarie in quanto tutta la documentazione sul suo lavoro è andata perduta. Insomma il ramo di sviluppo delle macchine basate su congegni meccanici e sull’utilizzo del sistema decimatesi stava esaurendo. Lo sviluppo passerà nel secolo successivo ad una serie di macchine che si baseranno su tecniche totalmente differenti, anche se molte delle idee elaborate da Babbage influenzeranno il lavoro di personaggi come Haiken nello sviluppo dei primi elaboratori di uso generale. Ma questa è tutta un’altra storia. Fig. 28 Uno schema concettuale della macchina analitica Capitolo IV – I primi elaboratori 50
  • Le origini dell’informatica Schede operandi Schede Stampante istruzioni Impostazion e manuale dei numeriCapitolo IV – I primi elaboratori 51
  • Le origini dell’informatica Riferimenti capitolo 2[1] Michael R. Williams A HISTORY OF COMPUTING TECHNOLOGY –IEEE COMPUTER SOCIETY 1996Capitoli 3 e 4[2] Dava Sobel – Longitude – Walker and Company[3] Eugen Eric Kim e Betty Alexandra Toole – Ada e il primo computer – LeScienze n.81 Maggio 2000[4] La ricostruzione della macchina da calcolo di Charles Babbage – LeScienze n.297 Maggio 1993[5] Charles Babbage Passage from the life of a Philosofer[6] Raffaele Gargiulo – Navigazione Astronomica – Rivista Marittima -Marina Militare Aprile 2001[7] Silvio Hènin e Massimo Zaninelli -Il calcolo automatico negli Stati Uniti,dalle origini al 1950- Le Scienze, n344 aprile 1997Capitolo IV – I primi elaboratori 52
  • Le origini dell’informatica3 La rappresentazione delle informazioni Le macchine meccaniche digitali realizzate tra il XVII e XIX secolo si basavano sul sistema di numerazione decimale. Sicuramente il motivo principale è da ricercare nel fatto che per un congegno meccanico non si pongono grandi problemi per rappresentare dieci diverse posizioni associate a posizioni diverse di un ingranaggio. Il problema di evitare posizioni spurie venne risolto facilmente da Babbage per le sue macchine. Con la fine dell’800 si diffonde l’utilizzo della corrente elettrica e si comincia a ragionare sull’utilizzo dell’elettricità come grandezza fisica per rappresentare le informazioni. Per rappresentare grandezze numeriche occorre definire dieci diversi valori a cui far corrispondere le dieci cifre decimali. Oltre alla complessità circuitale rimane il problema delle interferenze che possono facilmente introdurre errori nell’interpretazione dei valori.3.1 Il sistema binario La scelta è drastica, si passa ad un sistema basato su due sole cifre, 0 e 1. Naturalmente il numero di cifre necessarie aumenta notevolmente ma questo se rappresenta un problema per l’uomo che mal si adatta a manipolare numeri lunghi 16, 32 o 64 cifre. Si dovrà pertanto tradurre i numeri da decimali a binari per sottoporli alla macchina e di nuovo da binario a decimale per fornire i risultati all’uomo, ma questo era il prezzo da pagare per andare avanti. Si pone anche il problema di definire un’algebra per il nuovo sistema, che come vedremo presenta delle peculiarità rispetto a quella sul sistema decimale. Ma in questo venne in aiuto l’opera di George Boole ( 1815 – 1864 ). Potremmo definirlo un altro visionario che si addentrò in un territorio sconosciuto per l’epoca. Ricevette una educazione molto limitata, oltre la scuola elementare frequentò solo un corso in una scuola commerciale. Un autodidatta che nel corso della vita pubblicò più di cinquanta lavori scientifici che, tra l’altro, gli valsero la nomina a professore di matematica presso il college di Cork, Irlanda. Tra i suoi lavori più famosi vi è “An investigation of the Laws of Thought, on which are Founded the Mathematical Theories of Logical and Probability” ( 1854 ). In questa opera il simbolismo dell’algebra viene applicato ai principi della logica, la logica viene ridotta a calcolo proposizionale, che verrà poi denominato algebra booleana. Capitolo IV – I primi elaboratori 53
  • Le origini dell’informatica3.2 Algebra booleana Il lavoro di Boole introduceva un’algebra logica, oggi meglio nota come algebra booleana. Possiamo definire l’algebra booleana come un insieme di regole, leggi e teoremi per mezzo delle quali le operazioni logiche possono essere definite matematicamente. Quest’algebra costituisce inoltre un metodo conveniente e sistematico per esprimere e analizzare le operazioni svolte dai circuiti e dai sistemi digitali. L’applicazione dell’algebra di Boole all’analisi e al progetto dei circuiti digitali venne affrontata per la prima volta nel 1938 da Claude Shannon presso il MIT con una tesi dal titolo A Symbolic Analysiss of Relay and Switching circuits ( un’analisi simbolica dei circuiti a relè e a scatto ) . In questo scritto veniva presentato un metodo per mezzo del quale qualunque circuito costituito da combinazioni di interruttori e relè poteva essere rappresentato da espressioni matematiche. Anche se i circuiti a semiconduttori hanno oggi praticamente rimpiazzato gli interruttori meccanici e i relè, quel tipo di analisi resta valido, e una conoscenza dei suoi principi fondamentali è essenziale per lo studio dell’elettronica digitale. Per quanto riguarda le operazioni, la somma coincide on l’OR logico, la moltiplicazione con l’AND logico.3.3 Binario, esadecimale, ottale Il passaggio da rappresentazione decimale e binaria e viceversa si realizza sulla base dei pesi delle singole cifre. In binario la prima cifra rappresenta il valore di per se, la seconda è moltiplicata per due o per il numero di coppie che compongono il numero, la terza per 4 o gruppo di quartine e così via. Dato un numero rappresentato in base decimale , dividendolo per 2 e preso il resto, questo resto corrisponderà obbligatoriamente alla prima cifra della rappresentazione binaria del numero. Se le coppie che compongono il numero, sono più di una non si possono rappresentare tutte, si procede quindi ad una nuova divisione per due, da cui otteniamo quante quartine compongono il numero e il resto rappresenta quindi l’eventuale coppia rappresentabile nella seconda posizione. In definitiva : per convertire un numero da base decimale a binaria si procede dividendo il numero per due ed annotando i resti da destra verso sinistra fino ad ottenere 0 come risultato della ennesima divisione. Per realizzare l’operazione inversa basta sommare il valore decimale di ogni cifra. L’operazione è agevolata dal fatto che in binario le cifre sono solo zero o uno il che equivale a dire che Capitolo IV – I primi elaboratori 54
  • Le origini dell’informaticaper convertire un numero da base binaria a decimale basta sommare tra loroi valori in decimale dei pesi delle cifre 1 del numero.Certo i due procedimenti non sono complicati, ma sono lunghi. Inoltre nelmondo dell’informatica i numeri multipli di due sono molto frequenti e lecorrispondenti proprietà non vengono evidenziate da una rappresentazione inbase dieci. Per questo motivo si è introdotto l’utilizzo di due altre basi : la base8 e la base 16. Per quanto riguarda la prima le cifre utilizzate sono lecorrispondenti del decimale, da 0 a 7. Per la seconda si aggiungono alle cifredecimali le lettere a , b , Decimale Binario Ottale Esadecimale Ott/Bin Esad/Binc , d , e , f . Questi duesistemi hanno 0 0 0 0 000 0000 1 1 1 1 001 0001l’interessante proprietà 2 10 2 2 010 0010che le due basi 3 11 3 3 011 0011 4 100 4 4 100 0100corrispondono a 5 101 5 5 101 0101potenze del due. 16 è 2 6 110 6 6 110 0110 7 111 7 7 111 0111alla quarta, 8 è 2 alla 8 1000 8 1000terza. Quindi questi due 9 1001 9 1001 a 1010sistemi che, dal punto b 1011di vista simbolico- c 1100 d 1101espressivo, sono e 1110abbastanza simili al f 1111decimale presentano In matematica la base di un numero si denota con un pedice a destra del numero che riporta launa interessante base. In informatica si utilizza anteporre un zero per lottale e 0x per l’esadecimale.proprietà. 0x12f4 0001.0010.1111.0100 06531 110.101.011.001Una cifra ottalecorrisponde a tre cifre binarie.Una cifra esadecimale corrisponde a quattro cifre binarie.Infatti con una cifra ottale si possono rappresentare le quantità da 0 a 7, con trecifre binarie si possono rappresentare le quantità da 0 a 7. Con una cifraesadecimale si possono rappresentare le cifre da 0 a 15, con quattro cifrebinarie si possono rappresentare quantità da 0 a 15. Ovviamente la cosa valeanche per i multipli e quindi :Per convertire un numero da esadecimale a binario si sostituisce ogni cifra conla rappresentazione binaria della cifra.Per convertire un numero da binario a esadecimale si raggruppano da destrale cifre in gruppi di quattro e si sostituisce ad ogni gruppo la corrispondenterappresentazione esadecimale.Per convertire un numero da binario a ottale si raggruppano le cifre ingruppi di tre e si sostituisce ad ogni gruppo la corrispondente cifra ottale.Capitolo IV – I primi elaboratori 55
  • Le origini dell’informatica A questo si può aggiungere che per convertire da esadecimale a ottale e viceversa basta passare come operazione intermedia alla rappresentazione binaria. Per convertire un numero da ottale a binario si sostituisce ogni cifra con la corrispondente rappresentazione in tre cifre binariePesi dei sistemi di numerazione binario, ottale , esadecimalePos 1 2 3 4 5 6 7 8 9 10 11 12 13Binario 1 2 4 8 16 32 64 128 256 512 1024 2048 4096Ottale 1 8 64 512 4096ExDec 1 16 256 4096Nelle tre righe sono riportati i pesi dei tre sistemi. Si nota che sia per l’ottale che per l’esadecimale ogni cifra corrisponde a dei multipli esatti delbinario.Con una cifra ottale si possono esprimere le medesime quantità che con tre cifre binarie, con due cifre ottale le stesse quantità che con seicifre binarie. Con una cifra esadecimale la medesima quantità che con quattro binarie, con due cifre esadecimali la stessa quantità di otto cifre binarie.Questo in quanto 8 e sedici sono potenze del due. 3.4 Misurare l’informazione Stabilito che l’elaboratore utilizza il sistema binario è chiaro che qualsiasi informazione venga manipolata deve essere codificata in binario, sia che rappresenti un carattere alfabetico, una quantità numerica, una istruzione per l’elaboratore. Ma indipendente da cosa l’informazione rappresenti si può anche dare una misura quantitativa .Possiamo iniziare con l’analizzare, in binario, quale sia la più piccola quantità di informazione rappresentabile o memorizzabile, cioè un sequenza binaria composta da una sola cifra, che può assumere i valori di 0 o 1. Aiutiamoci con un esempio. Volendo associare ad ogni alluno di una classe una informazione riguardo all’altezza, la scelta minima che posso effettuare è quella di associare ad ogni alunno un bit che rappresenta l’altezza. Ovviamente in questo caso potrò distinguere tra alunni alti, 1 , alunni bassi, 0 , una volta stabilita una soglia, ad esempio 170 centimetri. Naturalmente l’informazione relativa all’altezza è molto vaga, dire che un alunno è basso può significare che sia alto 169 centimetri come 81. Se voglio una informazione maggiore devo utilizzare una sequenza di cifre maggiori. Utilizzando due cifre posso rappresentare quattro diversi casi ( 2 alla seconda , le possibili combinazioni di due cifre in due posizioni ) e quindi distinguere tra alunni molto bassi, bassi, alti e molto alti. Questa volta l’informazione altezza è più precisa del caso precedente. Continuando ad utilizzare sequenze maggiori, si può discriminare tra un numero di casi maggiori. Insomma l’informazione è la possibile scelta tra un numero diverso di possibilità. L’informazione minima e la scelta tra due possibilità. Capitolo IV – I primi elaboratori 56
  • Le origini dell’informaticaPossiamo associare all’informazione minima rappresentabile l’unità di misuracon cui misurare una quantità di informazione. Assegniamo a questa unità dimisura il nome di bit.Il bit è l’informazione equivalente alla scelta tra due possibili distinti valoriequiprobabiliLa definizione introduce un concetto importante. Affinché vi sia informazionela scelta deve essere tra valori equiprobabili. Nel nostro esempio, che valoreavrebbe l’informazione se la soglia per l’altezza fosse fissata a 3m ? nessuna,in quanto possiamo escludere che in una classe vi sia alcun alunno alto più ditre metri, il bit che registra l’altezza rimarrebbe inesorabilmente a 0 e quindinullap potrei sapere circa l’altezza degli alunni. Lo cosa si ripete se la sogliaviene fissata a 20 cm, gli alunni saranno tutti alti, e ancora una volta non possoricavarne nulla. Intuitivamente si può comprendere che nel caso in esamel’informazione è massima se la soglia viene fissata ad un valore pari all’altezzamedia della classe. Il termine scelto per denotare l’unità di misuradell’informazione è di origine incerta , secondo alcuni deriva dal termineinglese per “pezzettino”, secondo altri è l’abbreviazione di Binary digiT .Secondo la definizione assunta di bit, la scelta tra quattro possibili valoricontiene una informazione pari a due bit, il primo permette di individuare qualedelle due coppie contiene il valore, il secondo il valore dentro la coppia. Lascelta tra 8 possibili valori vale tre bit, uno permette di scegliere tra due gruppidi quattro, il secondo tra le due coppie del gruppo, il terzo tra i due valori dellacoppia. Si nota che il legame tra informazione e messaggi è di tipo logaritmico.Pertanto :I = log 2 n[bit ] dove n è il numero di possibili valori equiprobabili I = −∑ k =1 PK log 2 PK dove n è il numero di possibili valori e P di K è la noprobabilità associata ad ogni valore.Definita l’unità di misura dell’informazione introduciamo i sui multipli.Si indica con Byte una sequenza di otto cifre, o una quantità di informazionepari a otto bit. Anche se meno utilizzati si definisce la parola, che vale 16 bit edil paragrafo, pari a 32.Capitolo IV – I primi elaboratori 57
  • Le origini dell’informatica3.5 I multipli La macchina utilizza il sistema binario, l’uomo il sistema decimale. Il fatto che la base dieci non è una potenza del due comporta che esprimere i multipli delle grandezze informatiche non è semplice. Tutto quanto riguarda la circuiteria digitale lavora con imultipli di due. Un blocco di memoria indirizzabile con 16 linee, o meglio 16 bit , può contenere 2 alla 16 celle cioè 65.536 celle. Per esprimere gli indirizzi si utilizza il sistema ottald o esadecimale, ma per i multipli si fa una piccola forzatura. La quantità di informazione più comunemente utilizzata è il byte, questo anche perché la codifica ASCCII richiede almeno 7 bit per rappresentare un carattere. Quando le informazioni, organizzate in byte, sono in grande quantità, si utilizzano dei multipli. Si adottano i simboli del sistema metrico decimale, anche se con un significato leggermente diverso, cioè la forzatura Multipli 210 1.024 K Kilo 220 1.048.576 M Mega 230 1.073.741.824 G Giga 240 1.099.511.627.766 T Tera 250 1.125.899.906.842.624 P Peta 260 1.152.921.504.606.846.976 E Exa I prefissi vengono utilizzati sia con i bit ( b ) con i Byte ( B ). Vengono inoltre utilizzate le seguenti unità di misura Velocità di elaborazione Megaflop Mflop Milion floating point operation per second Gigaflop Gflop Bilion floating-point operation per second MIPS Milion instruciont per second Velocità di trasmissinoe dell’informazione bps bit per second chps characte per second KB/sec kilo bytes per second MB/sec mega byte per second GB/sec giga byte per second Capitolo IV – I primi elaboratori 58
  • Le origini dell’informatica3.6 Rappresentare i caratteri Capitolo IV – I primi elaboratori 59
  • Le origini dell’informaticaCapitolo IV – I primi elaboratori 60
  • Le origini dell’informatica4 I primi elaboratoriNel XX secolo le idee ed i progetti di Babbage trovano una realizzazionepratica, anche se utilizzando tecniche diverse da quelle esclusivamentemeccaniche. I progressi della scienza e della tecnica e la loro diffusione fannosi che i progetti non sono più il frutto di singoli individui ma l’opera di gruppi,lo scambio di informazioni fa si che spesso anche tra gruppi diversi sistabilisce un rapporto di collaborazione . Questa volta la spinta allo sviluppoviene soprattutto dalle esigenze belliche. La prima metà del secolo è sconvoltada due guerre che per estensione l’umanità non aveva mai sperimentato. . Ilmodello di Babbage appare però inadeguato in due punti, nel fatto che lamacchina analitica prevedeva il caricamento separato di istruzioni e dati, conuna notevole complessità, ma , ancora peggio, per il fatto che la macchinaanalitica prevedeva l’acquisizione delle istruzioni dall’esterno, cosaammissibile per i tempi di una macchina meccanica, ma inaccettabile per levelocità di elaborazione delle macchine elettroniche. Viene introdotto ilconcetto di stored program machine, basata sull’architettura di Von Neuman. Lo zero, iLa macchina immagazzina in una memoria interna dati e programmi ed è logaritmi e l’elaboratorebasata su un’unità di elaborazione, un’unita di input, un’unita di output, sono le treun’unità di memoria. La nascita dell’elaboratore si può considerare la terza tappe fondamentalipietra miliare nella storia del calcolo, dopo l’introduzione dello 0 ( e di nella storiaconseguenza del sistema decimale, posizionale e pesato ) e quella dei logaritmi. del calcolo4.1 Le macchine di ZuseCapitolo IV – I primi elaboratori 61
  • Le origini dell’informaticaA Konrad Zuse ( 1910 – 1995 ) si deve la prima macchina costruita, sulla basedel sistema binario, in grado di funzionare sulla base di un controllo realizzatoda un lettore che acquisiva le istruzioni da eseguire da un nastro perforato. Zuse nasce a Berlino nel 1910e conseguita la laurea in ingegneria civile è impiegato come progettista in una fabbrica di aerei, dove ha modo di comprendere quale mole di calcoli richiedano le verifiche strutturali. Se si tiene conto che all’epoca i calcoli erano eseguiti o con l’aiuto del regolo calcolatore o con calcolatrici meccaniche, si può capire come uno dei primi tentativi di Zuse fu di codificare, con degli appositi modelli, il modo di registrare i risultati intermedi. In particolari caselle adiacenti in orizzontale contenevano numeri che Fug.1 Konrad Zuse 1910 - 1995 dovevano essere sommati tra loro, caselle adiacenti in verticale, numeri chedovevano essere moltiplicati tra loro. Questo lo portò all’idea che se i numeripotevano venir inseriti in calcolatrici collegate tra di loro come i diagrammi,questo poteva portare all’esecuzione automatica dei calcoli. Oltre a questoipotizzo di utilizzare un braccio meccanico per leggere e scrivere i valori checongiuntamente ad un calcolatore potevarealizzare una macchina completa. L’unitàdi memoria fondamentale era costituita daun piolo che poteva assumere due posizioniin una guida ricavata in un lamierino e cosìrappresentare le due posizioni binarie. Entroil 1937 riuscì a costruire una memoriameccanica basata su tale principio in gradodi immagazzinare 16 numeri ognuno di 24bit, la macchina venne identificata con ilcodice Z1. I dati venivano acquisiti Fig. 2 Konrad Zuse con la ricostruzione della Z4attraverso nastro, utilizzando della pellicolacinematografica di scarto perforata a mano. Le difficoltà di spostare i segnali,rappresentati da lamine metalliche rendevano però la macchina praticamenteinutilizzabile. Per tale motivo Zuse passo al progetto di una nuova unità basatesull’utilizzo di relè, denominata Z2. Per tale macchina sperimentò anchel’utilizzo di tubi vuoto, ma dovette rinunciarvi viste le difficoltà di reperire inecessari componenti, almeno mille tubi, nella Germania prebellica. Lamacchina manteneva i componenti meccanici della precedente per lamemorizzazione dei numeri, per tutti gli altri compiti venivano impiegati i relè.Di tale macchina venne data anche una dimostrazione di funzionamentoall’aeronautica militare tedesca, il cui centro di ricerca decise di finanziare laCapitolo IV – I primi elaboratori 62
  • Le origini dell’informaticacostruzione di un modello più elaborato, che verrà chiamato Z3. Questamacchina, basata sostanzialmente sulle medesime idee delle precedenti, eracostituita da 2600 relè, di cui 1400 per la memoria e 600 per l’unità aritmetica.La macchina era in grado di eseguire quattro addizioni al secondo, dimoltiplicare due numeri in cinque secondi. Prima della fine della guerra venneassemblato anche un ultimo modello denominato Z4, che dopo la guerra vennetrasferito al politecnico di Zurigo. Nel 1950 questa macchina era ancora l’unicocalcolatore funzionante in Europa e resterà operativa sino al 1960.4.2 Le macchine di Harward Parallelamente al lavoro di Zuse, un’altra serie di macchine venivano sviluppate presso l’università di Harward sotto la guida di Howard Heiken. Purtroppo tra i due gruppi non vi fu alcun contatto a seguito della guerra in corso. Le macchine di Harward non si limitavano all’utilizzo dei relè ma impiegavano tutte le tecnologie all’epoca disponibili, compreso l’utilizzo di nuclei di ferrite per memorizzare le informazioni. Nel suo lavoro Haiken venne molto influenzato dalla lettura delle idee di Babbage, e Fig. 3 Howard Haiken probabilmente da qui trasse le idee fondamentali di come strutturare ilmeccanismo di controllo della sua macchina. La prima macchina, denominataMark I , venne costruita tra il 1939 ed il 1943 .Il componente fondamentale utilizzato per iregistri derivava dai meccanismi meccanicidelle calcolatrici IBM prodottecommercialmente, in totale era dotata di 72registri ognuno in grado di immagazzinare 23cifre decimali più una per il segno. Ledimensioni della macchina eranomastodontiche, lunga circa 18 metri ed alta tre,era composta da 750.000 parti diversi ed Fig. 4 Grace Hopper , 1907 - 1992utilizzava 800 chilometri di conduttori per ivari collegamenti interni. La macchina appena in funzione venne subitodedicata a scopi bellici, per la progettazione di navi ed armamenti, Haiken,comandante della riserva della marina venne posto in servizio attivo a capo deldipartimento della marina per il calcolo automatico. Uno degli assistenti diHaiken era il Sottotenente di Vascello Grace Hopper che, insieme ad Haikencontinuerà a sviluppare macchine e programmi sia per la Marina che persocietà private. Sempre la Hopper parteciperà alla definizione del linguaggioCOBOL, rimasta in servizio attivo sino alla metà degli anni ’80, raggiungendoCapitolo IV – I primi elaboratori 63
  • Le origini dell’informaticail grado di Commodoro ( Contrammiraglio), partecipò alla definizione di tutti imaggiori progetti riguardanti i compilatoried i nuovi linguaggi, sino a poco primadella morte avvenuta nel 1992 all’età di85 anni. Nel 1997 la marina statunitenseha varato un sottomarino nucleared’attacco appartenente ad una nuovaclasse intitolato a Grace Hopper. Fig 5. Mark ILa nave, interamente a cablaggio su fibraottica, impiega per la prima volta sistemi software di derivazione commerciale.Mark I resterà in attività sino al 1959, quando viene demolito, tranne alcuneparti che verranno salvate e tenute dall’IBM ed alcuni musei. Le idee di Haikenerano disgiunte dalla tecnologia da utilizzare. Conscio del rischio di fallimentoche un progetto di tali dimensioni e complessità poteva avere, memoredell’esperienza di Babbage, utilizzo componenti meccanici solo per motivieconomici e di disponibilità. Infatti, nel 1945, sempre per conto della marina,inizia la costruzione di una macchina completamente basata su componentielettromagnetici, denominata Mark II . La macchina utilizzava 13.000 relè , i numeri erano immagazzinati in BCD. Il Mark II era considerevolmente più veloce del Mark I, era in grado di eseguire una addizione in 125 millisecondi ed una addizione in 750. Terminata la guerra Haiken continuò il lavoro di sviluppo presso l’università di Harward, anche se i suoi proget ti Fig. 6 Mark I , l’unità nastro. venne ro sempre finanziati da agenzie esterne. Il Mark III,ultimato nel settembre 1949 utilizzava per laprima volta dei tamburi magnetici perimmagazzinare dati. In tal modo si realizzava laprima macchina in grado di immagazzinare alsuo interno il programma.Questo fu dovuto al fatto che, sulla base delle Fig. 7 Mark IV , 1947precedenti macchine Haiken si rese conto dicome fosse inutile migliorare la velocità di calcolo della macchina che nonsarebbe stata sfruttata vista la lentezza con cui le informazioni venivanoacquisite dall’esterno. Mark III era in grado di immagazzinare 4530 numeri a16 bit, utilizzava 2000 relè e 5000 tubi a vuoto. Il fatto di immagazzinare iCapitolo IV – I primi elaboratori 64
  • Le origini dell’informatica numeri su cui lavorare in tamburi ruotanti comportava comunque notevoli problemi che vennero risolti con il progetto di una nuova macchina, denominata Mark IV, dove per la prima volta venivano impiegati nuclei di ferrite per realizzare i registri. Il contributo di Haiken risiede essenzialmente in quest’ultimo progresso, la sua opera rappresenta l’anello di congiunzione tra le idee di Babbage ed i primi elaboratori elettronici.4.3 L’avvento dell’elettronica Si deve a Thomas Edison ( 1847 – 1931 ) la scoperta che inserendo una piccola placca di metallo in una lampadina e caricando elettricamente la placca si manifestava un flusso di corrente dal filamento incandescente alla placca. Era stato realizzato il primo diodo termoionico. Edison brevetto l’invenzione ma non trovò nessuna applicazione pratica. Nel !890 si dimostrò che la corrente prodotta in un tubo a vuoto consiste di un flusso di particelle cariche negativamente e che si muovono dall’elettrodo negativo a quello positivo. Nel 1909 venne determinata la carica elettrica di tali particelle che vennero denominate elettroni. Nel 1904 lo scienziato inglese Jhon Fleming costruì un tubo a vuoto che permetteva alla corrente di fluire in una sola direzione e nel 1907 venne brevettato da Lee de Forest l’audion, un triodo a vuoto in grado di amplificare piccoli segnali elettrici. Queste scoperte portarono alla costruzione della radio, della televisione e dei dispositivi RADAR.4.4 Il calcolatore di Atanasoff L’elettronica basata sull’utilizzo dei tubi a vuoto consentì di costruire circuiti per memorizzare informazioni binarie basati su valvole termoioniche, studiate come amplificatori ma che potevano funzionare anche come interruttori comandati da un segnale elettrico. Rispetto ai relais presentavano il vantaggio di non avere organi meccanici in movimento e quindi erano notevolmente più veloci. L’introduzione dell’utilizzo dei tubi a vuoto nella costruzione degli elaboratori fu un contributo allo sviluppo degli elaboratori a lungo dimenticato è dovuto a John V. Atanasoff . La riscoperta delle innovazioni di Atanasoff è dovuto ad una causa intentata nel 1967 alla Sperry Rand Corporation da parte della Honeywell . La Sperry Rand aveva acquistato i diritti sul progetto di ENIAC, che si riteneva all’epoca essere il primo calcolatore elettronico, e faceva pagare i diritti sulla produzione di elaboratori agli altri costruttori, tra i quali anche la Honeywell. I legali di quest’ultima riscoprirono il lavoro di Atanasoff e di un suo laureando, Clifford E. Berry , che tra il 1937 e il 1942 costruirono l’ABC ( Atanasoff Berry Computer ) . I legali della Honeywell rintracciarono Atanasoff e gli sottoposero i progetti di ENIAC. Atanasoff potè rendersi conto che gran parte delle idee e di concetti su cui si basva erano derivate dall’ABC, a seguito delle informazioni fornite da Mauchly . Il 19 Capitolo IV – I primi elaboratori 65
  • Le origini dell’informatica Ottobre 1973 il giudice Earl R. Larson della Corte Distrettuale di Mineapolis sentenziò che il brevetto di ENIAC era nullo. A buon titolo si può dunque accreditare a Jhon V. Atanasoff il merito di aver per primo concepito, progettato e costruito il calcolatore digitale elettronico. In effetti non si trattava di una macchina ad uso generale, programmabile , ma era in grado di svolgere in solo compito, risolvere sistemi di equazioni lineari. Comunque in questa macchina vengo impiegate per la prima volta tecniche che influenzeranno tutte le macchine successive. I dati venivano memorizzati in modo fisso su tamburi magnetici rotanti, i precursori dei moderni dischi magnetici. La memoria di lavoro, le celle in cui immagazzinare i dati durante le elaborazioni utilizzavano dei condensatori. Un condensatore una volta caricato mantiene la carica per le cariche elettriche che si stabiliscono sulle sue armature. Con il tempo però il condensatore si scarica a seguito della corrente che fluisce nel materiale dielettrico. Venne perciò studiata una tecnica per ripristinare i valori originari ricaricando continuamente i condensatori carichi con un circuito identificato come di “jogging”. Nei moderni elaboratori la RAM si basa ancora su questa tecnica e il circuito che mantiene la carica viene denominato di “refresh” . Il circuito di “jogging” si basava su un disco rotante dove venivano realizzati i condensatori, i cui terminali venivano in contatto con il circuito di carica a seguito della rotazione del disco. I numeri, rappresentati in binario, venivano sommati dai circuiti di ABC in base a delle tabelle precompilate, i numeri erano memorizzati in registri. La macchina venne abbandonata in seguito all’inizio della guerra ed alla chiamata alle armi di Berry. Solo nel 1967 l’invenzione tornò alla ribalta ma , in effetti, lo stesso Atanasoff ignorava quanto ENIAC fosse dipendente dalle sue invenzioni. 4.5 Gli elaboratori elettronici : ENIAC Mentre ABC veniva dimenticato gli onori della ribalta furono tutti per ENIAC che per molto tempo venne Fig. ENIAC , il pannelli di perutazione conside rato il primo calcolatore elettronico. Comunque anche in questo caso non si trattava di una macchina programmabile, come MARK1, ma veniva impostata con dei panelli di permutazione. InFig. ENIAC , i pannelli con i genere su base settimanale si predisponevano concircuiti logici. Capitolo IV – I primi elaboratori 66
  • Le origini dell’informatica i collegamenti le formule da calcolare e poi si lavorava per giorni su sequenze di valori diversi. Più che il moderno elaboratore si potrebbe paragonare ad una calcolatrice programmabile. Fu sviluppato per le esigenze belliche. Il secondo conflitto mondiale fu caratterizzato da un’enorme sviluppo tecnologico. La guerra si risolse con una corsa a chi per primo avrebbe sviluppato la bomba atomica. In ogni campo le esigenze di calcolo era pressanti. ENIAC venne sviluppato da un gruppo di scienziati tra cui McCauly. Il progetto venne sviluppato dalla Moore School of Eletrical Engineering presso l’Università della Pensylvania per conto del U.S. Army Ordnance Department Ballistic Research Laboratori che era responsabile di approntare le tabelle di tiro per i cannoni dell’esercito. Le tabelle dovevano essere calcolate, per ogni inclinazione della canna e distanza da colpire, per ogni cannone. Ogni tavola conteneva circa 3000 traiettorie differenti. Il calcolo di una singola traiettoria richiedeva ad un operatore ben addestrato, con l’ausilio di una calcolatrice da tavola dell’epoca, circa 20 ore. Erano già state svilippate delle macchine meccaniche per svolgere tali compiti che richiedevano per lo stesso compito circa 20 minuti, ma erano estremamente difficoltose da impostare ed utilizzare, trattandosi di macchine analogiche, dove ciuoè le grandezze eranno rappresentate con valori proporzionali a quelli effettivi e che quindi variavano in modo continuo. Il progetto di ENIAC segnò anche la fine dell’era in cui i contributi venivano da singoli per passare al lavoro di gruppo, svolta imposta dall’aumento della complessità dei progetti. Alla guida del gruppo erano J.Presper Eckert ( 1919 – 1995 ) e Jhon Mauchly ( 1907 – 1980 ) . Nel 1942 , dopo diversi incontri con Atanasoff ed una visita allo Iowa State College dove l’ABC è in costruzione, Mauchly scrive un breve articolo “The Use of High Speed Vacuum tube Devices for Calculating “ in cu esamina i vantaggi della tecnologia elettronica dei tubi a vuoto rispetto a quella meccanica. Indicava come il calcolo di una traiettoria della tabelle di tiro avrebbe potuto passare da 20 minuti a 100 secondi. All’inizio del 1943 la produzione delle tabelle di tiro era in tale ritardo rispetto alla produzione dei nuovi cannoni da spingere a cercare ogni possibilità per accelerare i calcoli.v Il sottotenente Herman H. Goldstine, assistente professore di matematica prima dell’inizio della guerra, viene incaricato di seguire lo sviluppo di una nuova macchina. Il 9 Aprile 1943 Goldstine, Eckert e Mauchly stendono le specifiche della macchina, sulla base dell’articolo di Mauchly. La macchina si chiamerà Elctronic Numerical Integrator . Mauchly però insisteva sul fatto che la macchina avrebbe dovuto essere destinata anche a scopi più generali per cui venne aggiunto anche And Computer, ENIAC .4.6 Un caso a parte, LEO Nella storia della costruzione dei primi elaboratori un caso a parte è rappresentato dalla costruzione di LEO, un elaboratore costruito su misura dal committente. La J. Lyons & Co. Era, a Capitolo IV – I primi elaboratori 67 Fig. LEO II , 1957
  • Le origini dell’informaticametà del secolo scorso, una affermata azienda alimentare che gestiva unagrande catena di sale da the in Gran Bretagna : Aveva i propri forni, gelaterie,cucine, ma anche le piantagioni e si costruiva persino i propri furgoni. Ma ilvero punto di forza era l’avanzatissima capacità gestionale dei problemi didistribuzione, fatturazione e di controllo del magazzino.Nel 1947 due ingegnerivennero inviati negli Stati Uniti per verificare se le macchine all’epoca incostruzione per calcoli scientifici potessero essere utili anche in una aziendacommerciale.Visitarono la Moore School (ENIAC, la Burroughs, la NCR e laIBM. Ebbero colloqui con Goldstine e Aiken ad Harward. A seguito di questavisita e dopo aver ulteriormente approfondito i principi di funzionamento dellemacchine esaminate la Lyons decise che sarebbe trascorso ancora del tempoprima di avere sul mercato degli elaboratori adatti a scopo commerciale e daqui venne presa la decisione nel 1949 di costruirsi da soli un proprioelaboratore. Con l’aiuto del MathLab di Cambridge iniziò la costruzione delLyons Electronic Office, basato sull’architettura di Von Neuman, divenneoperativo nel 1951 per essere impiegato nella gestione della distribuzione , deicosti e dei profitti dei prodotti da forno. Occupava 465 metri quadrati,utilizzava 5936 valvole, la memoria era costituita da 64 linee di ritardo,richiedeva circa 30 Kwatt di potenza per funzionare. Il successo fu tale che nevennero realizzate altre due generazioni, LEOII nel 1957 e LEO III, atransistor, nel 1961. Venne fondata una apposita società, LEO Computers chene vendette 105 in tutto il mondo. Rimane un esempio dell’innovazioneguidata dall’utente.4.7 Von Neuman , la definizione della struttura logica dell’elaboratoreVari gruppi di lavoro si stavano occupando di sviluppare macchineautomatiche per il calcolo ma i vari lavori venivano realizzati in modoempirico, mancavano dei fondamenti teorici che stabilissero i principi su cuicostruire queste nuove macchine. Questo contributo si deve a John VonNeuman. Matematico, nato in Ungheria nel 1903 emigrò negli Stati Uniti nel1933 dove venne nominato professore dello IAS , Istituto per gli studi avanzati.Nel 1937 acquisisce la cittadinanza statunitense e inizia a collaborare con leForze Armate. Dal confronto con Wiener , Bigelow e Rosenblueth nel campodello studio delle reti neuronali matura l’ide[a di una analogia tra gli apparatidel cervello e quelli delle macchine automatiche. Ne espose per la prima volta iprincipi nel progetto del EDVAC , si trattava di una macchina con unamemoria ampia e un’unità di comando interna che sviluppa i vari compitimediante algoritmi memorizzati all’interno della medesima. Von Neumanriteneva che un siffatto sistema, rappresentabile come un automa, fosseformalmente analogo al sistema nervoso umano. Nel rapporto venivanodescritte cinque unità di base , l’unità aritmetica centrale ( in grado di eseguirele operazioni logico-matematiche ) , l’unità di memoria ( che memorizzava idati e le istruzioni da eseguire ), l’unità centrale di controllo ( che controllavaCapitolo IV – I primi elaboratori 68
  • Le origini dell’informaticala sequenza delle operazioni e controlla il funzionamento delle altre unità ),l’unità di input e l’unità di output. Questa architettura di base nota come diVon Neuman completa quella ipotizzata da Babbage e definisce il modernoelaboratore come una stored program macchine, una macchina in grado diimmagazzinare i dati e le istruzioni. L’unità centrale veniva assimilata aineuroni associativi e le unità di input e output rispettivamente ai neuronisensoriali e motori. Il rapporta evidenziava inoltre la natura sincrona dellamacchina, in contrasto con quella asincrona della trasmissione dei segnali.Oggi sappiamo che la struttura del cervello è ben diversa e notevolmente piùcomplessa. Il lavoro di Von Neuman portò allo sviluppo del ECP che iniziatonel 1947 venne completato nel 1951 e ispirò altri progetti come MANIAC eJOHNIAC . Operativo dal 1952 venne utilizzato fino al 1957. Nel 1948 VonNeuman scrive con Goldstine un rapporto dal titolo Planning and CodingProblems fo an Electronic Computing Instrument, dove si sottolineano ledifferenze che intercorrono tra la formulazione matematica di un problema e lasua codifica, sotto forma delle istruzioni che un elaboratore è chiamato adeseguire. Si tratta di un processo in cui gli ordini si susseguono in mododinamico, che permetta passi in avanti e indietro, o sostituzioni nella sequenzacontrollati dai risultati intermedi del processo di calcolo. Queste idee venivanoesplicitate con l’utilizzo di un nuovo strumento, il diagramma di flusso. Siintroducono i concetti di istruzioni i sequenza, di ciclo e di selezione. Ilrapporto ebbe una vasta circolazione e influenzòin modo determinante la nascita dell’informatica.Da ultimo è bene ricordare che Von Neumannricoprì diversi importanti incarichi governativi eche la sua influenza contribuì notevolmente allosviluppo delle nuove tecnologie. Fig. John Von Neumann.Capitolo IV – I primi elaboratori 69
  • 5 La microelettronica e la nascita del Personal Computer5.1 I minicalcolatoriFig. 1 Un modulo di uno dei primi grandi calcolatori commerciali , 1952 I primi elaboratori prodotti in serie si basavano sull’utilizzo di valvole termoioniche ed erano di dimensioni ragguardevoli anche se non paragonabili a ENIAC o a MARKI. Negli anni seguenti le dimensioni andarono rapidamente diminuendo e apparvero una serie di elaboratori che vennero denominati minicalcolatori. Il nome non si riferiva tanto alle prestazioni, che in genere erano paragonabili a quelli di dimensioni maggiori, ma soprattutto alle dimensioni ed al costo. I primi modelli furono quelli commercializzati dalla Digital Equipment Corporation. , il PDP-5 ed il PDP-8, presentati rispettivamente nel 1963 e nel 1965. Nel giro di dieci anni queste macchine furono oggetto di diverse imitazioni e portarono alla nascita di una industria dell’informatica che non produceva più il solo elaboratore ma anche i dispositivi periferici specializzati ed il software di base, i sistemi operativi ed i compilatori, che cambieranno il modo di utilizzare la macchina. Il PDP-5 costava 27.000 dollari, il PDB-8 più potente e notevolmente più piccolo costava 18.000 dollari. Stiamo quindi
  • Le origini dell’informatica parlando di macchine riservate a grosse società o centri di ricerca, non certo ad un uso diffuso. Quello che rese possibile questa rapida evoluzione fu l’evolversi delle tecnologie elettroniche, la sostituzione dapprima delle valvole termoioniche con il transistor, inventato nel 1947 , ed in seguito dal circuito integrato, che porterà al microcalcolatore, un elaboratore basato su una CPU ( Central Processor Unit, l’unità centrale comprendente i circuiti aritmetico-logici e di governo ) realizzata in un unico chip di silicio, una piastrina delle dimensioni di pochi millimetri. Per renderci conto del progresso realizzato tra il 1950 ed il 1970 possiamo esaminare i componenti circuitali rappresentati nelle illustrazioni da 1 a 6. Le dimensioni delle foto sono circa il 40 % delle dimensioni originali. La fig.1 rappresenta il modulo di uno dei primi grandi calcolatori commerciali, presentato nel 1952. L’intero calcolatore aveva circa 300 valvole. I seguenti quattro moduliFig. 2 Un modulo del Digital PDP-5 , 1963 sono tutti stati costruiti dalla Digital, il primo ( Fig. 2 )fa parte del PDP-5, 1963, contiene nove transistor in involucri singoli più altri componenti discreti, rappresenta circa la 333 parte del PDP-5. Il secondo modulo ( Fig. 3 ) fa parte del PDP 8/1 del 1968 , ciascun circuito integrato , i contenitori neri rettangolari , contiene da cinque a nove transistor. Il modulo rappresenta circa la centesima parte dei circuiti del PDP-8/1. Il modulo di fig.4 fa parte del PDP-8/A del 1974, contiene 110 circuiti integrati, ciascuno con da 25 a 50 transistor. L’ultimo modulo è un minicalcolatore completo denominato LS-11, sempre della Digital, con 64 Kbit di memoria e con oltre 110000 transistor. Poter cosscheda tutti i componenti che realizzano un elaboratore a costi molto contenuti apre una enorme possibilità di campi di impiego, nel controllo dei processi e di tutti gli automatismi industriali. Fig. 3 Un modulo del Digital PDP-8/1, 1968 Cap. V -La microelettronica e la nascita del Personal Computer 71
  • Le origini dell’informatica 5.2 Il microcalcolatore Il componente fondamentale è il microprocessore, realizzato su un unico chip delle dimensioni di 5 per 7 millimetri contiene tutti i componenti fondamentali, tra cui l’ALU e l’unità di governo, l’interprete dei comandi. Con l’aggiunta delle opportune periferiche il microcalcolatore può essere utilizzato comeFig.4 Un modulo del PDP-8/A , 1974 macchina per sviluppo di programmi da caricare successivamente in computer destinati a controllo di processi. Nella fig.7 vediamo un esempio, lINTELLEC8. L’interfaccia con l’utente viene realizzata da una telescrivente, in primo piano, e l’output è generato dal perforatore di nastro sulla destra.La tecnologia che ha consentito di sviluppare il microprocessore è stata quella dei semiconduttori a ossido-metallo ( MOS Metal Oxide Semiconductor ) . La prima variante fu la PMOS , basata su canali di materiale tipo P, con cui INTEL costruì il primo microprocessore 4040, con registri da 4 bit. . Era costituito da 2250 transistor su una lastrina di silicio di 2,972 x 4,039 millimetri, incapsulata in una scatola di resina con 16 piedini. Il successore fu l’INTEL 8008 con registri a 8 Bit, nel 1972. I microprocessori non solo realizzano in forma Fig. 5 Il Digital PDP-8 Cap. V -La microelettronica e la nascita del Personal Computer 72
  • Le origini dell’informaticaintegrata i circuiti già sperimentati nei grandi elaboratori, la migliorano conl’introduzione di dispositivi come la memoria gestita a stack, che rendeFig. 6 Il Digital LSI-11 , 1975possibile lo sviluppo dei sottoprogrammi e la gestione degli interrupt. Ognimicroprocessore è caratterizzato unproprio insieme di istruzionedenominato ISA ( Instruction SetArchitecture ) .Ogni singola istruzione viene a suavolta eseguita da un microprogrammadentro la CPU. In taluni casi vieneanche data la possibilità all’utente dilavorare a livello di microprogrammaper modificare o ampliare l’insieme diistruzione.La microelettronica ha ancheconsentito di realizzare memorie dilavoro di tipo RAM ( Random AccessMemory ) in forma integrata e quindiin grande quanità. Tale memoria è Fig. 7 Intellec 8, 1975Cap. V -La microelettronica e la nascita del Personal Computer 73
  • Le origini dell’informatica necessaria per poter immagazzinare il programma ed i dati da eseguire , realizzando quindi una Stored Program Machine. Il termine RAM indica che il tempo di accesso è indipendente dalla cella a cui si vuole accedere, scelta in modo casuale, questo in contrasto con le memorie di massa di tipo magnetico. Sarebbe però forse più corretto indicarle come memorie di lettura / scrittura. Vi è inoltre l’esigenza di disporre di memorie il cui contenuto sia fisso e si mantenga anche in assenza di alimentazione elettrica. In tali memorie il contenuto viene realizzato come combinazione diretta degli ingressi. Vengono indicate come ROM ( Read Only Memory ) e vengono anch’esse realizzate in forma integrata. 5.3 L’elettronica dello stato solido Nel 1947 Walter Brattain, Jhon Bardeen e Wiliam Shockley dei Laboratori Bell inventano il transistor e ricevono per questo il premio Nobel nel 1956. Il transistor si basa sull’utilizzo di materiali semiconduttori. I materiali vengono classificati per la capacità di condurre la corrente elettrica in conduttori ed isolanti. Questa capacità è legata alla struttura atomica dei materiali, alla disponibilità di elettroni legati in modo debole negli strati più esterni e quindi disponibili, con l’applicazione di una forza elettromotrice diFig. 8 La struttura atomica del silicio drogato lieve intensità, alla conduzione di cariche elettriche. Secondo il modello atomico classico di Bohr gli elettroni ruotano attorno al nucleo a distanze ben definite. Gli elettroni sulle orbite più interne possiedono una energia inferiore a quelli sulle orbite esterne e, come le orbite possono essere localizzate solo a certe distanze, anche l’energia può assumere solo valori interni a determinate fasce. I diversi possibili stati elettronici vengono spesso indicati con le lettere K, L , M , N ecc. Gli elettroni sulle orbite più esterne risultano meno legati al nucleo e permettono il verificarsi delle reazioni chimiche e l’instaurarsi di legami tra gli atomi , vengono denominati elettroni di valenza. Quando ad un atomo viene fornita energia dall’esterno l’energia viene immagazzinata dagli elettroni negli strati più esterni e un elettrone può anche essere sbalzato dalla sua orbita Fig. 11 La giunzione pn e lo strato di svuotamento Cap. V -La microelettronica e la nascita del Personal Computer 74
  • Le origini dell’informaticalasciando l’atomo con una carica totale positiva, andando ad unirsi ad unnuovo atomo di cui incrementa la carica elettrica negativa. Gli atomi che aseguito di tali fenomeni perdono o acquistano un elettrone vengono denominatiioni, positivi o negativi. La presenza di elettroni negli strati esterni debolmentelegati al nucleo determina anche le caratteristiche dei materiali dal punto divista elettrico. Conduttori quelli che dispongo di molti elettroni nella fasciaesterna debolmente legata, isolanti quelli che non ne dispongono.Esistono però speciali materiali che manifestano caratteristiche intermedie tra idue citati, tra questi il germanio ed il silicio. In particolare il silicio è unmateriale facilmente reperibile e le cariche disponibili per la conduzione sonopoche e sono costituite da quegli elettroni che per l’agitazione termica delFig. 13 – Il flusso delle cariche in un transistor a giunzionemateriale vengono sbalzati dal legame che formano con gli atomi. L’insieme diCap. V -La microelettronica e la nascita del Personal Computer 75
  • Le origini dell’informatica questi elettroni produce un flusso di particelle negative e quindi una corrente, ma anche la presenza delle lacune, originate dagli atomi dove sono stati sbalzati gli elettroni da origine ad un flusso, questa volta di mancanza di cariche negative e cioè di cariche positive. Le lacune si muovono quando un atomo da un elettrone vicino viene sbalzato nella lacuna e quindi la lacuna si sposta in direzione opposta all’elettrone, come le bolle d’aria in un liquido. Questo flusso di cariche può essere amplificato con un opportuno drogaggio del silicio, cioè con l’aggiunta di piccole parti di altri materiali. La modifica consiste nell’aggiungere a del silicio molto puro ( oltre il 99,99999 % ) una piccola percentuale di materiale pentavalente o trivalente , cioè in cui ogni atomo dispone di cinque o tre elettroni per effettuare legami con gli atomi circostanti . L’aggiunta di questi materiale comporta che nella struttura regolare cristallina formata dagli atomi di silicio si trovano, suddivisi in modo uniforme , degli atomi con un atomo di legame in eccesso ( pentavalenti ) o in difetto ( trivalenti ) . Nel primo caso avremo Fig. 14 Diodo e transistor a giunzione, simboli elettrici e degli elettroni disponibili ad una comportamento ad un segnale ,debole, conduzione di corrente, nel secondo caso delle lacune, anch’esse disponibili ad una debole conduzione. Identificheremo i materiali drogati con elementi pentavalenti, come l’arsenico , il fosforo e l’antimonio, di tipo N, quelli drogati con elementi trivalenti, come l’alluminio, il boro ed il gallio, di tipo P.5.4 Il diodo a giunzione Accostando una piastrina di materiale di tipo P ed una di tipo N si forma una giunzione che da origine ad un fenomeno di addensamento di cariche elettriche. Gli elettroni disponibili per la conduzione nello strato N vengono richiamati dalle lacune nel materiale P oltre la giunzione. Inizia quindi un flusso di cariche elettriche negative che vanno a caricare elettricamente ed in valore negativo la zona di materiale P vicina alla giunzione. Questo addensamento di cariche e le corrispondenti cariche positive che rimangono nella zona N dove gli elettroni si sono spostati danno origine ad una barriera di potenziale che rallenta il passaggio di nuove cariche elettriche. Cap. V -La microelettronica e la nascita del Personal Computer 76
  • Le origini dell’informatica Fig. 12 Una giunzione pn polarizzata inversamente Si arriva ad una situazione di equilibrio come raffigurato nella fig. 11 , quando questa differenza di potenziale è tale da impedire completamente il transito di nuove cariche. La zona a cavallo della giunzione dove sono stati svuotati gli elettroni e le lacune viene denominata zona di svuotamento. Il valore della barriera di tensione dipende dal tipo di materiale, per il silicio vale circa 0,7 volt. Il dispostivo così realizzato presenta delle caratteristiche elettriche dipendenti dal tipo di polarizzazione ( cioè la modalità di applicazione del polo positivo e di quello negativo ai due morsetti ). Le due situazioni sono schematizzate nella Fig. 12 e nella Fig 13. Nella prima vediamo come l’applicazione di una tensione esterna con il polo positivo venga applicato alla piastrina P e quello negativo a quella N comporta che i due potenziali elettrici, esterno e di barriera, sono in opposizione. Se la tensione esterna supera il valore di barriera, la differenza di potenziale fa si che la barriera sulla giunzione viene annullata e si instaura una corrente, dovuta ad un flusso di elettroni ed a un flusso di lacune in senso inverso. Nel caso di applicazione di una tensione esterna in senso inverso succede invece quanto evidenziato nella figura 12. In un primo momento gli elettroni di confine della zona di svuotamento vengono ulteriormente allontanati dalla f.e.m. esterna ed in ugual modo lacune nella zona P vengono riempite da elettroni forniti dal generatore esterno. Questo comporta però un allargamento della zona di svuotamento ed un aumento dellaFig. 9 Una giunzione pn polarizzata direttamente tensione ai capi della giunzione. Si perviene ad una nuova situazione di equilibrio quando la tensione ai capi della barriera diventa uguale a quella esterna. In tale situazione si ferma il movimento di cariche e la relativa corrente. In definitiva un diodo può essere polarizzato in Cap. V -La microelettronica e la nascita del Personal Computer 77
  • Le origini dell’informatica due modi. Uno diretto nel quale la corrente può fluire ed uno inverso nel quale la corrente non può fluire. 5.5 Il tranistor BJT Il diodo è un componente di fondamentale importanza in elettronica e viene impiegato per diversi scopi, primo tra tutti quello di raddrizzare correnti alternate, ma per l’utilizzo nei circuiti digitali binariFig. 16 Il transistor come interruttore il componente di maggiore importanza è il transistor in quanto, come già con le valvole termoioniche, oltre a manifestare un comportamento di amplificatore può anche essere utilizzato come un interruttore comandato con un segnale elettrico. Naturalmente con il vantaggio di essere enormemente più piccolo e di consumare una frazione dell’energia richiesta da una valvola termoionica. Il principio di funzionamento è illustrato dalla fig. 13. Come espresso dalla Cap. V -La microelettronica e la nascita del Personal Computer 78 Fig. 17 La realizzazione in forma integrata di componenti elettrici passivi
  • Le origini dell’informatica sigla il dispositivo è costituito da componenti in cui la corrente è ottenuta come una sovrapposizione di due flussi ( lacune e elettroni ) e mediante giunzioni. Le giunzioni devono essere opposte quindi realizzate unendo tre placche di materiale p-n-p o n-p-n. Affinché si manifesti l’effetto transistor le due giunzioni devono essere abbastanza vicine perché le due zone di svuotamento vadano a collidere. Inoltre le due giunzioni devono essere polarizzate una in modo diretto ed una in modo inverso. Per ottenere questo il transistor è collegato ad una tensione di alimentazione in corrente continua mediante resistori. A questo punto la situazione è quella illustrata nella figura 13. Le cariche iniettate nella giunzione polarizzata direttamente (a), una volta entrate nella base, sono letteralmente risucchiate dalla zona di svuotamento della giunzione polarizzata inversamente. Secondo il primo principio di Kirchoff la relazione tra le correnti è I E = IC + I B La corrente in base è trascurabile rispetto a quelle nel collettore e nell’emettitore. In questa situazione un segnale che viene applicato tra i morsetti E e B in serie alla tensione di polarizzazione, si trova amplificato tra i morsetti B e C . Per gli impieghi nell’elettronica digitale il transistor è utilizzato portando il dispositivo in due situazioni, come illustrato in fig.16 . La prima detta di saturazione è quella in cui la giunzione base emettitore è polarizzata direttamente e quindi tra collettore ed emettitore abbiamo conduzione, equivalente ad un interruttore chiuso, la seconda è detta di cutoff, la giunzione tra base ed emettitore non è polarizzata direttamente, tra emettitore e collettore non vi è conduzione, equivalente ad un interruttore aperto.5.6 I circuiti integrati La realizzazione del transistor bjt e quindi la nascita dell’elettronica dello stato Fig. 15 Transistor BJT realizzati in forma integrata solido, consente di realizzare circuiti di dimensioni molto inferiori rispetto all’utilizzo delle valvole ma siamo pur sempre con componenti che devono essere collegati singolarmente su una scheda. La seconda grande innovazione è stata la realizzazione di più componenti in forma integrata, su un’unica piastrina di materiale semiconduttore , il chip. Il procedimento si basa sulla diffusione in ambiente controllato dei droganti sulle piastrine che, ricoperte da apposite maschere sono diffusi solo in alcune zone. Cap. V -La microelettronica e la nascita del Personal Computer 79
  • Le origini dell’informatica Il procedimento è ripetuto più volte con maschere diverse fino ad ottenere l’effetto voluto. Una volta realizzati i singoli componenti nella piastrina si procede alla realizzazione dei collegamenti mediante la deposizione di piste metalliche, allo stesso modo delle schede. Oltre a realizzare componenti attivi come i diodi e i transistor si possono anche realizzare resistori e condensatori, come illustrato nella figura 17. Per le induttanze non si è trovato un modo soddisfacente per realizzarle in forma integrata. Resistenze e capacità possono essere ottenute solo per valori limitati. Con la realizzazione dei primi circuiti integrati si ottengono già notevoli miglioramenti ma la tecnologia dei componenti integrati ha un grande miglioramento conFig. 19 Porte logiche basate su mosfet l’introduzione di un nuovo tipo di dispositivo, il transistor a effetto di campo. La tecnologia bjt presentava notevoli problemi per la realizzazione in forma integrata. Il transistor a effetto di campo utilizza un principio che in qualche modo ricorda quello delle valvole termoioniche. Il dispositivo rappresentato in fig. 18 rappresenta un transistor a effetto di campo di tipo MOSFET ( Metal Oxide Semiconducto Field Effect Transistor ) . I tre morsetti sono denominati in questo caso sorgente, porta e pozzo. Il passaggio di corrente tra sorgente e pozzo dipende dalla tensione applicata alla porta e alle cariche indotte per effetto elettrostatico ( come sulle armature di un condensatore ) sono le Fig. 18 Transistor a effetto di campo cariche presenti nel canale Cap. V -La microelettronica e la nascita del Personal Computer 80
  • Le origini dell’informaticaal di sotto della porta che permettono la conduzione.Anche in questo caso un segnale elettrico applicato alla porta si trovamodificato tra sorgente epozzo. Come per il BJT ildispositivo si può utilizzarecome interruttore. A secondache alla porta venga o menoapplicata una tensione si hapassaggio di corrente trasorgente e pozzo. Ildispositivo può essererealizzato sia con un canalein materiale di tipo p che ditipo n. In particolare risultaconveniente dal punto divista della produzione informa integrata, larealizzazione di componentiaffiancati a canale n ed acanale p, denominata CMOS(Complementary MetalOxide Semiconduttor), checomporta anche minoriconsumi. Con la tecnologia Fig 20 - Un latchPMOS venne realizzato dalla INTEL il primo microprocessore, INTEL4004 ,in grado di elaborare blocchi di istruzioni da quattro bit, aveva 2250 transistor,la piastrina di silicio era di 2,972 x 4,039 millimetri e successivamenteINTEL8008.Con i transistor MOSFET si possono realizzare i mattoni fondamentali deicircuiti digitali. In fig. 18 vengono illustrati i circuiti che realizzanorispettivamente un invertitore, una porta logica AND ed una porta logica OR.Per il primo, quando viene applicato un segnale di livello alto alla porta, ilcanale consente la conduzione e quindi abbiamo conduzione elettrica trasorgente e pozzo ed il potenziale in uscita va a zero, invertendo così il segnalein ingresso. Con lo stesso principio nel secondo circuito abbiamo passaggio dicorrente nei primi due transistor solo se entrambi i segnali in ingresso sono alti,realizzando così una NAND che con il terzo transistor che funziona dainvertitore diventa una AND. Nel terzo caso basta un solo segnale alto iningesso per far condurre tra sorgente e pozzo di uno dei due transistor e quindiottenere un segnale alto in uscita, cioè una porta OR.Nella successiva figura vediamo come utilizzando i mattoni fondamentali sipossa costruire un circuito, denominato latch o flip-flop che memorizza informa stabile, purché alimentato, un bit.Cap. V -La microelettronica e la nascita del Personal Computer 81
  • Le origini dell’informatica5.7 La produzione dei circuiti microintegratiFig.22 – Il processo di produzione di circuiti integrati Realizzare dei componenti in forma integrata richiede di costruire in una unica piastrina di silicio strati sovrapposti di materiali drogati di tipo P e N. I procedimenti impiegati sono due, a diffusione e ad impiantazione ionica. Nel primo il materiale dove si vuole realizzare la zona viene esposto ad alta temperatura in atmosfera dove è presente in forma gassosa il materiale drogante. Gli atomi di drogante che vengono a contatto della superficie della piastrina si diffondono al suo interno. La profondità delle zone dipende dal tempo di esposizione. Nel secondo metodo ioni di materiale drogante vengono accelerati per mezzo di campi elettrici e grazie all’energia cinetica acquisita direttamente impianti nella struttura cristallina del silicio. Le diverse fasi della realizzazione di un circuito integrato sono rappresentate nella figura xx . Si comincia con il disegno del circuito realizzato con un programma di CAD. Da questo in base alla tecnologia prescelta per la realizzazione . Su questa base si passa alla definizione dei vari strati di materiale P ed N necessari alla loro realizzazione. Cap. V -La microelettronica e la nascita del Personal Computer 82
  • Le origini dell’informaticaIl funzionamento dei circuiti viene studiato con dei programmi di simulazione.Una volta definito il disegno, viene ridotto alle dimensioni reali. I circuitiverranno realizzati su delle lastre di silicio ( wafer ) che vengono prodotteaffettando un cilindro di silicio monocristallino prodotto partendo da un unicocristallo in un bagno fuso di silicio puro ( al 99,9999999 % ) a 1420 gradicentigradi. Il cilindro così prodotto, di lunghezza superiore al metro, vienedapprima rettificato al tornio e poi tagliato a fette che vengono levigate perprodurre due facce perfettamente parallele. Il prodotto finito ha uno spessore di 0,5 mm. Il diametro dei wafer può esseredi 10 , 15 cm o maggiori. Date le dimensioni del circuito da realizzare su unasingola fetta ne vengono prodotte diverse decine I diversi layout dei singoli strati da produrre vengono pertanto dupplicati edaffiancati con un procedimento detto a ripetizione. La struttura da realizzare ètridimensionale, gli stratir vengono sia costruiti all’interno del chip che sullasuperficie. Le tecniche di produzione si basano su processi di tipo fotograficoad altissima definizione . Per le varie fasi vengono prodotte delle lastre dilavorazione per mezzo di immagini incise su film di cromo su lastra di vetro.Una volta preparate le lastre possono essere mandate all’impianto diproduzione. Tutte le fasi di predisposizione delle lastre e di produzione devonoavvenire in ambienti estremamente puliti, la presenza di polveri anche moltosottili, può vanificare l’intero procedimento. Gli operatori indossano tutespeciali e glia mbienteiutilizzano aria che vienecontinuamente posta in icircoloe feltratura. La scelta dominantedel silicio come componente dibase per la produzine del chipderiva anche dalle ottimeproprietà del suo ossido , cheviene utilizzato come isolante.Se si riscalda il wafer di silicioin atmosfera con presenza diossigeno o di vapor d’acqua,sulla sua superficie si forma ilfilm d’ossido il cui spessorepuò essere regolato in base altempo di esposizione ed allatemperatura. La produzione deicircuiti integrati consisteessenzialmente nellarealizzazione dei diversi stratiche corrispondono ad una Fig. 21 Una maschera per la produzione di circuiti integratideterminata maschera. Il waferviene d’apprima ricoperto con una pellicola di biossido di silicio. Su questoviene deposto uno stratodi nitruro di silicio. Quest’ultimo viene rimosso inmodo selettivo, utilizzando una maschera, con un procedimento fotolitograficoCap. V -La microelettronica e la nascita del Personal Computer 83
  • Le origini dell’informatica convenzionale. Utilizzando come mascheratura le zone ove il nitruro di silicio, si procede alla diffusione del materiale drogante. Si continua poi a costruire mascherature con deposizioni di strati, rimozioni selettive, diffusioni di materiali droganti. Dato che le diffusioni vengono fatte in modo successivo, ogni volta il materiale viene sottoposto alla diffusione ad alta temperatura. In tali condizioni anche le diffusioni precedentemente realizzate continuano ad espandersi. Questo effetto deve essere inizialmente previsto. Una volta terminata la costruzione dei diversi strati cheFig. 23 – La rivista Popular Elettronics ,Gennaio 1975, che annuncia il primo computer compongono i singoli componenti sidi larga diffusione, in kit di montaggio, Altari realizzano i8800. collegamenti tra i dispositivi con la deposizione di un film di alluminio, anche questa volta con procedimento di mascheratura, il metallo viene posto in un crogiuolo e i wafer vengono disposti al di sopra in un cestello in rapida rotazione. Il processo ha termine con il controllo elettrico. Ogni circuito viene controllato con una macchina che si collega al chip mediante degli aghi. Da ultimo viene incapsulato dopo essere stato collegato con dei sottili fili ad un blocco di piedini, che, una volta Fig. 24 Altair 8800 , 1975 incapsulato, realizzano i collegamenti elettrici esterni. 5.8 Il microelabortatore diventa un bene di consumo Nel Gennaio 1975 una rivista di elettronica molto diffusa negli USA,Popular Electronics , annuncia la disponibilità di un computer in scatola di montaggio Altair 8800, il nome deriva dalla destinazione della nave Enterprise in un episodio di Star Trek.. La copertina della rivista Lo qualifica come il primo minicomputer in kit in gradi di rivaleggiare con i modelli commerciali. La macchina era basata sul processore INTEL 8080 a 8 bit e venduto in kit di montaggio a 397 dollari dalla catena di negozi Radio Shake. Tra gli acquirenti della rivista due sedicenni di Seattle, Fig. xx Paul Allen e Bill Gates Cap. V -La microelettronica e la nascita del Personal Computer 84
  • Le origini dell’informaticaPaul Allen e Bill Gates, che leggendo l’articolo cominciano a progettare il lorofuturo. I due intuiscono che macchine come l’ALTAIR8800 potranno avereuna enorme diffusione, che porterà rapidamente all’estinzione dei dinosauridell’epoca, e che probabilmente ci sarebbe stato bisogno di fornire del softwareper tali macchine. Alcuni anni più tardi i due decidono di fondare una societàcon tale scopo e dato che si doveva occupare di fornire il software per imicrocomputer, la chiamarono Micro Soft.. ALTAIR8800 era un computer sulmodello del INTELLREC 8008, i dati e le istruzioni dovevano essere inseritimediante sedici interruttori sul pannello frontale, che configuravano i singolibytes, ed inseriti con un tasto di controllo. Era ancora poco più di una curiositàdestinata agli appassionati di elettronica ma ne vennero venduti decine dimigliaia , aprendo la strada alla creazione di un mercato delle macchinedestinate ad uso personale.Cap. V -La microelettronica e la nascita del Personal Computer 85
  • Le origini dell’informatica 5.9 INTEL e la nascita del microprocessore Nel 1968 viene fondata la INTEL Corporation , con lo scopo di produrre chiIntel Earlier Processors Processor Clock Intro Date(s) Mfg. Transistors Addressabl Typical Use Speed(s) Process/ e Memory Transistors Intel386™ DX 33 MHz Apr. 10, 1989 1.5- and 1- 275,000 4 GB Desktops Processor 25 MHz 33 MHz micron 20 MHz 16 MHz Apr. 4, 1988 25 MHz Feb. 16, 1987 20 MHz Oct. 17, 1985 16 MHz 80286 12 MHz February 1.5-micron 134,000 16 MB Desktops (standard CPU for all IBM 10 MHz 1982 PCs clones at the time) 6 MHz 80186 12 MHz 1982 Used mostly in controller applications 10 MHz 8088 8 MHz June 1979 3-micron 29,000 Desktops (standard CPU for all IBM 5 MHz PCs and PC clones at the time) 8086 10 MHz June 8, 1978 3-micron 29,000 1 MB Portable computing 8 MHz 5 MHz 8085 5 MHz March 1976 3-micron 6,500 Toledo scale. Computed cost from weight and price. High level of integration, operating for first time on a single 5-volt power supply (down from 12 volts). 8080 2 MHz April 1974 6-micron 4,500 64 KB Traffic light controller, Altair computer (first PC). 8008 500-800 April 1972 10-micron 3,500 16 KB Dumb terminals, general calculators, KHz bottling machines, data/character manipulation 4004 400 KHz Nov. 1971 10-micron 2,300 640 Bytes Busicom calculator, arithmetic manipulationFig. Xx I primi microprocessori INTEL complessi. Nel 1971 costruisce il primo microprocessore su singolo chip, INTEL 4004. Il progetto venne commissionato dalla Busicomm che lo utilizzo come memoria di una calcolatrice. Il processore e basato su registri a quattro bit. Resasi conto delle enormi potenzialità del progetto INTEL ricomprò i diritti e sviluppo ulteriormente il progetto ampliandolo ad una Cap. V -La microelettronica e la nascita del Personal Computer Fig. xx Intel 8008 86
  • Le origini dell’informatica architettura a 8 bit, INTEL 8008. Nella tabella vengono riassunte le caratteristiche dei microprocessori prodotti da INTEL dal 4004 al 486. 5.10 Dal minicomputer al Personal Computer Abbiamo esaminato come l’introduzione dei componenti integrati e del microprocessore abbiano consentito di realizzare a metà degli anni settanta un microcalcolatore di costo largamente accessibile, ma il computer come noi oggi lo conosciamo è un oggetto che interagisce con l’uomo tramite tastiera e video, che gestisce testi e fogli di calcolo , ben diverso dai primi elaboratori. Le idee che portarono alla nascita del moderno elaboratore traggono la loro origine da un progetto sviluppato negli anni ’40. Il progetto portò alla Apple I , la versione sperimentale costruzione della prima machina interattiva per scopi generali, costruita nel 1976. operativa nel 1951, Whirlwind. Il progetto si proponeva di costruire un simulatore di volo che doveva quindi interagire con l’operatore in tempo reale. Realizzata a valvole occupava otto grandi armadi , aveva prestazioni paragonabili ad un personal computer degli anni ottanta. Le modalità di utilizzo della macchina erano completamente diverse da tutte le altre. Gli utenti si prenotavano per utilizzare la macchina per periodi di quindici minuti , durante i quali potevano sedersi di fronte al monitor della macchina, scrivere e lanciare programmi o eseguire simulazione. Le tecnologie sviluppate per Whirlwind furono successivamente utilizzate nel progetto SAGE, un sistema di controllo esteso a tuttiFig. xx . Digital PDP-1, 1960 gli USA per prevenire atttachi aerei. Furono realizzati 23 centri sparsi sul territorio e ognuno dotato di due elaboratori in grado di seguire la traiettoria di un massimo di 400 aerei. Il sistema venne dimesso nel 1984. Le numerose ditte che lavorarono al progetto trasferirono le tecnologie utilizzate nel mondo commerciale, Fig. xx Digital PDP-11 , 1970 Cap. V -La microelettronica e la nascita del Personal Computer 87
  • Le origini dell’informatica prima fra tutte la IBM, che nel 1955 divenne il primo produttore a commercializzare un elaboratore basato su una memoria realizzata con nuclei di ferrite, che rimarrà lo standard fino a metà degli anni ’70. SAGE era comandato da consolle comprendente un tubo a raggi catodici, una tastiera e di un puntatore ottico che permetteva all’operatore di selezionare punti sul monitor. Fu sempre in questo progetto che , per permettere l’interconnessione tra i 23 centri mediante linee telefonie venne realizzato il MODEM. L’idea di costruire un elaboratore interattivo venne ripresa da due degli utenti di Whirlwind, Kenneth Olsen e Harlan Anderson, che nel 1957 fondarono una piccola società con lo scopo di costruire computer interattivi, la Digital Equipment Corporation. Nel 1960 la DEC introdusse il suo primo elaboratore programmabile, il PDP-1 di cui vennero venduti 49 esemplari, al costo di 120.000 dollari. La macchina era completamente interattiva, disponeva di un display a raggi catodici integrato, poteva stare in una piccola stanza. La sua architettura era aperta, nel senso che tutti i progetti venivano resi pubblici e gli utenti potevano anche modificarla per i loro scopi.. Sulla base del successo ottenuto, la DEC cominciò a lavorare allo sviluppo di un computer da tavolo, da destinare a piccoli gruppi di lavoro. Il risultato di questo sviluppo fu il già citato PDP-8, un computer talmente piccolo che la pubblicità lo presentava caricato su una mggiolino cabrio. E che costava solamente 18.000 dollari. Costruito nel 1965 ebbe una rapida diffusione e divenne il capostipite di una nuova famiglia di elaboratori che venne indicata con il termine di minicomputer, termine secondo alcuni introdotto a seguito di un’altra rivoluzione dell’epoca, la minigonna. Nel 1975 viene introdotto il già citato Altari 8800 che apre la strada alla costruzione di macchine effettivamente operative. Nel 1976 viene fondata la Apple Computers che nel 1977 presenta il suo Apple II, aveva la tastiera integrata e un design accattivante, costava 1195 dollari, monitor escluso. Apple II disponeva di una visualizzazione grafica e di un mouse. L’interfaccia grafica ed il mouse derivano sempre dal progetto SAGE, ed in particolare al lavoro di Engelbart, che ideò per primo il mouse, le finestre sovrapponibili, l’ipertesto, la videoscrittura a tutto schermo e diverse altre innovazioni. Queste nuove idee erano state presentate da Engelbert nella Fall Join Computer Conference a San Francisco nel 1968. Le idee furono successivamente sviluppate al PARC, centro di ricerche della Xerox a Palo Alto. Fu qui che vennero realizzati i primi prototipi del personal computer e dell’interfaccia grafica che la Apple avrebbe reso famosa.Fig. xx Apple II , 1975 Cap. V -La microelettronica e la nascita del Personal Computer 88
  • Le origini dell’informatica 5.11 Il Personal Computer IBM Nell’estate del 1980 due emissari della IBM si recano presso la Microsoft per discutere circa la possibilità di costruire un Personal Computer. All’epoca la IBM controllava l’80% del mercato dei grandi computer. L’intenzione era di poter commercializzare il prodotto entro un anno. Per entrare in questo nuovo mercato i dirigenti IBM abbandonarono la strategia fino ad allora seguita di produrre in casa tutto l’hardware ed il software, si scelse di basarsi su componenti facilmente reperibili e su una architettura aperta. Anche per ilFig. 26 Il PC-IBM , 1981 microprocessore scelse di rivolgersi all’esterno, utilizzando l’INTEL 8086. Per il sistema operativo venne concluso un accordo con Microsoft per fornirlo in licenza.Il lettore dei floppy disk da 5 pollici ed un qyurto era fornito dalla Tandem Corp. , il monitor arrivava da Formosa, il monitor dal Giappone. Il progetto portò alla realizzazione di una macchina che tecnologicamente non era all’altezza dei già realizzati Apple ma che aveva il suo punto di forza nella semplicità di utilizzo, nell’affidabilità e nella possibilità di copiarne l’architettura, nasceva il mercato parallelo dei cloni. Nel 1982 le vendite del PC-IBM furono il 14 % del già florido mercato dei PC megli USA, mercato allora controllato con il 70 % delle vendite dalal Apple. La macchina basata su una innovativa architettura a 16 Bit, poteva indirizzare fino ad 1 Mbyte di memoria. La scelta di puntare su un prodotto aperto portò rapidamente ad una definizione di uno standard. L’architettura era basata su una struttura modulare, un BUS di comunicazione che verrà denominato ISA ( Industrial Standard Architetture) connetteva i vari sottosistemi. Attraverso dei connettori a pettine la Mother Board poteva essere ampliata con l’installazione di schede prodotte da altri produttori: Era nato il moderno PC, basato su una architettura libera e di cui la IBM era il leader incontrastato Il sistema operativo che la Microsofty produsse per IBM si basava su un precedente Cap. V -La microelettronica e la nascita del Personal Computer 89
  • Le origini dell’informaticaFig. xx Schema della mother-board del PC-IBM lavoro di un’altra piccola società di Seattle, un compilatore del BASIC con l’aggiunta di alcune funzionalità di un sistema operativo. I diritti su questo progetto vennero acquistati dalla MicroSoft che assunse anche l’autore del lavoro, Tim Paterson. Rielaborando il progetto venne prodotto il sistema secondo le richieste di IBM e venne denominato PC-DOS, In effetti al lancio del PC IBM la macchina veniva fornita con tre diversi sistemi operativi, oltre al PC-DOS prodotto da Microsoft vi erano anche il CP/M 86 e UCSD-Pascal- System. Il successo del PC-DOS fu decretato dal fatto che la Microsoft chiese ad IBM un cifra fissa indipendente da quante licenze avrebbe venduto, il che comportò che UCSD Pascal costava 450 $ , il CP/M 86 175 $ ed il PC-DOS 60 $. Cap. V -La microelettronica e la nascita del Personal Computer 90
  • Le origini dell’informatica Inoltre la Microsoft incentivò supportandoli i produttori di software per li sistema DOS, questo portò in breve tempo alla nascita di un mercato del software in cui il PC-DOS si impose come standard. Naturalmente però la Microsoft manteneva l’esclusiva per la vendita dei futuri aggiornamenti del prodotto. E con queste arrivarono anche i profitti. Furono queste strategie a portare la Micorsoft a diventare il colosso mondiale odierno. Nella figura xx vediamo come era composta la mother-board del PC-IBM e nella successiva fig. sono rappresentati i componenti principali della scheda. Le dimensioni della piastra sono di 25 x 36 centimetri, Il microprocessore INTEL 8086 si trova in alto a sinistra, alla sua destra vi è uno zoccolo per aggiungere un coprocessore matematico INTEL 8087, in grado di eseguire le operazioni in virgola mobile precluse al 8086. Nella parte centrale della scheda trovano posto i chip con le memorie ROM che immagazzinano il BIOS ( Binary Input output Subsystem ) , la parte fondamentale del sistema operativo, il LOADER , che deve sempre essere disponibile. La memoria di lavoro RAM viene implementata dai chip in basso a sinistra, che potevano essere inseriti su zoccoli per ampliare la memoria sino al massimo configurato sulla scheda nella foto nella parte centrale a destra abbiamo i due banchi di deep-switch per le configurazioni di sistema è l’ INTEL 8255A per la gestione delle porte di I/O a fianco il PIC per la gestione degli INTERRUPT. In alto a sinistra vi sono iFig. 25 – Lo schema del Personal Computer IBM cinque connettori a standard ISA che consentono di inserire delle schede di espansione In alto a destra sopra i microprocessori vi sono i connettori per la tastiera e per il collegamento ad un registratore a cassette. La fig. xx rappresenta la connessione logica dei vari sottosistemi mediante le linee del BUS ISA. La memoria del video viene inclusa nello spazio di indirizzamento della memoria di lavoro secondo una tecnica denominata memory-mapped I/O. La fig. xx rappresenta la schermata di presentazione dell’PC-DOS . Cap. V -La microelettronica e la nascita del Personal Computer 91
  • Le origini dell’informaticaFig. 27 La scheda madre del PC-IBM , 1981 Cap. V -La microelettronica e la nascita del Personal Computer 92
  • Le origini dell’informatica Riferimenti capitolo 5Andrei G. Vacroux I microcalcolatori Le Scienze Settembre 1975Bill Gates The road ahead - Viking – 1995James D. Meindl – Gli elementi de I circuiti microelettronici – Le ScienzeNovembre 1978William C. Holton – L’integrazione su larga scala dei circuiti elettronici – LeScienze Novembre 1978Hoo-min D. Toong e Amar Gupta – Personal Computer – Le Scienze Febbraio1983Cap. V -La microelettronica e la nascita del Personal Computer 93