Utente:Davi.trip/Sandbox2: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Davi.trip (discussione | contributi)
Nessun oggetto della modifica
Davi.trip (discussione | contributi)
Nessun oggetto della modifica
Riga 43:
La macchina di Turing è una semplice macchina teorica, ma è equivalente a un effettivo computer fisico nel senso che entrambi computano esattamente lo stesso insieme di funzioni.<ref name=":0">{{Cita|O'Regan (2012)|p. 197|O'Regan12}}</ref> Con una macchina di Turing risulta più facile l'analisi e la dimostrazione piuttosto che con un vero computer.<ref name=":0" /> Tuttavia, le macchine di Turing non sono adatte per programmare, e non forniscono una buona base per lo studio della programmazione o dei linguaggi di programmazione.<ref name=":0" />
 
Turing introdusse anche il concetto di macchina di Turing universale, la quale è in grado di simulare qualunque altra macchina di Turing.<ref name=":0" /> Tuttavia, i primi calcolatori elettronici, anche quando programmabili, non saranno universali ("Turing completi"), ma capaci solo di famiglie ristrette di computazioni.<ref name=":19">{{Cita|Monga|p. 111}}</ref> John von Neumann, che avendo letto ''On computable numbers'', proporrà di usare l'ENIAC (o analogo marchingegno) come una macchina di Turing universale, codificando la macchina adatta ad una specifica computazione come dato di input del dispositivo universale.<ref>{{Cita|Monga|p. 112}}</ref><ref group="Nota">Un moderno elaboratore elettronico può essere visto come la realizzazione di una macchina di Turing universale che esegue un programma sui dati di input: sia il programma sia i dati sono residenti nella memoria che, diversamente dal nastro immaginario, ha una dimensione finita.</ref>
 
== I primi calcolatori moderni ==
Riga 51:
==== Analogico e digitale ====
 
