Menu

La Macchina di Babbage

L'idea di quello che oggi chiameremmo il primo vero computer venne nel 1834 al matematico inglese Charles Babbage. Lo scienziato non partì dal puro calcolo ma da un principio chiave dell'economia: la divisione del lavoro, sapendo bene che essa governa l'organizzazione di qualunque cosa, dalla vita di casa, alla fabbrica, all'economia mondiale

Così inizia a lavorare sul progetto di una “macchina aritmetica” di utilizzo universale.

charles_babbage

Charles Babbage

La prima sfida fu quella di trovare un modo per immagazzinare i numeri: in pratica serviva la memoria. Per realizzarla, lo scienziato utilizza delle colonne perpendicolari di ottone composte da file di ruote dentate equidistanti, simili alle ruote numerate di una serratura a combinazione. Ogni colonna è, praticamente, una singola cella di memoria in grado di conservare un numero.

La seconda questione era l’unità di elaborazione, ovvero serviva un precessore. Anche per questo elemento Babbage si affidò al principio della divisione del lavoro, progettando un processore che non lavorava su tutta la memoria, ma solo su due celle più vicine, creando sostanzialmente la cache.

Infine dovette inventare un sistema per copiare i dati dalla memoria (centrale) alla cache e viceversa, costruendo un marchingegno che, per funzionalità, può essere paragonato all’odierno MMU (Memory Management Unit).

Grazie a questi tre elementi era possibile mettere i numeri in memoria nella macchina, prelevarne due qualsiasi, effettuarvi dei calcoli, e rimettere in memoria il risultato. Dal momento che le pile erano marcate, i vari componenti erano sempre in grado di sapere dove trovare ogni cosa.

Sostanzialmente Babbage costruì una macchina strutturata in modo simile agli odierni calcolatori.

cpu-cache-memoria

Schema semplificato degli elementi previsti di Babbage ritrovabili in un moderno sistema

Il progetto trovava la sua maggiore complicazione nella realizzazione del processore: infatti il matematico pensava di dover costruire dei componenti distinti della macchina per compiere le operazioni di addizione, sottrazione, moltiplicazione, divisione e tutti gli altri calcoli più complessi. Questo significava costruire migliaia di pezzi fatti a mano per ogni funzione complessa, cosa ovviamente impossibile, portando  Babbage ad una serie di riflessioni da cui emersero due cose fondamentali che si sarebbero rilevate cruciali per i futuri microprocessori:

  • la moltiplicazione è solo una addizione ripetuta e che la divisione è solo una sottrazione ripetuta e che perfino la sottrazione può essere ricondotta all'addizione.
  • oltre a saper sommare, una macchina universale di computazione deve unicamente essere in grado di controllare se un numero sia più grande di un altro, e ripetere le istruzioni ricevute. In pratica ogni macchina da calcolo, per quanto complessa sia,  può essere sostituito con un altro che sappia solo eseguire lunghe sequenze di tre semplici istruzioni: sommare, controllare e ripetere.

Ciò portò l’inglese a comprendere che la chiave di volta era nella possibilità di ridurre ogni operazione numerica a una lunga sequenza di poche operazioni semplici, rendendo, di fatto, necessaria la realizzazione solo di pochi semplici componenti che dovevano portare a termine ogni calcolo mediante sequenze di poche operazioni costanti.

Fondamentale si rilevò anche l’idea di dare alla macchina stessa la possibilità di perforare (oltre che leggere) le sue schede di istruzioni, in modo da poterle ri-leggerle ed agire di conseguenza quando fosse necessario. Così la sua macchina poteva modificare il proprio comportamento dopo essere stata avviata. Babbage la definì “la macchina che si mangia la coda” e, di fatto, inventò il primo sistema di storage.

Nulla di simile a un tale congegno, infinitamente riprogrammabile, era mai esistito prima che Babbage lo progettasse, e da esso derivarono tutta una serie di conseguenze, prima fra tutte il fatto che la parte importante della sua macchina non era più l'hardware (il mucchio caotico di ingranaggi in ottone che egli usò per costruirla), ma le schede perforate che le dicevano cosa fare (in sostanza il software).

Se fosse stato costruito, sarebbe stato il primo computer del mondo, ma rimase irrealizzato poiché il governo britannico, dopo aver inizialmente finanziato le ricerche, si rifiutò di concedere altri finanziamenti, ritenendo assurda l'idea che si potesse costruire una macchina che eseguisse un lavoro mentale.

macchina_babbage

La macchina di Babbage costruita negli anni '90 e conservata presso il Museo della Scienza di Londra

Ignorato dal suo paese, Babbage morì il 18 ottobre 1871 e con lui il suo progetto venne praticamente dimenticato. Solo negli anni '90 vennero riprese le sue ricerche e il 29 novembre 1991, una realizzazione del suo progetto (costruita coi mezzi disponibili nell'Inghilterra vittoriana) fu fatta funzionare, compiendo il primo calcolo completo presso il Museo della Scienza di Londra.

Babbage avrebbe potuto costruire davvero la sua macchina nel XIX secolo: se lo avesse fatto, il mondo sarebbe cambiato per sempre.