Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Viene tratta la storia del computer ed i vari motivi che hanno spinto alla creazione di questo strumento e come si è evoluto nel tempo.
Materie trattate: Storia, Informatica, Elettronica, Sistemi.
Successivamente perfezionata da altri inventori per moltiplicazioni. La pascalina è considerata
l’anticipatrice della moderna calcolatrice.
Il sistema binario si basa su due cifre: 1 e 0. I primi 20
numeri della notazione binaria sono 1, 10, 11, 100,
101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101,
1110, 1111, 10000, 10001, 10010, 10011, 10100,
dove, procedendo da destra verso sinistra, i singoli
simboli rappresentano i coefficienti delle potenze
successive di due. Ad esempio, cominciando da
0 1
destra, 10101101 equivale a (1 × 2 ) + (0 × 2 ) + (1 ×
2 3 4 5 6 7
2 ) + (1 × 2 ) + (0 × 2 ) + (1 × 2 ) + (0 × 2 ) + (1 × 2 ) =
173.
In quello periodo, comunque non gli fu data molta importanza.
Il successo dello Zuse Z3 lo si deve anche all'utilizzo del sistema binario. Questo sistema venne inventato
tre secoli prima da Gottfried Leibniz; Boole in seguito lo utilizzo per sviluppare l'algebra di Boole. Nel
1937 Claude Shannon al MIT presentò l'idea di utilizzare l'algebra di Boode per descrivere il
funzionamento dei circuiti basati su relè in un seminario sulla progettazione di circuiti digitali. Tuttavia
Zuse ha sviluppato le intuizioni teoriche di Shannon e realizzato una macchina funzionante.
Già nel XVII secolo Leibniz diceva come doveva essere
una “macchina perfetta”.
L’idea di base di Babbage era creare una macchina
general purpose.
Babbage in pratica progettò una macchina dotata di
5.000 ruote dentate, 200 accumulatori di dati (le
"memorie") composti di 25 ruote collegate tra loro, in
grado di svolgere un’addizione al secondo. Un nastro
perforato (anche questa era una novità) doveva
guidare la macchina nelle operazioni secondo un
programma predefinito. Gli ingranaggi della macchina
di Babbage: dovevano essere mossi da un motore a
vapore, ma non funzionarono mai. A causa di enormi difficoltà tecniche, neppure questa macchina
venne realizzata, però Babbage aveva lanciato l’idea di un moderno elaboratore. Ora la scienza si sente
più legata alla produzione meccanizzata della grande industria.
"Analytical Engine" , una macchina meccanica programmabile, che già aveva molte delle caratteristiche
dei computer moderni.
Babbage conosceva tre differenti tipi di errori che potevano verificarsi nel fare le tabelle:
errori umani nei calcoli
errori di copiatura nelle trascrizioni per la pubblicazione
errori nella composizione delle lastre per la stampa
Disegnando una macchina che potesse coprire l'intero processo dal calcolo fino ai cliché tipografici gli
errori sarebbero stati eliminati.
Contrariamente a quanto era avvenuto fino ad allora, Babbage dunque non si proponeva tanto di
realizzare delle macchine calcolatrici in grado di eseguire semplicemente le 4 operazioni, ma dei
calcolatori concettualmente simili a quelli moderni in grado di eseguire sequenze di operazioni in base a
un programma.
Il lavoro di Babbage e' veramente sorprendente, perché nel suo progetto si ritrovano già molti elementi
delle macchine di oggi: c'era una vera e propria CPU a 50 cifre decimali, ed una memoria meccanica, di
1000 registri a 50 cifre. La macchina era in grado di prendere 2 operandi dalla memoria, effettuare su di
essi un'operazione ( somme, sottrazioni, divisioni o moltiplicazioni ) e di riportare il risultato in memoria.
L'input e l'output erano effettuati con schede perforate, l'input era costituito da 2 pile di schede, una
con i dati e l'altra con istruzioni da effettuare e gli indirizzi dei registri da utilizzare. Erano previsti
istruzioni di salto condizionato, e loop, con possibilità di usare le schede di input in modo non
sequenziale. Le istruzioni somigliavano molto a quelle di un moderno assembler.
Ada Byron earned her spot in history as the first computer programmer.(English)
L'amica di Babbage Ada Lovelace viene usualmente considerata la prima programmatrice della storia
anche se lavorò solo su una macchina teorica mentre Zuse fu il primo programmatore a lavorare
realmente su una macchina funzionante. Nel The matematic analysis of logic il matematico
inglese George Boole (1815-1864), sviluppò i concetti
espressi da Leibniz sul sistema binario e descrisse gli
operatori logici che da lui presero il nome di:
"OPERATORI BOOLEANI". L'opera di Boole aprì
l'orizzonte alle grandi scuole di matematica del '900.
La sua logica, oggi, sta alla base della struttura dei
componenti elettronici denominati "porte logiche" ed
è la base del funzionamento dei calcolatori elettronici.
Con l'Arte combinatoria di G. W. Leibniz vengono
gettate le basi della logica simbolica, su cui si regge il
funzionamento dei moderni calcolatori. Vi è inoltre formulata l'idea di un 'calcolo binario', che riduca in
forma più semplice le “leggi del pensiero”. L'idea di fondo dell“arte combinatoria” è quella di trovare
una logica capace non soltanto di dimostrare la verità di ogni proposizione, ma anche di costruire nuove
proposizioni con la certezza dei procedimenti matematici.
Nel 1880 il censimento americano aveva posto un
serio problema: sette anni dopo lo spoglio delle
schede non si era ancora riusciti a completarlo e già si
doveva preparare il censimento del 1890. Sicché
l'ufficio censimenti bandì un concorso per la
progettazione di una macchina in grado di classificare
e contare automaticamente i dati.
Vinse la gara l'ingegnere statistico H. Hollerith, che
aveva elaborato una tabulatrice riutilizzando l'idea
delle schede perforate di Babbage, questa volta però
non per specificare il programma, ma i dati da
elaborare o i risultati dell'elaborazione.
Funzionava in base ai contatti elettronici azionati mediante dei relè. L’apertura o chiusura avviene in
base ai fori presenti sulle schede lette. Il relè impiegava un centesimo del secondo per commutare.
Herman Hollerith, fondò la società Tabulating Machine Company, che in seguito sarebbe divenuta la
IBM.
La tecnologia delle macchine di calcolo prodotte all'inizio del XX secolo era la tecnologia
meccanografica. Esistevano infatti all'interno delle grosse organizzazioni i centri meccanografici che
erano in realtà attrezzati con una varietà di macchine diverse, fra le quali:
la perforatrice per tradurre documenti in schede perforate mediante un apposito codice
chiamato codice di Hollerith, dal nome del ricercatore che inventò tale sistema di codifica
verso la fine dell'800;
la verificatrice che controllava la qualità del lavoro fatto dalla perforatrice;
la selezionatrice per ordinare le schede, per esempio in ordine alfabetico o numerico;
la calcolatrice per eseguire calcoli numeri sui dati letti dalla schede perforate e per perforare i
risultati su altre schede;
la tabulatrice per stampare i risultati in chiaro.
Con queste macchine si eseguivano calcoli ad una discreta velocità per quei tempi, dell'ordine di 60
operazioni al minuto. La loro gestione era tuttavia complessa, come si può intuire dalla precedente
descrizione. Inoltre si trattava di macchine idonee all'esecuzione di operazioni su serie di dati,
qualcosa di ancora molto lontano dalle funzionalità che oggi siamo abituati a trovare nei computer
moderni.
Questa tecnologia ha subìto una evoluzione relativamente lenta (almeno rispetto a quella a cui siamo
abituati oggi) sino ad arrivare, verso il 1940, a delle macchine di tipo elettromeccanico in grado di
riunire le funzionalità dei diversi componenti meccanografici. In queste macchine ricompare in modo
elementare il concetto di programma come serie di istruzioni preordinate da eseguire in successione.
Le istruzioni venivano somministrate sotto forma di codici perforati su di una banda di carta, in modo
analogo a quello prefigurato per la macchina di Babbage. Si parla in tal caso di calcolatrici
elettromeccaniche a "programma esterno".
In Germania Konrad Zuse inizia la costruzione (nella
sua camera da letto!) della macchina logica "V1",
(successivamente ribattezzata 'Z1', per evitare
qualsiasi riferimento ai tristemente noti razzi V1
tedeschi).
Si tratta di un primo progetto di calcolatore
meccanico realizzato artigianalmente dallo stesso
Zuse, a sue spese (e dei suoi parenti!) e con mezzi
assolutamente rudimentali.
I primi calcolatori elettromeccanici sono comunque
basati sui relè quindi non sono molto veloci.
In questo periodo iniziano anche studi teorici sui computers, sono da citare gli studi di Turing sulla
risolubilità dei problemi matematici (attorno al 1936), Turing affronta il problema ricorrendo ad un
meccanismo ideale, una specie di computer, che legge e scrive una lunga fila di dati (tipo un nastro
perforato). Per questa sua idea, di affrontare un problema logico tramite un un meccanismo ideale,
Touring e' considerato dagli informatici teorici il fondatore della loro scienza.
Claude Shannon (attorno al 1938) introduce l'uso dell'algebra di Boole per l'analisi dei circuiti a relè.
La seconda guerra mondiale al contrario della prima che era sostanzialmente era una guerra “alla
antica” in quanto il punto di forza erano e soldati e si combatteva nelle trincee. La seconda guerra
vede l’utilizzo di macchine sofisticate per le comunicazioni che giocano un ruolo fondamentale.
Il MARK I è un computer elettromeccanico.
Le sue operazioni di base sono svolte da parti
meccaniche, controllate elettricamente da circa 3.000
relay.
Anche se ormai obsoleto per quell'epoca, divenne
operativo ad Harvard nel 1944 ed operò per più di 15
anni, producendo importanti tabelle matematiche.
Mentre MARK I risolve problemi matematici per la
marina degli Stati Uniti, vengono fatti progetti per
una macchina che abbandoni la meccanica per passare alla elaborazione elettronica dei dati.
Con questo nome si indica quel periodo durato circa
vent'anni che vide la nascita dei primi calcolatori
elettromeccanici: queste macchine eseguivano solo le
operazioni per le quali erano state programmate,
sfruttando complessi meccanismi attivati da motori
elettrici. L'uso di valvole e diodi sostituirà nel tempo
gli interruttori meccanici, e getterà le basi per
l'invenzione del transistor.
Venne progettato presso la Moore School of Electrical
Engineering dell'Università di Pennsylvania da J.
Presper Eckert e John Mauchly e presentato ufficialmente il 16 febbraio del 1946.
Dopo la guerra si iniziarono a costruire grossi computers elettronici, basati sulla tecnologia dei tubi a
vuoto. La prima macchina di questo tipo e' ENIAC ( Electronic Numerical Integrator and Computer )
costruita da Mauchly ed Eckert all'Universita' della Pensilvania. La macchina, sviluppata fra il 1943 ed il
1946, fu finanziata dai militari, ed era intesa a calcolare tabelle di puntamento per l'artiglieria, che fino
ad allora erano calcolate a mano, con un lavoro lungo ed estenuante.
ENIAC era costruita con 18000 valvole termoioniche, 1500 relè , consumava attorno ai 150 KW ,
l'apparecchiatura pesava 30 tonnellate , ed occupava un salone di 30 metri, per un'altezza di 2.5 m. Si
programmava predisponendo, a mano, connessioni su pannelli intercambiabili, che avevano qualcosa
come 6000 interruttori, cavi e prese.
La programmazione di questa enorme macchina veniva realizzata esclusivamente in linguaggio
macchina, ossia secondo codici binari direttamente eseguiti dal processore, ed era realizzata per mezzo
di una serie di spinotti inseriti su particolari schede.
John von Neumann (matematico e fisico) definì per la
prima volta il concetto di elaboratore elettronico a
programma memorizzato, la cosiddetta “macchina di
von Neumann”. Neumann fù il primo a inquadrare in
una teoria matematica coerente le 'macchine
intelligenti' e gli automi. Per questo è anche il padre
dell'informatica.
John von Neumann approfondisce le esigenze di un
computer moderno, definendone l'architettura e
sviluppando il primo calcolatore programmabile con
memoria. Neumann è convinto che importanti
benefici e flessibilità possano essere ottenuti solamente scrivendo istruzioni di programma che
permettano modifiche dinamiche durante lo svolgimento del programma stesso.
Ciò dovrebbe consentire all'hardware di diventare "intelligente".
Neumann risolve queste esigenze pensando ad un tipo speciale di istruzione, chiamata "conditional