Qualsiasi informazione, per poter essere elaborata da un odierno computer, deve essere trasformata dalla forma analogica alla forma digitale. L'aggettivo "analogico", di solito, è utilizzato per indicare apparecchi, strumenti o dispositivi che trattano grandezze rappresentandole con altre grandezze legate alle prime da una relazione di analogia.<ref name=":2">{{Cita libro|nome=Giusella|cognome=Finocchiaro|nome2=Luciano|cognome2=Margara|nome3=Simone|cognome3=Martini|titolo=Fondamenti di informatica: 2|url=https://www.amazon.it/Fondamenti-informatica-2-Giusella-Finocchiaro/dp/8808044378/ref=sr_1_1?ie=UTF8&qid=1534780111&sr=8-1&keywords=fondamenti+di+informatica+2|accesso=2018-08-20|edizione=1|data=15 gennaio 2007|editore=Zanichelli|lingua=Italiano|ISBN=9788808044372}}</ref> Per esempio, gli strumenti dotati di lancette come i tachimetri o le bilance visualizzano le informazioni relative rispettivamente alla velocità e al peso per mezzo dell'ampiezza di una angolo il cui valore è direttamente proporzionale alla grandezza misurata.<ref name=":15">{{Cita libro|autore=Walter Maraschini|autore2=Mauro Palma|titolo=Enciclopedia della Matematica|edizione=Edizione speciale per il Corriere della Sera|anno=2014|editore=Garzanti|lingua=italiano|volume=A-L|opera=Le Garzantine|ISBN=9771825063273}}</ref> I sistemi digitali, invece, rappresentano grandezze sotto forma numerica, usando i simboli di un certo sistema di numerazione (decimale o binario).<ref name=":2" /> Un segnale, quindi, è in formato digitale se viene rappresentato attraverso le cifre (''digits'', in inglese) di un sistema di numerazione.<ref name=":2" />[[File:ClaudeShannon_MFO3807.jpg|alt=|sinistra|miniatura|211x211px|Claude Shannon]]Nel 1938, il matematico Claude Shannon, con una tesi di laurea intitolata ''Analisi simbolica dei circuiti a relè e interruttori'', affermava che i circuiti elettrici, se dotati di interruttori binari, possono eseguire operazioni logiche di algebra booleana.<ref>{{Cita|Isaacson|p. 54}}</ref> Già dal 1934 al 1936, l'ingegnere della NEC Akira Nakashima aveva pubblicato una serie di documenti che mostravano che l'algebra booleana a due valori, che scoprì in maniera indipendente (conobbe il lavoro di George Boole solo nel 1938), può descrivere l'operatività dei circuiti di commutazione.<ref>{{Cita pubblicazione|nome=Akihiko|cognome=Yamada|data=2004|titolo=History of Research on Switching Theory in Japan|rivista=IEEJ Transactions on Fundamentals and Materials|volume=124|numero=8|pp=720–726|lingua=ja|accesso=2018-08-21|doi=10.1541/ieejfms.124.720|url=http://dx.doi.org/10.1541/ieejfms.124.720}}</ref><ref>{{Cita web|url=http://museum.ipsj.or.jp/en/computer/dawn/0002.html|titolo=Switching Theory/Relay Circuit Network Theory/Theory of Logical Mathematics-Computer Museum|autore=Information Processing Society of Japan|sito=museum.ipsj.or.jp|accesso=2018-08-21}}</ref><ref>{{Cita pubblicazione|autore=|nome=Radomir S.|cognome=Stanković|titolo=Some Historical Remarks on Switching Theory|rivista=|volume=|numero=|accesso=2018-08-21|url=https://pdfs.semanticscholar.org/93da/461d311c4525ba985229245b7965a03b6880.pdf|nome2=Jaakko T.|cognome2=Astola|nome3=Mark G.|cognome3=Karpovsky}}</ref><ref>{{Cita pubblicazione|autore=Radomir S. Stanković|anno=2008|titolo=Reprints from the Early Days of Information Sciences: TICSP Series On the Contributions of Akira Nakashima to Switching Theory|rivista=TICSP Series|editore=Tampere International Center for Signal Processing|volume=|numero=40|url=http://ticsp.cs.tut.fi/reports/reprint-nakashima-rr.pdf|autore2=Jaakko Astola}}</ref> Un circuito di commutazione è un circuito elettrico in cui tutti i punti del circuito, ingressi e uscite comprese e informazioni, sono rappresentate in modo discreto, cioè possono avere un insieme discreto di valori di tensione e/o corrente.<ref name=":3">{{Cita libro|nome=Daniela|cognome=Cancila|nome2=Stefano|cognome2=Mazzanti|titolo=Il dizionario enciclopedico di informatica. Inglese-italiano, italiano-inglese. Ediz. bilingue. Con aggiornamento online|url=https://www.amazon.it/enciclopedico-informatica-Inglese-italiano-italiano-inglese-aggiornamento/dp/8808193519/ref=sr_1_2?ie=UTF8&qid=1534834066&sr=8-2&keywords=dizionario+enciclopedico+informatica|accesso=2018-08-21|data=1 giugno 2009|editore=Zanichelli|lingua=Multilingue|ISBN=9788808193513}}</ref> Di solito i valori possibili sono solo due: il valore nullo o il valore della tensione di alimentazione del circuito.<ref name=":3" /> La teoria di Shannon ebbe successo presso i ricercatori e gli ingegneri di tutto il mondo e di conseguenza, ad eccezione dei calcolatori analogici usati in alcuni casi specifici, tutti i calcolatori elettronici oggi sono digitali. Georges Stibitz, un matematico dei Laboratori Bell, fu il primo a usare i numeri binari in un dispositivo di calcolo, sebbene tale dispositivo fosse elettromeccanico, e non elettronico.<ref group="Nota"> Valvole termoioniche e transistor possono fare da interruttori in un circuito elettrico, e sono detti elettronici perché condizionano il flusso degli elettroni senza necessitare di parti in movimento (caratteristica invece di particolari relè che si aprono e chiudono a scatto, che sono interruttori elettromeccanici).</ref> Sarà l'ingegnere tedesco Konrad Zuse colui che costruirà nel 1939 il primo calcolatore digitale programmabile multiuso pienamente funzionante, lo Z3.<ref name=":1">{{Cita|Isaacson|p. 60}}</ref> Non è mai entrato in servizio, in quanto fu distrutto insieme ai suoi progetti dai bombardamenti alleati del 1943.<ref name=":4">{{Cita|Isaacson|p. 85}}</ref> Va però specificato che non sarebbe stato esplicitamente Turing completo.<ref name=":19" />
 
