Filosofia dell'informatica/La nascita dell'informatica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo e modifiche minori
Riga 142:
 
Nel ''Draft'' il nome di Turing non viene mai citato, ma la sua influenza è chiara: più di una volta von Neumann afferma che l’EDVAC dovrà essere di carattere generale, e lascia intendere che il cervello umano deve parte delle sue notevolissime capacità al fatto di saper funzionare come un calcolatore universale. Von Neumann si rendeva conto che i princìpi base della progettazione dei calcolatori elettronici si fondavano sulla logica. I calcolatori creati dopo la seconda guerra mondiale erano profondamente diversi dai precedenti calcolatori automatici poiché erano pensati come apparati universali capaci di eseguire qualsiasi processo simbolico.
 
Il carattere provvisorio del First Draft era testimoniato dai riferimenti a sezioni inesistenti. Secondo il documento l’EDVAC era una macchina che aveva come obiettivo l’esecuzione di calcoli secondo procedure espresse attraverso istruzioni univoche e non ambigue. L’innovazione principale rispetto all’ENIAC consisteva nella memorizzazione del programma che veniva poi eseguito senza un ulteriore intervento umano. Gli “Organi” della macchina dovevano essere: Centro Aritmetico (CA), Centro Logico o Centro Centrale (CC), Memoria (M), Unità di Input (I), Unità di Output (O). Inoltre era previsto un organo che trasferiva i dati esterni in R, che doveva essere la parte della memoria che ospitava i dati esterni e preparava i dati output. Von Neumann intendeva distinguere chiaramente istruzioni e dati, tanto che la prima cifra di ogni “parola” doveva indicare se si trattava di un dato, indicato con “0”, o di un’istruzione indicata con “1”. Nel caso delle istruzioni, una volta riconosciute come tali non era possibile modificarne il contenuto vero e proprio, ma solo la parte dedicata all’indirizzo delle variabili. Normalmente le istruzioni venivano eseguite in successione , ma era possibile usando un particolare indirizzo Z, fare si che l’unità centrale cercasse l’istruzione da eseguire nel registro di memoria Z e la eseguisse. In ciò consisteva il “salto incondizionato”. Inoltre era previsto anche un macchinoso meccanismo per il “salto condizionato” ottenuto attraverso il controllo sul segno di uno dei numeri contenuti nei registri ausiliari dell’unità aritmetica. Sulla base del valore di questa condizione veniva scelto il numero dell’istruzione successiva. Da ciò si possono intravedere le prime sostanziali differenze con l’ENIAC, infatti in quest’ultimo le operazioni aritmetiche venivano eseguite negli accumulatori usando una serie di componenti hardware della macchina che lavoravano separatamente. Mentre nell’EDVAC tutte le operazioni erano centralizzate nell’unità aritmetica che le svolgeva con l’aiuto dell’unità di controllo. Il tentativo di astrazione di von Neumann aveva i suoi limiti. Per esempio non c’era traccia dei dettagli tecnici delle linee di ritardo a mercurio, nonostante esse venissero indicate come il dispositivo tecnologico prescelto per la memoria. Alla fine l’EDVAC non fu realizzato come programmato nel First Draft , infatti era diversa nella struttura logica, nelle scelte tecnologiche, nelle dimensioni delle varie parti e nell’architettura. Comunque il modello di calcolatore descritto da von Neumann è stato considerato il capostipite dei calcolatori moderni.
 
Tuttavia una macchina reale poteva solo avvicinarsi a quella universale e ideale di Turing: era importante che essa avesse una memoria molto grande, corrispondente al nastro potenzialmente infinito di Turing, nella quale potessero coesistere istruzioni e dati. D’altro canto, i programmi da eseguire venivano memorizzati, per la prima volta, dentro la macchina. Ma l’aspetto veramente rivoluzionario di questi calcolatori era il loro carattere generale e universale, mentre il programma memorizzato era semplicemente un mezzo.