1. Informatica , le
origini e lo
sviluppo
Dalle schegge di selce alle schegge di silicio
Flavio Lombella , 2006
2. 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à.
3. Sommario
1 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 15
2 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 50
3 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 59
4 I primi elaboratori 61
4. 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
5. 1 Numerare , contare , calcolare
Prima di guardarti avanti guardati indietro
(John Watt)
1.1 Quanti
N ello sviluppo della storia dell'uomo, 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 l'uomo astrarre il concetto di numero come
6. Le origini dell’informatica
elemento simbolico svincolato da oggetti materiali. E’ certo che in origine i
termini utilizzati per rappresentare le quantità numeriche erano diversi per
oggetti diversi.Di questa difficoltà possiamo trovare ancora traccia nel
linguaggio odierno. Quando nella nostra lingua dobbiamo indicare un gruppo
di 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 nulla
vieterebbe, dal punto di vista logico, di utilizzare un unico termine. Non
disponiamo di testimonianze dirette ma il sopravvivere fino a tempi recenti di
popolazioni che in luoghi isolati hanno mantenuto un modo di vita tipico di
quello dell’età della pietra ci ha permesso di avere delle testimonianze dirette
delle capacità di rappresentare i numeri e del loro utilizzo. All’inizio del
secolo scorso un missionario vissuto a lungo nella tribù dei Tamanaca, lungo il
corso dell’Orinoco, riportava come il metodo utilizzato per contare si basava su
parole per identificare le sole prime quattro quantità. Per contare si avvalevano
di mani e piedi. Cinque corrispondeva ad una mano intera. Oltre si
identificavano i numeri con uno sull’altra mano, fino a due mani, poi uno sul
primo piede, due mani ed un piede, uno
sull’altro piede. Venti veniva identificato
quindi con un intero indiano e oltre con un
indiano e uno. Insomma si può definire un
sistema di numerazione a base venti. Un
sistema analogo si riscontra anche nelle
popolazioni Eschimesi e questo fa pensare che
il modo di numerare risalga ad un’epoca
precedente a quella in cui le grandi migrazioni
portarono Homo Sapiens a colonizzare l’intero
pianeta, vista la difficoltà di rappresentare
visivamente le dita in popolazioni abituate a
vivere completamente coperte da pellicce.
Quell’epoca che ancora oggi nella tradizioni
orale degli aborigeni australiani viene indicata Fig.2 Il papiro di Rhind, parte iniziale
come l’epoca del sogno.
Una delle esigenze principali che spinsero allo sviluppo della capacità di
calcolare fu il commercio.
Un secondo esempio molto significativo ci viene dal resoconto sempre di un
missionario che a fine 800 ci riportava gli usi delle tribù Dammara, nel Sud
Africa. A proposito dell’utilizzo del baratto osservava come quando durante
uno scambio di ad esempio pecore per stecche di tabacco supponendo che il
cambio corrente fosse di una pecora per due stecche, il cambio di due pecore
avveniva nel seguente modo : prima il venditore delle pecore cedeva al prima
pecora ricevendo in cambio le prime due stecche. La pecora doveva essere
allontanata. Convinto che la prima transazione fosse stata correttamente e
onestamente svolta si passava alla seconda pecora. Uno scambio in cui
direttamente si davano le due pecore e si ricevevano in cambio quattro stecche
non era assolutamente accettato. Insomma per questa parte dell’umanità il
concetto che due per due fa quattro era ancora lontano dall’essere acquisito.
Capitolo I –Numerare contare calcolare
6
7. 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
8. 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
9. 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 l'introduzione 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
10. 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
11. Le origini dell’informatica
maestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardo
consigliava al lettore di insistere nell’applicazione e nell’esercizio continuo,
sino a che memoria e ragionamento, mani e numeri “ quasi uno impulsu et
anelitu in uno et eodem instanti circa idem per omnia naturaliter consonent” .
Sarà questo anelito di perfezione a fare di Leonardo un matematico di
eccezione 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à del
secolo successivo tradurrà la sua opera in volgare e citerà ripetutamente le sue
opere e ne ricorderà la figura.
“ dicho che L.P. fu uomo sottilissimo in tutte le dispute et secondo che si
trova, lui fu il primo che ridusse allume questa pratica in toscana, che allora
si andava per vie molte e strane”
Dal 1202 al 1220 Leonardo Pisano non scrisse più nulla. In quegli anni gli
scomunicati della quarta crociata fondavano l’impero latino d’Oriente e nuovi
testi, questa volta greci, passavano in Europa ; crociati comunicati
distruggevano la Provenza e i suoi abitanti, demandando a Dio l’incarico di
riconoscere le anime dei non eretici. A Parigi veniva proibita , pena la
scomunica, la lettura sia in pubblico che in privato delle opere di Aristotele. Le
arti, le lettere e le scienze ebbero un forte impulso dall’avvento di Federico di
Svevia, “stupor mundi”, che volle alla sua corte notari e protonotari indigeni,
“magistri” e “philosofi” di tutte le nazioni. Fu proprio uno dei filosofi della
Capitolo I –Numerare contare calcolare
11
12. Le origini dell’informatica
corte di Federico, Maestro Domenico, a spingere Leonardo a scrivere un
nuovo testo, un compendio di geometria , la Pratica Geometriae.
Leonardo fu protagonista di sfide alla corte di Federico. Nel 1223 l’imperatore
passo per Pisa e Leonardo venne presentato a Federico II da Maestro
Domenico. Davanti all’imperatore si intrattenne in discussioni con Maestro
Giovanni da Palermo. Questi propose a Leonardo problemi del tipo di trovare
la soluzione ad una equazione di terzo grado o trovare un congruo, cioè
“Trovare un numero quadrato tale che , sia aggiungendogli che togliendoli
5, dia sempre un quadrato”.
Capitolo I –Numerare contare calcolare
12
13. Le origini dell’informatica
La 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
14. 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.Lxi
1
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
15. 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
16. 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 pubblica
Fig 9. Il frontespizio della prima una serie di tavole con i logaritmi dei numeri
edizione 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
17. Le origini dell’informatica
del 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 fino
a 10.000 e delle funzioni trigonometriche , dove l’uso di particolari
accorgimenti consente di ottenere approssimazioni molto soddisfacenti.”
L’opera riporta i logaritmi delle funzioni trigonometriche ed il valore dei
quadrati e dei cubi dei primi 1000 numeri. Seguono istruzioni per l’uso con
esempi pratici in particolare per interpolare valori tra quelli tabulati.
Sia le tecniche esposte da Leonardo Pisano che l’utilizzo delle tavole
trigonometriche richiedevano del personale specializzato e ben addestrato. I
calcoli erano comunque lunghi e tediosi, inevitabilmente soggetti ad errori. Si
cominciò a ragionare di come tale lavoro potesse essere automatizzato
utilizzando delle macchine.
Capitolo I –Numerare contare calcolare
17
18. Le origini dell’informatica
Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometriche
di Guglielmo Palazzi “ - 1974
Capitolo I –Numerare contare calcolare
18
19. Le origini dell’informatica
1.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
20. Le origini dell’informatica
Il numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca il
valore nella colonna L, per le prime due cifre della parte decimale si deve quindi
prendere l' ultimo valore della colonna L prima della linea 134 (12). Le altre 3 si
trovano sulla riga per N=134 nella colonna 7 (937).
La parte decimale sarà quindi 12937
Il logaritmo di 1347 è 3,12937.
Ora si somma il logaritmo di 10,34 al logaritmo di 1034 (nel caso della divisione
si dovrebbe sottrarre)
1,01452 + 3,12937 = 4,14389
Il prodotto tra 10,34 e 1347 sarà il numero il cui logaritmo è 4,14389, ora lo si
deve cercare nella tavola.
La parte intera del logaritmo è la potenza di 10 del numero cercato (4), con la
parte decimale (14389) si trovano le cifre.
La parte decimale inizia con le 2 cifre 14, le si cercano nella colonna L. Poi si
cercano le altre 3 cifre (389) nelle colonne seguenti numerate da 0 a 9. Il 389
non c' è, ci sono il 364 nella colonna 2 ed il 395 nella colonna 3 della riga per
N=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
21. 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 = 25
Nella 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 quinta
cifra significativa.
Il numero cercato sarà dunque 13928:
10,34 x 1347 = 13928
Fig. xx Frontespizio della pubblicazione di Rottman
Capitolo I –Numerare contare calcolare
21
22. Le origini dell’informatica
Terminiamo ricordando che nel 1959 Karl Rottmann pubblica presso il
Bibliographisches Institut di Mannheim delle tavole logaritmiche calcolate e
stampate con l' aiuto del computer. Non contengono errori di stampa . con
questo 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 erano
all’inizio non delle macchine di uso generale ma data la mole ed i costi solo per
scopi molto particolari, le necessità di calcolo della vita quotidiano erano sempre
soddisfatte 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
25. Le origini dell’informatica
Fig. xx Una pagina delle tavole di Rottman
1.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.html
1.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 D
Se 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
26. Le origini dell’informatica
1.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 D
Se 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, un'introduzione alla notazione
polacca inversa
Capitolo I –Numerare contare calcolare
26
27. Le origini dell’informatica
Il metodo RPN: descrizione e origine
Se siete utilizzatori assidui di una calcolatrice, è giunto il momento di scoprire i vantaggi del
metodo RPN. RPN è l'acronimo di Reverse Polish Notation (notazione polacca inversa). La
notazione polacca inversa è stata sviluppata nel 1920 da Jan Lukasiewicz come un modo
per scrivere un'espressione matematica senza usare parentesi. Hewlett-Packard Co. ha
ritenuto che il metodo di Lukasiewicz fosse superiore alle espressioni algebriche standard(1)
nell'uso di calcolatrici e computer, e ha adottato la notazione polacca per la sua prima
calcolatrice scientifica tascabile, la hp35, nel 1972.
Perché usare RPN?
• RPN permette di risparmiare tempo e immissioni di dati. Non occorre usare le
parentesi per effettuare i calcoli. Il processo è simile al modo in cui si è appresa la
matematica su carta.
• Si possono vedere i risultati intermedi mentre si eseguono i calcoli anziché avere
solo la risposta finale al termine. Si tratta di una funzione estremamente utile. Gli insegnanti
di matematica la utilizzano per migliorare la comprensione della matematica dei loro
studenti.
• Un risultato intermedio consente di controllare i risultati e di correggere gli errori più
facilmente. Risulta così più semplice seguire il corso del calcolo. L'utilizzatore definisce la
priorità degli operatori.
• RPN è logico perché l'utilizzatore prima immette il numero e poi stabilisce cosa
farne.
HP Fornisce la piena funzionalità RPN
Hewlett-Packard produce alcuni modelli di calcolatrici con RPN perché si tratta di un metodo
di calcolo estremamente potente e semplice. Le calcolatrici scientifiche HP 48G+ e HP
48GX e la calcolatrice finanziaria hp12C usano esclusivamente RPN. HP sa bene comunque
che vi sono clienti che preferiscono il modo di immissione algebrico tradizionale. Ecco
perché alcune calcolatrici HP funzionano con i due sistemi, RPN e algebrico. Ad esempio, la
17BII e la 49G possono passare da una modalità all'altra.
RPN è coerente nell'uso. Gran parte delle calcolatrici scientifiche non-RPN sono metà RPN
e 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 e
poi premere il pulsante SIN, il che corrisponde appunto al metodo RPN per immettere
l'equazione. Le calcolatrici scientifiche RPN HP non presentano questa peculiare differenza.
Imparare l'RPN è facile
Che lo si creda o meno, l'apprendimento della notazione polacca inversa è analogo a quello
della matematica. A ben pensarci, per usare una calcolatrice in modo algebrico bisogna
cambiare il modo in cui si è imparata la matematica.
Facciamo un esempio:
3+5
---
7+6
oppure (3+5) ÷ (7+6) = x
Metodo algebrico: Sommare 3+5=8. Annotare la risposta o memorizzarla. Sommare
7+6=13. Ora digitare l'8 dell'operazione precedente e quindi dividerlo per il secondo risultato
così da ottenere x=0,62.
Capitolo I –Numerare contare calcolare
27
28. Le origini dell’informatica
Metodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tasto
ENTER. Premere 6 e il tasto +. Viene visualizzato il risultato della seconda somma. Ecco ora
la 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 primo
risultato mentre si calcola il secondo.
Metodo RPN: 9 tasti e nessun bisogno di prendere appunti.
Come funzionano le calcolatrici RPN
RPN tiene traccia dei calcoli ponendoli in uno stack(2). Nell'esempio precedente, quando si
è premuto ENTER per la seconda volta, il risultato della prima somma è stato inserito(3)
nello stack in attesa dell'azione successiva. Dopo aver immesso la seconda somma,
premendo il tasto di divisione, il risultato della prima somma viene diviso per il risultato della
seconda e l'ultimo risultato in ordine di tempo viene rimosso(4) dallo stack. In altre parole, il
metodo 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 e
comune di uso del metodo RPN.
Operazione: Saldo: Operazione RPN: Stack RPN:
$252 252 ENTER $252
Spesa €23 229 23 - 229
Deposito 30 259 30 + 259
Spesa 21 238 21 - 238
Spesa 43 195 43 - 195
Spesa 21 174 21 - 174
Controllo pagamento: 574 400 + 574
400
Spesa 35 539 35 - 539
Spesa 74 465 74 - 465
Spesa 26 439 26 - 26
Spesa 100 339 100 - 339
Spesa 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 calcolatrici
non-RPN quando si immette un'equazione matematica nel seguente modo: 1+3*(3+(2-5)/3).
In modo algebrico le parentesi e l'ordine delle operazioni sono estremamente importanti.
(2) Stack: detto anche LIFO (last-in, first-out), costituisce la base del sistema RPN essendo
la 'memoria' che consente all'utilizzatore di immettere i numeri
Capitolo I –Numerare contare calcolare
28
29. Le origini dell’informatica
(3) Inserimento: l'aggiunta di un numero alla fine dello stack che spinge tutti gli altri numeri
verso l'alto.
(1) Rimozione: l'eliminazione dell'ultimo numero inserito in uno stack.
Capitolo I –Numerare contare calcolare
29
30. 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
31. 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.
32. Le origini dell’informatica
Un meccanismo di controllo in grado di impostare una posizione iniziale per
tutte le ruote.
Un meccanismo per cancellare il numero memorizzato nella macchina.
In merito ai primi lavori in questo campo, sebbene alcune leggende accreditino
al monaco Gerbert che divenne papa con il nome di Silvestro II, come il primo
a sviluppare un congegno per il calcolo automatico, la prima macchina di cui si
abbia notizie storiche certe, è quella sviluppata da Wihelm Schikard ( 1592 –
1635 ). Personaggio dai molteplici interessi, paragonato spesso per il suo
eclettismo a Leonardo da Vinci, scienziato, inventore e pittore, si trovò a
collaborare in diverse occasioni con Keplero. Della sua macchina per calcolare
non sono rimaste tracce, probabilmente anche perché tutta la famiglia si estinse
durante una delle periodiche epidemie che travagliarono l’Europa. In base alle
informazioni disponibili nel 1971 si è costruita una replica della macchina.
2.1 La macchina di Pascal
Ma il contributo più noto venne da Blaise Pascal ( 1623 – 1662 ), la sua
macchina si basava su principi completamente differenti da quelli di Schickard,
di cui non si ritiene avesse notizia. Nato nel sud della Francia, da famiglia
nobile, Pascal fu educato in famiglia, principalmente da parte del padre
potendo contare su una vasta biblioteca. A seguito di un tracollo economico
dovuto ad una forte diminuzione sugli interessi del
debito pubblico a seguito della guerra dei Differenze con i complementi
trent’anni, il padre cadde in disgrazia e vene anche Sottrarre 34 a 87
imprigionato. Riabilitato, anche a seguito delle 87 -
perorazioni dei figli, gli venne assegnato l’incarico 38
di esattore delle tasse nel nord della Normandia, ______ 49
incarico non certo molto popolare ma che
complemento a 99 di 38 = 61
consentiva alla famiglia un certo agio. Fu proprio a
seguito di tale incarico e dei laboriosi conti 87 +
61+
giornalieri necessari alla tenuta dei registri che 1
Pascal progettò e costruì la sua macchina da ______
149
calcolo. La prima macchina venne costruita nel
1642, ma si ritiene che nel corso della sua vita ne Non considerando il riporto si ottiene il
medesimo risultato. Certo eseguire il
costruì in totale cinquanta esemplari . I numeri complemento a 99 è sempre una
venivano inseriti mediante una serie di ruote forate sottrazione, ma si può fare senza
riporti
per mezzo di un perno un sistema simile ai selettori
decadici dei telefoni. I risultati venivano riportati in
una serie di finestrelle nella parte superiore della
macchina. Le ruote potevano muoversi solo in una direzione, di conseguenza si
potevano eseguire solo operazioni di somma, le sottrazioni venivano eseguite
utilizzando il complemento a nove del numero da sottrarre il meccanismo del
riporto è molto simile a quello di Schickard e si basa sull’utilizzo di una ruota
con un solo dente accoppiata a quella per rappresentare il numero e che, solo
Capitolo IV – I primi elaboratori
32
33. 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
34. 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 si
Fig 13 .Jhon Harrison
1693 - 1776, ritratto con il
basa sulla misura della
cronometro 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
35. Le origini dell’informatica
dare luogo ad eclissi che potevano essere utilizzate per il calcolo della
latitudine. Si possono utilizzare due eclissi nel corso di una notte e su questa
base Galileo produsse delle tabelle che consentivano di ricavare la longitudine.
Naturalmente restava la difficoltà di procedere all’osservazione delle eclissi
delle 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 tempesta
e con il mare molto mosso. La vera soluzione rimaneva la costruzione di un
orologio che consentisse di mantenere il tempo con un errore molto basso. Un
secondo d’arco corrisponde sulla sfera terrestre ad un miglio marino. L’uso di
orologi a bordo delle navi risale al XVI secolo ma la precisione era del tutto
insufficiente. Per tale motivo il parlamento inglese nel 1714 , su proposta del
matematico W. Whiston e con il consenso della regina Anna approvò il
Longitude Act con lo stanziamento di un premio di 10.000 , 15.000 o 20.000
sterline (si stima equivalenti a 12 milioni di Euro attuali ) a chi avesse
determinato la longitudine rispettivamente con la precisione di 1°, 0°,75 e di
0°,50 . Tra le motivazioni che portarono a tale decisione vi fu l’ennesimo
sinistro navale, la flotta da guerra inglese perse otto navi con 900 uomini
presso la foce del fiume S.Lorenzo, le somme promesse, da capogiro per
l’epoca, esprime in modo eloquente lo smarrimento
dell’intera nazione di fronte alla mancanza di metodi
sicuri per poter evitare tali disastri. La soluzione arrivò
con Jhon Harrison, un geniale meccanico che nel 1736
presentò il suo primo modello di orologio denominato
H1 al Board of Longitude, la commissione designata
dal parlamento per valutare l’assegnazione del premio.
L’ingegnosa costruzione prevedeva un orologio quasi
del tutto privo di attrito , in gradi di mantenere le parti
mobili in reciproco equilibrio senza l’effetto del moto
ondoso. Lo stesso anno la regia nave Centurion
sperimentò l’utilizzo dell’H1 in un viaggio tra Londra e
Fig.15 H3 , il primo cronografo
Lisbona. L’orologio perse solo un secondo nelle 24 ore. marino, che permise ad Harrison di
Cionondimeno la commissione decise solo di ricevere il premio di 20.000 sterline.
concedere 500 sterline per studiare successivi
affinamenti non ritenendo l’orologio sufficientemente
corrispondente alle richieste del Longitude Act. Occorsero 40 anni perché,
finalmente, Harrison potesse incassare la meritata ricompensa, dopo il
definitivo collaudo effettuato dal capitano James Cook nel suo secondo viaggio
con la Resolution nel 1772. I membri della commissione osteggiarono in ogni
modo Harrison, convinti sostenitori che la soluzione del problema della
longitudine potesse venire solo da metodi astronomici. Incidentalmente vale
la pena di ricordare che da solo H3 e il successivo H4, erano talmente
complessi da rendere improba l’impresa di riprodurli in serie.
Il Board iniziò allora a ricercare orologiai in grado di riprodurre, con la dovuta
precisione, il cronografo. Il primo a riuscire nell’impresa, ricompensato con un
premio di 500 sterline fu Larcum Kendal con il K1. Un ulteriore miglioramento
fu ricompensato con altre 200 sterline nel 1776 per il K2. Il K2 venne
Capitolo IV – I primi elaboratori
35
36. Le origini dell’informatica
imbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nel
celebre ammutinamento nel 1789 fu il K2 che consenti agli ammutinati, guidati
dal secondo ufficiale Fletcher Christian, di rifugiarsi nell’isola di Pitcarin.
Perché una nuova tecnologia possa effettivamente avere ripercussioni sulla
società deve essere riproducibile in modo semplice e ampliamente disponibile.
Nel 1860 la Royal Navy disponeva di più di 200 navi presenti su tutti i sette
mari e possedeva più di 800 cronografi.
Risolto il problema di come calcolare la longitudine rimaneva però quello della
latitudine. Fin dai tempi più antichi l’uomo si è orientato sul mare seguendo le
stelle, la testimonianza più antica la troviamo nell’Odissea. Nota l’altezza
sull’orizzonte di un corpo celeste, sapendo quale è la posizione del corpo
celeste sulla sfera celeste è possibile risalire alla latitudine dell’osservatore
sulla terra. A causa del movimento della terra attorno al sole e dell’intero
sistema solare nella nostra galassia , tale posizione varia di anno in anno.
Occorre pertanto fornire ai naviganti delle tavole che mappino i principali
corpi celesti alle varie latitudini. Tali tavole, denominate Effemeridi Nautiche,
vanno prodotte a cadenza annuale e, possibilmente, non devono contenere
errori.
Vi era pertanto un grande interesse per un sistema di calcolo che consentisse di
ricavare tali dati in modo automatico, veloce e sicuro. Il parlamento inglese
avrebbe volentieri speso una somma uguale al premio conferito ad Harrison per
tale scopo.
Capitolo IV – I primi elaboratori
36
37. Le origini dell’informatica
2.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 s'inserisce il pensiero e l'opera 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 quest'incarico dimostro le sue
capacità innovative e lo spirito di precursore, Fig. 16 Charles Babbage 1791-1875
portando nel mondo statico e immutabile
dell'università, 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 quest'uomo 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 un'unica 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
38. Le origini dell’informatica
senza possibilità di ambiguità. Quello che ci si proponeva non era di costruire
una macchina da replicare in grande serie e da porre al servizio dell’utente, ci
si accontentava di produrne una sola da destinare alla produzione di tavole,
logaritmiche , trigonometriche , per calcolare i tassi di ammortamento dei
mutui o le già citate Effemeridi Nautiche. Le tavole dovevano essere calcolate
con metodi manuali ed il lavoro necessario era enorme. In Francia, dopo la
rivoluzione e l’introduzione del sistema metrico decimale si rese necessario
predisporre nuove tavole in ogni campo. A tale scopo il direttorio radunò i
migliori matematici di Francia, che a loro volta dovettero utilizzare più di
cento persone per il lavoro di calcolo. Normalmente la biblioteca di un tecnico
poteva contenere un centinaio di volumi di tavole. Quella di Babbage ne
contava più di trecento. Il lavoro manuale comportava inevitabilmente errori in
ogni fase della produzione delle tavole compresa quella di stampa. Non era
raro assistere che a seguito della
pubblicazione di un volume seguisse a
breve quella dell’errata corrige, seguita da
una errata corrige delle prima errata ed
una seconda errata dell’errata. La sola
soluzione al problema era la
meccanizzazione dell’intero processo. Lo
stesso Babbage pubblicò attorno al 1820
una raccolta di tavole logaritmiche e
l’esperienza lo incitò all’ideazione di una
tale macchina.
La costruzione della macchina alle
differenze fallì miseramente, l'elevato
numero dei componenti da realizzare
(20.000) l'alta precisione richiesta e la
disponibilità di macchine utensili Fig. 17 La sezione costruita a scopo
rudimentali vinsero alla fine la tenacia dimostrativo da Clement della macchina alle
dell'autore. Certo tale insuccesso ebbe differenze
tra le cause il carattere irruente di
Babbage e i continui conflitti con il capo
meccanico Clement. A seguito di quest'episodio nella storia della scienza la
figura di Babbage fu indissolubilmente legata all'incompiutezza del suo
progetto, e rimase il dubbio se effettivamente la macchina fosse realizzabile o
le idee di base fossero realizzabili.
Per sciogliere tale dubbio, alcuni ricercatori del museo della scienza e della
tecnica di Londra hanno provato a realizzare, per il centenario della nascita di
Babbage la seconda macchina alle differenze, sponsorizzati da diverse ditte
produttrici di elaboratori. La macchina, in ottone, è stata realizzata e funziona
perfettamente, pesa diverse tonnellate e consente di effettuare operazioni in
virgola mobile con numeri fino a 36 cifre. Questo ha quindi dimostrato la
validità 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. Dopo
Capitolo IV – I primi elaboratori
38
39. 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
dell'elaboratore.
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
40. Le origini dell’informatica
riordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterline
spese. Richiese nuovamente l’intervento del Lord Cancelliere e dopo
perorazioni di numerosi amici, tra i quali il Duca di Edimburgo, gli venne
concesso un ulteriore finanziamento di 3.000 Sterline . Negli anni seguenti il
reperimento degli ulteriori fondi divenne via via più difficoltoso. Questo
comportava lunghi periodi di inattività durante i quali il personale assunto e
istruito finiva con l’allontanarsi. Alla ripresa dei lavori si doveva assumere
nuovo personale e procedere alla formazione. Durante uno di questi periodi
Babbage pensò di costruire un nuovo edificio a fianco della propria abitazione
per ospitare la macchina una volta completata, che al momento era in
costruzione presso il laboratorio di Clement. Da questo nacque una disputa con
il medesimo che lavorando anche per altri clienti, non voleva il trasferimento di
tutta l’officina nel nuovo edificio. La disputa portò alla rottura del sodalizio tra
i due, fatto deleterio per il progetto anche perché per la legge inglese a seguito
della risoluzione del contratto tutti gli strumenti sviluppati rimasero proprietà
di Clement. Durante i lunghi periodi di inattività Babbage dopo l’esperienza
già maturata ideò una nuova macchina di concezione molto più avanzata e
comunicò al governo che secondo la sua opinione la costruzione della nuova
macchina sarebbe stata di gran lunga più conveniente rispetto al
completamento di quella in costruzione. Per il Governo dopo le ingenti somme
spese fu una vera doccia fredda. Vi fu una vivace seduta del parlamento dove
un deputato dell’opposizione propose ironicamente di richiedere a Babbage se
con la parte già costruita della macchina fosse in grado di calcolare quanto
sarebbe costato completarla. Il 3 Novembre 1842 il Primo Ministro comunicò
ufficialmente a Babbage che il governo non era più intenzionato a finanziare il
progetto. Il Governo aveva contributo con un totale di 17.000 Sterline.
2.6 La ricostruzione della seconda macchina alle
differenze di Babbage
La risoluzione del dilemma sulla effettiva possibilità che le macchine di
Babbage potessero
funzionare si è avuta solo nel
1991, in contemporanea con
il bicentenario della nascita
di Babbage. Il progetto è
stato sviluppato al Science
Museum di Londra,
basandosi sui progetti
originali e sui quaderni di
appunti dell’autore. Durante
la costruzione della
macchina, 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
41. 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 figlio
2.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
42. Le origini dell’informatica
Questo lo portò a pensare che ogni barra potesse essere equivalente
nell’utilizzo, un luogo dove memorizzare temporaneamente un valore da poter
utilizzare successivamente. Un registro . Nel maggio 1835 in una lettera a Mr.
Quetelet scriveva :
“… for six months been engaged in making the drawings of a new
calculating engine of fa greater power than the first. I am myself astonished
at the power I have been enabled to give to this machine; a year ago I should
bot have belived this result possible.”
Il fatto che Babbage non fosse intenzionato a tentare la costruzione della
macchina analitica fece si che non predispose dei progetti dettagliati ma
continuò a lavorare al progetto fino alla morte. Comunque già nel 1840 le parti
principali erano definite. Nel disegno a lato , una vista dall’alto, si possono
vedere tutte le parti principali , ogni cerchio rappresenta una colonna di
ingranggi ( un registro ) , vi sono circa duecento colonne di ingranaggi anche
se 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 moderni
elaboratori, il mulino all’unità aritmetico logica e la barra di controllo
costituisce una rudimentale unità di micro controllo. Così come nella macchina
alle differenze ogni colonna di ingranaggi memorizzava un numero con la
posizione 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 cerchio
centrale. Consiste in una serie di accumulatori (A e A’) e degli ingranaggi
associati utilizzati per i riporti da uno all’altro, un terzo accumulatore (“A”) è
collocato appena sotto. Veniva utilizzato come appoggio per le operazioni di
moltiplicazione e divisione. I nove piccoli assi ( da T1 a T9 ) collocati al
centro 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 venivano
immagazzinati nei nove piccoli assi e questi prodotti parziali venivano aggiunti
al registro del risultato tante volte quanto y. Durante la moltiplicazione i due
accumulatori potevano essere collegati tra di loro per memorizzare il risultato.
Capitolo IV – I primi elaboratori
42
43. Le origini dell’informatica
Fig 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
44. 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
45. 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 altro
Fig. 23 Ada Augusta ruolo che quello di trascrivere gli appunti di Babbage.
Byron Contessa di La verità ci viene fornita dallo stesso Babbage, in una
Lovelace 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.
46. Le origini dell’informatica
essere programmata. Facendo riferimento allo schema della macchina del
paragrafo precedente, le schede con le istruzioni per la macchina dovevano
essere raccolte in sequenza per costruire un programma. Il lettore delle schede
le leggeva una volta, una scheda poteva contenere una istruzione come ad
esempio V6 x V3, e in conseguenza la barra doveva eseguire la sequenza di
operazioni necessari per realizzare l’operazione.
Capitolo IV – I primi elaboratori
46
47. Le origini dell’informatica
Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con la
macchina analitica
Era possibile effettuare dei cicli con delle istruzioni del tipo, Se l’apparato di
controllo contiene un numero inferiore a N allora ritorna indietro nella
sequenza di schede di P posizioni.
Capitolo IV – I primi elaboratori
47
48. Le origini dell’informatica
Un ciclo repeat until . Le schede erano però suddivise in lettori diverse, schede
con istruzioni di controllo, schede con indicazione dei registri coinvolti
nell’operazione, schede con costanti da acquisire dall’esterno. Questo avrebbe
permesso di creare cicli di operazioni da applicare a gruppi diversi di registri o
utilizzare 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 registri
A in V1
B in V2
C in V3
D in V4
E in V5
Indichiamo le schede con le direttive
N’ la macchina trasferisce il contenuto del mulino nel registro N
‘N la macchina trasferisce il contenuto del registro N nel mulino
La 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 = V6
V6 * V1 = V7
V4 - V5 = V8
V7 / V8 = V9
Quanto illustrato è un esempio molto semplice ma
ci sono pervenuti anche programmi molto più
complessi, tra cui uno per il calcolo dei numeri di
Bernoulli. Nella figura sono rappresentate le
istruzioni per il calcolo del quarto numero. Le
prime sei colonne rappresentano le operazioni, le
colonne rimanenti i contenuti dei registri. Ogni riga
Fig. 26 Charles Babbage ,
dagherrotipo
Capitolo IV – I primi elaboratori
48