Vi sono casi in cui un calcolatore può essere digitale ma non binario. IBM cominciò a lavorare sui calcolatori durante gli anni della guerra con l'Harvard Mark 1, che sarà completato nel 1944. Era essenzialmente un calcolatore elettromeccanico che poteva eseguire automaticamente grandi computazioni e che era stato progettato da Howard Aiken per aiutarsi nel calcolo di equazioni differenziali; eseguiva addizioni in meno di un secondo, moltiplicazioni in 6 secondi e divisioni in circa 12 secondi.<ref name=":20">{{Cita|O'Regan (2016)|pp. 56-5758|O'Regan16}}</ref>
 
==== Le visite di Mauchly ad Atanasoff ====
John Vincent Atanasoff, professore dello Iowa State College, durante gli anni Trenta iniziò a cercare anch'egli un modo per rendere più facile e veloce l'esecuzione dei calcoli. Dal 1939 al 1942 costruì, insieme a uno studente di nome Clifford Berry, l'Atanasoff-Berry Computer (ABC).<ref name=":14">{{Cita|O'Regan (2016)|pp. 58-60|O'Regan16}}</ref> Lo scopo della macchina era solo quello di risolvere equazioni lineari simultanee.<ref>{{Cita|Isaacson|p. 65}}</ref> Può essere considerato il primo calcolatore digitale al mondo, ma risulta elettronico solo in parte. Il meccanismo di addizione e sottrazione utilizza le valvole termoioniche, ma la memoria e il sistema di recupero dei dati funzionano meccanicamente grazie a tamburi rotanti.<ref name=":4" /> Non era programmabile, né multiuso.<ref name=":4" /> Tuttavia fece da pioniere dei seguenti elementi dell'informatica moderna: aritmetica binaria e logica booleana, tutti i calcoli erano eseguiti usando componenti elettronici piuttosto che interruttori meccanici, la computazione e la memoria erano separate.<ref name=":14" />
 
John Mauchly, che lavorerà in futuro all'ENIAC, l'EDVAC e l'UNIVAC, visitò Atanasoff in diverse occasioni per discutere l'implementazione del computer ABC. Si credette per molti anni che l'ENIAC fosse stato il primo calcolatore digitale, fino a quando, nel 1973, una causa legale decretò che l'ABC ne incarnasse i principi già al tempo del brevetto.<ref name=":14" /> La corte stabilì quindi che l'ABC fu il primo calcolatore digitale e affermò che gli inventori dell'ENIAC ne derivarono le caratteristiche da quello di Atanasoff.<ref name=":14" />
Riga 66:
Mentre l'ENIAC stava per essere completato alla Moore School, i suoi progettisti, John Mauchly, Presper Eckert, e Herman Goldstine, erano consapevoli dei suoi limiti, e iniziarono a lavorare con il matematico John von Neumann su una concezione completamente nuova dei calcolatori. Il concetto di base, ora noto come "architettura di von Neumann", separava completamente le funzioni logiche dall'hardware; ciò significa che la maggior parte delle istruzioni per l'esecuzione di calcoli non sono permanenti, ma sono memorizzate in una memoria temporanea chiamata ''random-access memory'' (la RAM).<ref name=":5" /> Le istruzioni possono essere posizionate in qualsiasi punto della memoria e perfino modificate dal calcolatore stesso quando necessario. Oltre alla RAM, un calcolatore di von Neumann contiene un processore centrale e usa la numerazione binaria e l'algebra booleana per l'elaborazione e la memorizzazione dei dati.<ref name=":5" /> Il primo calcolatore a funzionare con i programmi memorizzati fu l'EDVAC, il successore dell'ENIAC, nel 1949.<ref>{{Cita|O'Regan (2016)|p. 62|O'Regan16}}</ref><ref>{{Cita pubblicazione|autore=John von Neumann|data=30 giugno 1945|titolo=First Draft of a Report on the EDVAC|rivista=|editore=University of Pennsylvania|volume=|numero=|lingua=en|url=https://www.wiley.com/legacy/wileychi/wang_archi/supp/appendix_a.pdf}}</ref> Durante il successivo quarto di secolo, l'architettura di von Neumann sarà implementata in tutti i calcolatori. I calcolatori a valvole termoioniche, basati sull'architettura di von Neumann, adesso sono conosciuti come la prima generazione di calcolatori elettronici; la seconda generazione nascerà con l'incorporazione del transistor nei circuiti della macchina.<ref name=":5" />
 
