First Draft of a Report on the EDVAC, di John von Neumann.

John Von Neumann
John Von Neumann

Lo scritto di John von Neumann (1945) è uno dei documenti più influenti nella storia dell’informatica: descrive l’architettura logica dei moderni calcolatori elettronici digitali.
Non è un manuale di costruzione dell’EDVAC, ma una formalizzazione teorica generale del funzionamento dei computer programmabili. Il contributo fondamentale è il concetto di programma memorizzato in memoria (stored-program concept), base dell’architettura dei computer ancora oggi.

Von Neumann analizza come progettare una macchina automatica capace di eseguire calcoli numerici complessi, essere programmabile, essere universale (non dedicata a un solo problema), modificare la sequenza delle operazioni in base ai risultati intermedi. Per farlo, parte da una domanda:
come modellare elettronicamente il comportamento logico umano nel calcolo?

Von Neumann divide il calcolatore in 5 componenti fondamentali. La  memoria (Memory) che contiene dati, istruzioni, risultati intermedi. La caratteristica rivoluzionaria consiste nel fatto che dati e istruzioni sono rappresentati nello stesso formato binario. Questo permette al programma di essere manipolato come un dato (es. cicli, salti, modifiche automatiche del codice).

Nel contesto l’Unità aritmetica (Arithmetic Unit – CA) esegue operazioni matematiche di somma, sottrazione, moltiplicazione, divisione. È progettata per operare su numeri binari.

L’Unità di controllo (Control Unit – CC) coordina tutte le operazioni. Le sue funzioni principali sono quelle di leggere un’istruzione dalla memoria, interpretarla, attivare le unità necessarie, decidere quale istruzione eseguire dopo. Qui nasce il ciclo di esecuzione del processore: Fetch (preleva istruzione), Decode (interpreta), Execute (esegue).

I dispositivi di input servono per introdurre dati e programmi nella macchina. Nel 1945 si pensava a nastri perforati e schede perforate. I dispositivi di output restituiscono i risultati e sono: stampanti, perforatori, display elettromeccanici.

Per quanto riguarda la rappresentazione binaria, von Neumann giustifica matematicamente l’uso del sistema binario. I motivi principali sono l’affidabilità elettronica (tubi a vuoto → ON/OFF), la riduzione degli errori, la semplicità logica e l’implementabilità con circuiti logici. Introduce quindi il principio secondo il quale il calcolo digitale è una simulazione fisica della logica matematica.

Dal lato delle istruzioni e programmi, ogni istruzione è composta da codice operativo (opcode) e indirizzo di memoria. La forma generale è: OPERAZIONE + OPERANDO. Un possibile esempio concettuale è:

ADD 100

→ somma al registro il contenuto della cella 100

I salti condizionati sono la vera nascita del software. Il documento introduce il concetto fondamentale di controllo del flusso in cui la macchina può cambiare sequenza di esecuzione, ripetere istruzioni, prendere decisioni. Nascono quindi i cicli, le condizioni, gli algoritmi generali. Questo è il punto in cui il computer smette di essere una calcolatrice e diventa una macchina universale.

Per quanto concerne la memoria e l’indirizzamento, von Neumann descrive la memoria numerata per celle, l’accesso diretto tramite indirizzo, la capacità finita e la velocità come fattore critico. Introduce implicitamente il problema moderno, cioè quello del collo di bottiglia tra CPU e memoria (Von Neumann Bottleneck).


Riguardo al parallelismo e tempi di esecuzione, l’autore distingue tra tempo aritmetico, tempo di trasferimento e tempo di accesso alla memoria. Evidenzia che la velocità del computer dipende più dalla memoria che dal calcolo. Il concetto è ancora validissimo nei computer moderni.

Emerge l’universalità della macchina. Von Neumann formalizza un principio simile alla macchina di Turing: una sola macchina può eseguire qualsiasi algoritmo, basta cambiare il programma. Nasce così il computer general purpose.

Il documento introduce delle innovazioni. Riassumendo, esse sono: il programma memorizzato, la CPU composta da ALU + Control Unit, la memoria unica per dati e istruzioni, il linguaggio macchina, i salti condizionati, la struttura sequenziale del programma, il calcolatore universale.

Quali sono le conseguenze storiche? Tutti i computer moderni derivano da questo modello, partendo dal PC, allo smartphone, al server, ai microcontrollori. L’architettura si chiama infatti architettura di Von Neumann.

Quali sono i limiti dell’operazione? Von Neumann anticipa problemi ancora attuali, ovvero la lentezza della memoria vs quella della CPU, la necessità di ottimizzare programmi, l’importanza della rappresentazione dei dati, la gestione degli errori.

Il documento non descrive semplicemente l’EDVAC, ma definisce la teoria generale del computer moderno. Prima del 1945 le macchine erano strumenti di calcolo specializzate, dopo il 1945 diventano macchine programmabili universali. In sostanza, lo scritto segna la nascita dell’informatica come disciplina autonoma, non più matematica applicata all’elettronica, ma macchine che eseguono algoritmi memorizzati.

** Se puoi sostenere il mio lavoro, comprami un libro | Buy me a book! **
** ISCRIVITI ALLA NEWSLETTER ! **

About the Author

Sergio Mauri
Blogger, autore. Perito in Sistemi Informativi Aziendali, musicista e compositore, Laurea in Discipline storiche e filosofiche e in Filosofia. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d'Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014, con PGreco nel 2015 con Historica Edizioni e Alcova Letteraria nel 2022 con Silele Edizioni (La Tela Nera) nel 2023 e con Amazon Kdp nel 2024 e 2025.