Charles Babbage, 1791-1871. Ritratto dal Illustrated London News, Novembre. 4, 1871
Sembra un vero miracolo, che il primo computer digitale al mondo, che incarnava nei suoi dettagli meccanici e logici quasi tutti i principali principi del moderno computer digitale, è stato progettato già nel 1830., Questo è stato fatto dal grande Charles Babbage, e il nome della macchina è Analytical Engine
Nel 1834 Babbage progettato alcuni miglioramenti al suo primo computer—il motore differenza specializzata. Nel progetto originale, ogni volta che era necessaria una nuova costante in una serie di calcoli, doveva essere inserita a mano. Babbage concepì un modo per far inserire meccanicamente le differenze, disponendo gli assi del Motore di Differenza circolarmente, in modo che la colonna di risultato fosse vicina a quella dell’ultima differenza, e quindi facilmente raggiungibile da essa., Ha indicato questa disposizione come il motore che mangia la propria coda o come una locomotiva che stabilisce la propria ferrovia. Ma questo presto ha portato all’idea di controllare la macchina con mezzi completamente indipendenti, e facendola eseguire non solo l’aggiunta, ma tutti i processi di aritmetica a volontà in qualsiasi ordine e tutte le volte che potrebbe essere richiesto.
Il lavoro sul primo motore a differenza fu interrotto il 10 aprile 1833 e il primo disegno del Motore analitico è datato settembre 1834. Esistono oltre duecento disegni, in dettaglio, in scala, del motore e delle sue parti., Questi sono stati splendidamente eseguiti da un disegnatore altamente qualificato ed erano molto costosi. Ci sono anche oltre quattrocento notazioni di diverse parti, utilizzando il sistema di Babbage di notazione meccanica (vedi Leggi della notazione meccanica).
L’oggetto della macchina potrebbe presto essere dato così (secondo Henry Babbage, il figlio più giovane dell’inventore): è una macchina per calcolare il valore numerico o i valori di qualsiasi formula o funzione di cui il matematico può indicare il metodo di soluzione., È quello di eseguire le regole ordinarie dell’aritmetica in qualsiasi ordine come precedentemente stabilito dal matematico, e qualsiasi numero di volte e su qualsiasi quantità. Deve essere assolutamente automatico, schiavo del matematico, che esegue i suoi ordini e lo libera dalla fatica del calcolo. Deve stampare i risultati, o qualsiasi risultato intermedio arrivato.
Babbage destinato a progettare una macchina con un repertorio delle quattro funzioni aritmetiche di base, in contrasto con il motore Differenza, che utilizza solo addizione., Sull’analogia di un moderno computer digitale, il principio di progettazione del Motore analitico può essere suddiviso in:
1. Input. Dal 1836 in poi, le schede perforate (vedi la foto vicina) erano il meccanismo di base per alimentare nella macchina sia i dati numerici che le istruzioni su come manipolarli.
2. Uscita. Il meccanismo di base di Babbage era sempre un apparato di stampa, ma aveva anche considerato dispositivi di output grafici ancor prima di adottare schede perforate per l’output e l’input.
3. Memoria., Per Babbage questo era fondamentalmente il numero assi nel negozio, anche se ha anche sviluppato l’idea di un sistema di memoria gerarchica utilizzando schede perforate per ulteriori risultati intermedi che non poteva andare bene nel negozio.
4. Unità centrale di elaborazione. Babbage lo chiamava il mulino., Come i moderni processori prevedeva la memorizzazione dei numeri che venivano azionati più immediatamente( registri); meccanismi hardware per sottoporre quei numeri alle operazioni aritmetiche di base; meccanismi di controllo per tradurre le istruzioni orientate all’utente fornite dall’esterno in un controllo dettagliato dell’hardware interno; e meccanismi di sincronizzazione (un orologio) per eseguire passaggi dettagliati in una sequenza attentamente temporizzata., Il meccanismo di controllo del Motore Analitico deve eseguire automaticamente le operazioni e si compone di due parti: l’inferiore livello di meccanismo di controllo, controllato da una massiccia batteria chiamato botti, e il più alto livello di meccanismo di controllo, controllato da schede perforate, sviluppato da Jacquard modello-telai di tessitura e ampiamente utilizzato all’inizio del 1800.
La sequenza di piccole operazioni necessarie per effetto di un’operazione aritmetica è stato controllato da una massiccia batteria chiamato botti (vedi la vicina figura)., Le canne avevano borchie fissate alla loro superficie esterna più o meno allo stesso modo dei perni di un carillon o di un organo a canne. Le canne orchestravano i movimenti interni del motore e specificano in dettaglio come devono essere eseguite la moltiplicazione, la divisione, l’addizione, la sottrazione e altre operazioni aritmetiche. La canna mostrata nell’illustrazione ha solo diverse posizioni dei perni in ogni fila verticale. Nella macchina reale, i barili erano molto più grandi perché controllavano e coordinavano l’interazione di migliaia di parti., Ogni fila potrebbe contenere fino a 200 posizioni dei perni e ogni canna potrebbe avere da 50 a 100 righe separate. La macchina complessiva aveva diversi barili diversi che controllavano diverse sezioni. Naturalmente, i barili dovevano essere strettamente coordinati tra loro. Come una canna girata, i perni attivavano movimenti specifici del meccanismo e la posizione e la disposizione dei perni determinavano l’azione e la tempistica relativa di ciascun movimento. L’atto di girare il tamburo eseguiva quindi automaticamente una sequenza di movimenti per eseguire l’operazione di livello superiore desiderata., Il processo è interno al Motore e logicamente invisibile all’utente. La tecnica è ciò che in informatica è ora chiamato un microprogramma (anche se Babbage non ha mai usato questo termine), che assicura che le operazioni di livello inferiore necessarie per eseguire una funzione vengano eseguite automaticamente.
Per un meccanismo di controllo di livello superiore, Babbage inizialmente intendeva utilizzare una grande canna centrale, per specificare i passaggi di un calcolo. Questa idea tuttavia sembra poco pratica, perché ciò richiederà la modifica dei perni sulla canna super, che potrebbe essere un’operazione ingombrante., Il compito di reimpostare manualmente i perni nel tamburo centrale per dire alla macchina cosa fare era troppo ingombrante e soggetto a errori per essere affidabile. Peggio ancora, la lunghezza di qualsiasi set di istruzioni sarebbe limitata dalla dimensione del tamburo.
La sua lotta con il problema del controllo portò Babbage a una vera svolta il 30 giugno 1836. Concepì di fornire istruzioni e dati al motore non ruotando le ruote numeriche e impostando i perni, ma per mezzo di input di schede perforate, per mezzo di carte, simili a queste, utilizzate nei telai Jacquard. Ciò non ha reso obsoleto il tamburo centrale né lo ha sostituito., Le schede perforate fornivano un nuovo livello superiore della gerarchia di controllo che regolava il posizionamento del tamburo centrale. Il tamburo centrale è rimasto, ma ora con sequenze permanenti di istruzioni. Ha assunto la funzione di micro-programmazione, come questo di altri barili. Se per ogni operazione ci fossero barili separati e una canna centrale per il controllo dei tamburi delle operazioni, la scheda perforata presenta un modo per istruire la macchina (il tamburo centrale) su quali operazioni si desidera eseguire e in quale ordine, vale a dire la programmazione di alto livello del motore.,
Il principio di carte è stata apertamente preso in prestito dal telaio Jacquard (un telaio meccanico, ideato dal Francese Joseph Marie Jacquard all’inizio del 1800, basato su precedenti invenzioni dei suoi compatrioti Basile Bouchon (1725), Jean Falcon (1728) e Jacques Vaucanson (1740)), che ha usato una stringa di schede perforate per controllare automaticamente il modello di una trama (vedi la vicina di foto).
Nel telaio, le aste erano collegate a ganci a filo, ognuno dei quali poteva sollevare uno dei fili longitudinali infilati tra il telaio., Le aste erano raccolte in un fascio rettangolare e le carte venivano premute una alla volta contro le estremità dell’asta. Se un foro coincideva con un’asta, l’asta passava attraverso la carta e non veniva intrapresa alcuna azione. Se nessun foro era presente poi la scheda premuto indietro l’asta per attivare un gancio che sollevava il filo associato, permettendo la navetta che portava il cross-thread di passare sotto. Le carte sono stati infilate insieme con filo, nastro o nastro cerniere, e ventilatore, piegato in grandi pile per formare lunghe sequenze., I telai erano spesso massicci e l’operatore del telaio sedeva all’interno del telaio, sequenziando le carte una alla volta per mezzo di un pedale o di una leva manuale. La disposizione dei fori sulle carte ha determinato il modello della trama.
Come può essere programmato il Motore analitico?
Sappiamo poco delle idee di programmazione di Babbage. Non c’è nulla nei documenti sopravvissuti in cui questo aspetto della macchina è discusso a fondo, ad esempio, nulla corrispondente a una specifica di un set di istruzioni per l’utente., Questo è il più notevole perché è l’unico aspetto del design che è discusso a lungo in un documento contemporaneo. Nel 1840, Babbage visitò Torino in Italia e tenne una serie di seminari sul Motore analitico., Un resoconto di questi, dell’ingegnere italiano Federico Luigi Menabrea (1809-1896, vedi l’immagine vicina), che in seguito diventerà il Primo Ministro d’Italia, è stato tradotto in inglese da Ada Lovelace (a volte è stata acclamata come la prima programmatrice del mondo, un’immagine romanticamente attraente senza alcun fondamento), che ha aggiunto ampie note preparate sotto la guida stretta di Babbage (vedi Schizzo del Motore analitico). Questi trattano le idee moderne familiari del flusso di controllo nei programmi, in particolare la formulazione di loop semplici e loop annidati controllati da contatori., Tuttavia, la carta e le note accuratamente e deliberatamente aggirano qualsiasi discussione sui dettagli dei mezzi con cui questi devono essere implementati.
Sembra che Babbage non avesse un comando dei problemi sollevati dalla programmazione a livello utente del Motore Analitico. Sarebbe del tutto sbagliato dedurre che Babbage non capisse la programmazione di per sé. La microprogrammazione dei barili per moltiplicazione e divisione mostra il comando delle idee di base di ramificazione e looping e le sue abilità nella microprogrammazione di addizione e sottrazione mostrano un virtuosismo completo., Fu da questa base che Babbage esplorò le idee della programmazione a livello utente. I problemi di strutturazione dei dati semplicemente non si sono verificati a livello di microprogrammazione. Ci sono alcune prove che suggeriscono che le idee di Babbage si muovevano nelle direzioni ormai familiari in relazione ai meccanismi di controllo per il conteggio dei loop nei programmi a livello utente. Se un motore Analitico fosse stato messo in funzione, non ci può essere dubbio che le idee di programmazione di Babbage sarebbero state sviluppate notevolmente.,
Dal punto di vista hardware, erano necessarie due stringhe di schede perforate per specificare un calcolo da eseguire dal Motore Analitico. Una stringa, le” schede operative”, specificava le operazioni aritmetiche da eseguire. La seconda stringa, le” carte variabili”, specificava gli assi nel negozio che contenevano gli operandi e dovevano ricevere i risultati., Queste due stringhe non possono essere considerate come parti separate di una singola istruzione, come lo sono i campi di funzionamento e operando di un’istruzione in un computer elettronico digitale, perché le schede di funzionamento e variabili erano destinate a muoversi e loop indipendentemente l’una dall’altra sotto la direzione di meccanismi di controllo separati.
In realtà c’erano quattro, ma non due, diversi tipi di schede perforate con funzioni diverse:
1. Le carte numeriche sono state utilizzate per specificare il valore dei numeri da inserire nello store o per ricevere i numeri dallo store per l’archiviazione esterna.
2., Carte variabili specificato quali assi nel negozio dovrebbe essere la fonte di dati immessi nel mulino o il destinatario dei dati restituiti da esso. Nel linguaggio moderno, hanno fornito l’indirizzo di memoria delle variabili da utilizzare.
3. Le schede operative determinavano le funzioni matematiche da eseguire. Il contenuto logico di una scheda operativa potrebbe essere stato come questo esempio: “Prendi i numeri dagli assi variabili specificati dalle prossime due carte variabili e moltiplicali nel mulino; memorizza il risultato sull’asse variabile specificato dalla terza carta variabile.,”Questo è stato interpretato dalle barre di rilevamento sull’apparato di lettura della scheda operativa e tradotto internamente in questo modo: “Avanzare le carte variabili di una posizione e ruotare tutti i barili nella posizione di partenza per una normale sequenza di moltiplicazione e memorizzazione.”
4. Le carte combinatorie controllavano il modo in cui le carte variabili e le carte operative giravano indietro o in avanti dopo che le operazioni specifiche erano state completate., Quindi, una scheda operazione potrebbe avere un contenuto logico come questo: “Sposta le carte variabili in avanti di 25 posizioni e imposta le carte operazione all’inizio del set che indica come estrarre una radice quadrata.”
Babbage pianificava di intercalare le carte combinatorie con le carte operative che controllavano, quindi i quattro set di carte richiedevano solo tre lettori di schede (più una scheda punch, per le carte numeriche che venivano emesse dalla macchina).,
Babbage sembra essere stato portato a separare l’operazione e le carte variabili per motivi in gran parte filosofici derivanti dalla sua convinzione nella necessità di distinguere i simboli per l’operazione da quelli per la quantità nelle notazioni matematiche. Questi punti di vista sono stati probabilmente rinforzati quando ha considerato le carte necessarie per i calcoli come la soluzione di equazioni simultanee. Babbage si rese anche conto che i programmi o le subroutine (certamente non i termini che usava) avrebbero dovuto essere verificati, quello che chiameremmo debug., Sapeva anche che sarebbe stato utile rieseguire i programmi verificati su nuovi set di dati e persino condividere programmi su più motori. Pertanto, è stato un approccio naturale e pratico specificare i dati come indipendenti dalle operazioni. Lì il modello di operazioni necessarie per effettuare riduzioni di riga è molto semplice e un ciclo semplice di schede di funzionamento è facilmente trovato. Non esiste una struttura di loop semplice per le schede variabili, che possono specificare solo singoli assi nello store., Le strutture di loop che ora riconosciamo riguardano righe della matrice dei coefficienti delle equazioni e concetti simili relativi alla strutturazione dei dati. Poiché Babbage non aveva il concetto di indirizzo variabile nello store, né il Motore Analitico era in grado di calcolare la posizione di un operando nello store, non c’era modo in cui i programmi utente potessero sfruttare questa struttura di livello superiore nei dati.
È incredibile quanto sia andato lontano Babbage nella sua concettualizzazione della programmazione, tenendo presente che non aveva esperienza nella programmazione di un vero computer., Dal punto di vista attuale, la serie di schede operative non prevedeva un programma, in termini attuali, ma una serie di subroutine. Le schede combinatorie fornivano terminologia, un programma di controllo-flusso, invocando subroutine con valori call-by-reference forniti dalle schede variabili. I concetti di programmazione di Babbage includevano chiaramente quelli che chiamiamo loop, subroutine e rami (ciò che le generazioni successive di programmatori chiamavano istruzioni “if ” o “if-then”)., Dal momento che non aveva esperienza nella programmazione di un computer reale, tuttavia, non sorprende che Babbage non abbia raggiunto i concetti moderni di linguaggi, interpreti o compilatori di livello superiore.
Un tavolo con carte e azioni per la formula (ab+c)d
Prendiamo come esempio la formula (ab+c)d (vedi la tabella superiore)., Il dettaglio completo delle carte di tutti i tipi richiesto, e l’ordine in cui dovrebbero entrare in gioco è questo:
quattro Numero di Carte per il “dato i numeri” a, b, c e d, messe insieme, sono disposta a mano sul rullo, questi numeri devono essere inseriti nelle colonne a loro assegnati in una parte della macchina chiamata “Archivio”, dove ogni quantità è il primo ricevuto e pronte per l’utilizzo come desiderato.
Abbiamo quindi oltre alle carte numeriche, tre carte operative utilizzate e quattordici carte direttive., Ogni set di carte sarebbe infilate insieme e poste su un rullo o prisma a sé stante; questo rullo sarebbe sospeso e spostato da e verso. Ogni movimento all’indietro farebbe muovere il prisma di una faccia, portando in gioco la carta successiva, proprio come sul telaio. È ovvio che i rulli devono essere fatti lavorare in armonia, e a questo scopo le leve che fanno girare i rulli sarebbero esse stesse controllate con mezzi appropriati, o con carte direttive generali, e i battiti dei rulli sospesi sarebbero fermati negli intervalli appropriati.,
Un piano generale del Motore analitico dal 1840 (clicca per vedere un’immagine ingrandita)
Nella vista generale superiore del Motore analitico si possono vedere le sezioni di base: nella parte destra è una sezione del negozio di cui 11 assi variabili. In pratica, il negozio sarebbe stato molto più lungo, con molti più assi variabili; Babbage a volte considerato un minimo di 100, e ben 1000. Ogni asse variabile conteneva molte ruote di figura che ruotavano attorno ad un asse centrale, ciascuna con una cifra della sua variabile., Babbage di solito prevede di avere 40 cifre per variabile. Una ruota in più in alto ha registrato se il valore era positivo o negativo.
Correvano orizzontalmente tra gli assi variabili i rack, lunghe strisce di metallo con bordi dentati che trasportavano cifre avanti e indietro tra il negozio e il mulino. Piccoli pignoni mobili sono stati posizionati per collegare un determinato asse variabile ai rack o per lasciarlo scollegato. Se un numero stava andando nel mulino, i rack sarebbero anche collegati all’asse di ingresso nel mulino (etichettato )., Da lì, sarebbe passato ad un’altra parte appropriata del mulino. Quando il mulino era finito di funzionare su un numero, sarebbe stato posizionato sull’asse di uscita (etichettato ). Questo potrebbe quindi essere collegato ai rack, che passerebbero il numero lungo qualsiasi asse variabile fosse stato scelto per contenere il risultato.
Il mulino è la sezione sinistra, disposta attorno alla grande ruota centrale che interconnette le sue parti. Per chiarezza, non tutti gli aspetti del motore sono mostrati in questo diagramma. Ma questo potrebbe oscurare la complessità e le dimensioni della macchina. Le ruote centrali da sole erano di circa 70 cm di diametro., Il mulino nel suo complesso era di circa 150 piedi cm in ogni direzione. Un negozio con 100 assi variabili sarebbe stato lungo circa 3 m. L’asse di ingresso aveva un proprio meccanismo di trasporto anticipatore; un’addizione o sottrazione poteva essere eseguita lì e quindi passata direttamente all’asse di uscita per la memorizzazione. Se una moltiplicazione stava arrivando, i primi nove multipli sarebbero stati aggiunti sull’asse di ingresso e memorizzati sugli assi della tabella, mostrati come T1 attraverso T9.
I risultati di una moltiplicazione o divisione completa si formerebbero sulle due colonne etichettate a sinistra della grande ruota centrale., Ciò ha permesso di mantenere risultati intermedi in forma di doppia precisione. Cioè, se due numeri di 40 cifre fossero moltiplicati insieme, 80 cifre del risultato potrebbero essere mantenute sugli assi . Una successiva divisione per un altro numero di 40 cifre consentiva ancora 40 cifre di precisione nel risultato.
Uno dei principali problemi meccanici nel motore analitico era il problema con carry. In un primo momento, Babbage utilizzato il metodo di ritardo sequenziale carry utilizzato nel motore Differenza. In questo, il ciclo di addizione di base è stato seguito da un ciclo di riporto separato., Il ciclo di carry prima eseguito qualsiasi carry necessario sulla cifra più bassa, poi proceduto alla cifra successiva più alta, e così via. Questo metodo ha funzionato, ma è stato lento perché i carry sono stati eseguiti separatamente per ogni cifra. Babbage ha considerato di avere 30 o 40 cifre in ogni colonna numerica, quindi i carry potrebbero richiedere molto più tempo dell’aggiunta stessa. Pertanto, una singola moltiplicazione potrebbe richiedere alcune centinaia di passaggi di aggiunta separati. Era chiaro che il tempo di trasporto doveva essere ridotto.,
Babbage ha provato vari approcci per ottimizzare il trasporta, e nel giro di pochi mesi aveva adottato quello che ha chiamato il trasporto anticipando. Hardware aggiuntivo ha permesso il meccanismo di trasporto per rilevare simultaneamente dove trasporta erano necessari e dove una o più ruote già a 9 potrebbe causare un riporto di propagarsi su una serie di cifre. Tutti i carry possono essere eseguiti contemporaneamente, indipendentemente dal numero di cifre su un asse. Elaborare i dettagli di anticipare il trasporto ha richiesto a Babbage molti anni, più a lungo di qualsiasi altro singolo aspetto della macchina., Ma potrebbe velocizzare notevolmente le operazioni, giustificando lo sforzo. Il meccanismo era troppo complesso per consentire un meccanismo di trasporto per ogni asse di aggiunta. Babbage fu costretto ad adottare un progetto in cui un singolo meccanismo di trasporto anticipatore poteva essere collegato a piacimento con qualsiasi colonna aggiunta attraverso le ruote centrali. Fino ad allora, la moltiplicazione era stata fornita da hardware specializzato e la funzione di trasporto era stata rimossa dagli assi di aggiunta a hardware centrale più specializzato.,
Babbage si rese presto conto che l’aggiunta stessa poteva essere rimossa dagli assi di aggiunta ed eseguita attraverso le ruote centrali. Gli assi di aggiunta memorizzavano semplicemente le cifre sulle loro singole ruote e potevano essere collegati o scollegati dalle ruote centrali secondo necessità. Babbage separò la macchina in una sezione di assi di stoccaggio, che chiamò il Negozio, e un’altra sezione in cui venivano eseguite le operazioni, che chiamò il mulino
Nel corso degli anni Babbage realizzò diversi disegni per molte delle unità del Motore, il più delle volte nella direzione della semplificazione., Non tutti però erano in questa direzione, perché Babbage era molto ansioso di accelerare il calcolo. Un esempio di aggiunta di hardware per raggiungere la velocità è stata la moltiplicazione per tabella. Nel metodo iniziale di moltiplicazione per addizione ripetuta, il numero di cicli di addizione sarebbe uguale alla somma delle cifre del moltiplicatore. Quindi, per moltiplicare 198814 per 978, ad esempio, 198814 verrebbe aggiunto 24 volte (9 + 7 + 8), insieme a 3 turni.
Babbage prevede di lavorare con numeri che hanno ben 40 cifre. Moltiplicando due numeri di 40 cifre insieme potrebbe richiedere 200 cicli di addizione., Babbage si rese conto che dedicando alcuni cicli all’inizio di una lunga moltiplicazione a qualche preparazione, poteva accelerare notevolmente la moltiplicazione stessa. Ha chiamato questa moltiplicazione per tabella. In 9 cicli, poteva calcolare e posizionare su assi speciali del tavolo nel mulino i primi 9 multipli integrali del moltiplicando. Quindi poteva semplicemente scegliere uno di questi per ogni cifra del moltiplicatore e aggiungerlo al prodotto accumulante. Moltiplicando due numeri di 40 cifre sarebbero quindi necessari solo 40 cicli di addizione, più 9 per formare la tabella, un totale di 49 cicli di addizione piuttosto che circa 200., Un metodo simile di divisione per tabella potrebbe anche accelerare la divisione.
Si ritiene, che il progetto di base del motore analitico è stato terminato entro dicembre 1837, quando Babbage finalmente ha scritto un documento esteso, “Delle potenze matematiche del motore di calcolo,” che ha descritto la macchina. Ha continuato il lavoro di progettazione per molti altri anni, ma questo ha comportato un affinamento dei dettagli e delle alternative di implementazione, non cambiamenti di principio., Nel 1837, Babbage aveva ideato una macchina la cui organizzazione di base sarebbe rimasta invariata attraverso tutto il suo lavoro successivo, e in effetti attraverso l’intero sviluppo successivo del design del computer.
Babbage riteneva che il Motore Analitico fosse una macchina di calcolo universale, nel senso che, con un tempo sufficiente, poteva effettuare qualsiasi calcolo aritmetico possibile. Questo argomento si basa su tre osservazioni., Innanzitutto, le operazioni aritmetiche su numeri di più di quaranta cifre possono sempre essere eseguite suddividendole in segmenti di 40 cifre, quindi il numero limitato di cifre su qualsiasi asse del negozio non è un limite fondamentale. In secondo luogo, i calcoli possono essere specificati da stringhe di funzionamento e carte variabili di portata illimitata, quindi non vi è alcuna limitazione alla dimensione o alla complessità dei programmi. In terzo luogo, i numeri del negozio possono essere perforati su schede numeriche e successivamente riletti, e questo fornisce un archivio di supporto di misura illimitata per superare il numero limitato di assi nel negozio.,
Babbage era pienamente consapevole dei limiti di velocità della sua macchina. Sapeva che la macchina avrebbe in teoria reso possibili calcoli molto più estesi e precisi di quanto non fosse mai stato tentato a mano, ma sarebbero stati possibili in pratica solo con una macchina altamente affidabile e abbastanza veloce. Dal suo precedente lavoro, sapeva che l’affidabilità richiedeva che gli ingranaggi non girassero troppo velocemente. La velocità complessiva doveva essere raggiunta con un design intelligente piuttosto che con una potenza pura., Questo è ciò che ha motivato l’immenso ingegno che Babbage ha investito in metodi di risparmio di tempo come anticipare il trasporto e la moltiplicazione per tabella.
Nella progettazione della macchina della fine del 1830, l’aggiunta isolata di due numeri a 40 cifre avrebbe richiesto circa 19 secondi. Ma molto di questo ha comportato lo spostamento di numeri tra le diverse sezioni prima o dopo l’aggiunta effettiva. Babbage ha capito come sovrapporre le diverse parti dell’operazione quando più di due aggiunte dovevano essere eseguite in successione. Ciò significava che ogni aggiunta di 40 cifre extra richiedeva solo 3,1 secondi., La moltiplicazione e la divisione sono state accelerate in modo simile da un intelligente design logico. La durata dipendeva dal numero di cifre nei numeri. Prendiamo il caso di una moltiplicazione di 20 cifre per 40 cifre (un grado molto alto di precisione anche per gli standard attuali). Con aggiunte sostenute a 3,1 secondi ciascuna, un passo semplice e un approccio aggiuntivo avrebbero richiesto quasi 8 minuti per essere completato. Babbage è stato in grado di ridurre questo a meno di 2 minuti. Oggi, con la velocità del microprocessore misurata in milioni di moltiplicazioni al secondo, 2 minuti sembra incredibilmente lento., Ma è stato un risultato notevole più di un secolo prima del calcolo elettronico.
Dopo aver terminato il lavoro sulla progettazione del motore analitico nel 1847, Babbage si rivolse alla progettazione di un motore a differenza №2, sfruttando i meccanismi aritmetici migliorati e semplificati sviluppati per il Motore analitico. Nel 1857 Babbage tornò alla progettazione del Motore analitico. In questa nuova fase di lavoro Babbage era attivamente interessato a costruire un Motore analitico con le proprie risorse., La progettazione logica è stata in qualche modo semplificata ma, soprattutto, sono stati proposti metodi molto più semplici e meno costosi per implementare i meccanismi di base. Babbage prima sperimentato con stampaggio lamiera e premendo per fare ruote dentate e parti simili. Più tardi, ha adottato la pressofusione per la produzione di parti-una tecnica appena inventata che non ha visto un ampio uso commerciale fino alla fine del diciannovesimo secolo., Babbage costruì molti modelli sperimentali di meccanismi usando queste nuove tecniche e, al momento della sua morte nel 1871, un modello di un semplice meccanismo di mulino e stampa era vicino al completamento (vedi la foto in basso).,
Un modello di Mulino di Motore Analitico, costruito circa nel 1870 (© Museo della Scienza di Londra)
Babbage macchine di calcolo, nonché tutti i relativi materiali sono stati ereditati da suo più giovane figlio sopravvissuto, il Maggiore Generale Henry Prevost Babbage (1824-1918) (vedi la vicina immagine), che aveva mostrato un forte interesse per il lavoro di suo padre. Anche da adolescenti Henry e suo fratello maggiore Dugald hanno trascorso del tempo nell’ufficio di disegno e nel laboratorio di Babbage imparando le abilità del laboratorio., Henry in seguito acquisito una forte comprensione del motore differenza e disegni motore analitici, ed è venuto a formare uno stretto legame con il padre che ha visitato in licenza dal servizio militare esteso in India. Babbage lasciò in eredità i suoi disegni, il suo laboratorio e le reliquie fisiche sopravvissute dei motori a Henry che cercò di continuare il lavoro di suo padre e di pubblicizzare i motori dopo la morte di Babbage.
Henry era al capezzale di suo padre quando Babbage morì nell’ottobre del 1871, e dal 1872 continuò diligentemente con il lavoro di suo padre e poi a intermittenza in pensione nel 1875., Dopo aver assemblato alcuni piccoli pezzi dimostrativi per il motore Differenza Numero 1 (uno di loro ha inviato ad Harvard. Nel 1930 il pezzo ha attirato l’attenzione di Howard Aiken, il creatore della Harvard Mark I).
Nel 1888, Henry dimostrò in una riunione dell’Associazione britannica per l’avanzamento della Scienza una sezione del mulino del motore analitico, lavorando a 29 cifre, incluso il dispositivo di trasporto anticipato.
Quindi Henry costruì un calcolatore sperimentale a quattro funzioni per il mulino, completandolo nel 1910., Henry in realtà decise di non continuare con il progetto originale del motore analitico, ma invece di sviluppare una macchina ad azionamento manuale per addizione, sottrazione, moltiplicazione e divisione (una calcolatrice a quattro funzioni), incorporando i meccanismi previsti per il mulino e il meccanismo di stampa del motore (vedi la foto in basso). Utilizzando il mulino assemblato del motore analitico, avrebbe fatto semplici calcoli-in questo caso produrre multipli di π.,
Una parte del meccanismo di mulino e stampa del Motore analitico, costruito da Henry Babbage
Anche se alla fine completato all’inizio del XX secolo, quando Henry era lui stesso un vecchio, questa macchina sembra non aver mai funzionato in modo affidabile. Inoltre, il lavoro di Henry sui motori era solido, ma senza l’audacia e l’ispirazione di suo padre, il grande Charles Babbage.
Lascia un commento