==== NasceHopper lae programmazionele "ENIAC girls" ====
Già Alan Turing scriveva, nel 1948, che «non ci serve un'infinita di macchine diverse in grado di eseguire compiti differenti. Una sarà più che sufficiente. Il problema ingegneristico legato alla produzione di svariate macchine per diversi compiti sarà sostituito dal lavoro d'ufficio di "programmare" la macchina universale che li svolga tutti».<ref>{{Cita pubblicazione|autore=Alan Turing|anno=1948|titolo=Intelligent Machinery|rivista=|volume=|numero=|lingua=en|accesso=6 dicembre 2018|url=http://www.alanturing.net/turing_archive/archive/l/l32/L32-005.html}}</ref><ref>{{Cita libro|autore=B. Jack Copeland|titolo=The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life: Plus The Secrets of Enigma|url=http://f.javier.io/rep/books/The%20essential%20Turing.%20Seminal%20writings%20in%20computing,%20logic,%20philosophy%20-%20Copeland%20J.%20(2004)(ISBN%200198250800).pdf|accesso=6 dicembre 2018|anno=2004|editore=Oxford University Press|lingua=en|p=414|ISBN=9780198250807}}</ref> Durante la seconda guerra mondiale furono alcune donne a sviluppare i primi metodi per codificare le istruzioni che dicevano all'hardware quali operazioni eseguire.
[[File:Grace Hopper and UNIVAC.jpg|miniatura|Grace Hopper e l'UNIVAC]]
Tra queste, Grace Murray Hopper insegnava matematica a Vassar. Volle far parte dei servizi militari, e nel 1943 fece il suo ingresso nella marina americana. Dopo aver completato la Midshipman School, si unì a Howard Aiken, e collaborò alla gestione del Mark 1. Durante la guerra, la Hopper progettò programmi per questo calcolatore in modo che eseguisse complessi calcoli a fini militari. Vista la sua capacità di comunicare con precisione, Aiken le assegnò il compito di scrivere quello che sarebbe diventato il primo manuale di programmazione nella storia dei computer.<ref>{{Cita libro|autore=The Staff of the Harvard Computation Library|titolo=A Manual of Operation for the Automatic Sequence
Riga 73:
 
Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, France Bilas, e Kay McNulty furono i primi programmatori dell'ENIAC.<ref>{{Cita|Isaacson|p. 101}}</ref> Poiché la guerra era finita, fu necessario impiegare la macchina per molti altri tipi di calcoli, oltre a quelli delle traiettorie balistiche. Una volta assunte, le sei donne furono mandate al poligono di Aberdeen per imparare a usare le schede perforate di IBM e a cablare i pannelli di controllo.<ref>{{Cita|Isaacson|p. 102}}</ref> Anche loro svilupparono l'uso di ''subroutine'', oltre alla nidificazione delle stesse.<ref>{{Cita|Isaacson|p. 103}}</ref> Paul E. Ceruzzi afferma che «queste donne, essendo state le prime a entrare in questo nuovo territorio, furono le prime ad andare incontro all'intero problema della programmazione».<ref>{{Cita news|lingua=en-US|nome=Steve|cognome=Lohr|autore=|url=https://www.nytimes.com/2011/04/08/business/08bartik.html|titolo=Jean Jennings Bartik, a Computer Pioneer, Dies at 86|pubblicazione=The New York Times|data=2011-04-07|accesso=2018-12-08|citazione=“These women, being the first to enter this new territory, were the first to encounter the whole question of programming,” said Paul E. Ceruzzi, a computer historian at the Smithsonian Institution.}}</ref>
 
=== Quadro dei primi calcolatori digitali ===
{| class="wikitable"
|+Caratteristiche di alcuni dei primi calcolatori digitali degli anni Quaranta
!Nome
!Entrata in servizio
!Sistema di numerazione
!Tecnologia di calcolo
!Memoria
!Programmabilità
!Turing completa
|-
|Zuse Z3 <small>(Germania)</small>
|1941<ref name=":21">{{Cita|O'Regan (2016)|pp. 68-69|O'Regan16}}</ref>
|Binario<ref name=":21" />
|Elettromeccanica<ref>{{Cita|Ifrah|pp. 206-207}}</ref>
|
|
|Si<ref name=":21" />
|-
|Atanasoff-Berry Computer <small>(USA)</small>
|1942<ref name=":14" />
|Binario<ref name=":14" />
|Elettronica<ref name=":14" />
|Memoria a tamburi rotanti<ref name=":4" />
|Non era né programmabile, né multiuso.<ref name=":4" />
|
|-
|Colossus Mark 1 <small>(Regno Unito)</small>
|1944<ref>{{Cita|O'Regan (2016)|pp. 65-66|O'Regan16}}</ref>
|Binario<ref name=":22">{{Cita|Ifrah|pp. 218-220}}</ref>
|Elettronica<ref name=":22" />
|Vari elementi, come registri, contatori, anelli, memorie tampone, impostazione di parametri, componenti logici e aritmetici, quadri di controllo, interruttori, e nastro.<ref>{{Cita libro|nome=B. Jack|cognome=Copeland|titolo=Colossus: The Secrets of Bletchley Park's Code-breaking Computers|url=https://books.google.it/books?id=M2sVDAAAQBAJ&pg=PA133&lpg=PA133&dq=colossus+memory&source=bl&ots=tvX2nfZRw5&sig=20Rilge8A7aF5mHSnUttQQAKa-c&hl=it&sa=X&ved=2ahUKEwjo-rO9kZvfAhWIxIUKHQvbBKIQ6AEwEXoECAIQAQ#v=onepage&q=colossus%20memory&f=false|accesso=2018-12-12|data=2010-03-18|editore=Oxford University Press|lingua=en|p=133|citazione=Memory venues included registers, counters, rings, buffers, parameter settings, logic and arithmetic componenents, plugboards, switches, and tape.|ISBN=9780199578146}}</ref>
|Programmabile in parte, era capace di memorizzare programmi già scritti per l'esecuzione di funzioni<ref name=":22" />
|No<ref name=":4" />
|-
|Harvard Mark 1 - IBM ASCC <small>(USA)</small>
|1944<ref name=":20" />
|Decimale<ref name=":23">{{Cita|Isaacson|p. 58}}</ref>
|Relè meccanici, azionati da motori elettrici<ref name=":23" />
|72 registri potevano memorizzare numeri a 23 cifre; era possibile mantenere risultati intermedi.<ref name=":24">{{Cita|Ifrah|pp. 212-214}}</ref>
|I programmi erano letti da nastri perforati a 24 fori.<ref name=":24" />
|
|-
|ENIAC <small>(USA)</small>
|
|
|
|
|
|Si<ref>{{Cita|Isaacson|p. 86}}</ref>
|-
|Manchester Baby <small>(Regno Unito)</small>
|
|
|
|
|
|
|-
|Manchester Mark 1 <small>(Regno Unito)</small>
|
|
|
|
|
|
|-
|EDSAC <small>(Regno Unito)</small>
|
|
|
|
|
|
|-
|CSIRAC <small>(Australia)</small>
|
|
|
|
|
|
|}
 
== La nascita della Silicon Valley ==
Line 98 ⟶ 182:
*{{Cita libro|autore=Bryan H. Bunch|autore2=Alexander Hellemans|titolo=The Timetables of Technology: A Chronology of the Most Important People and Events in the History of Technology|anno=1994|editore=Touchstone Books|lingua=en|cid=Bunch e Hellemans|ISBN=9780671887674}}
*{{Cita libro|autore=Manuel Castells|titolo=La nascita della società in rete|anno=2014|editore=Università Bocconi Editore|lingua=italiano|ISBN=9788883500695}}
*{{Cita libro|autore=Georges Ifrah|titolo=The Universal History of Computing. From the Abacus to the Quantum Computer|anno=2002|editore=Wiley|lingua=en|cid=Ifrah|ISBN=9780471441472}}
*{{Cita libro|autore=Walter Isaacson|titolo=Gli innovatori. Storia di chi ha preceduto e accompagnato Steve Jobs nella rivoluzione digitale|editore=Mondadori|anno=2014|cid=Isaacson|ISBN=9788804645917|lingua=italiano}}
*{{Cita libro|autore=Mattia Monga|titolo=Turing. La nascita dell'intelligenza artificiale|collana=Grandangolo|anno=2016|editore=Corriere della Sera|lingua=italiano|volume=14|cid=Monga|ISBN=9772531560131}}