Questo sito contribuisce alla audience di

Von Neumann: l'idea di un nuovo calcolatore.

Dopo il primo calcolatore elettronico ENIAC apparve l’EDVAC grazie all’ingegno di Von Neumann e di alcuni suoi colleghi, ma quali furono le novità introdotte? Nell’intervento parleremo dell’EDVAC, e della nascita del concetto di programma memorizzato; Inoltre, analizzeremo le strutture dello IAS, e i gruppi di istruzioni disponibili nel nuovo calcolatore general-purpose EDVAC.

Inserire dati nell’ENIAC (il primo calcolatore elettronico general-purpose) era un’operazione abbastanza lunga e laboriosa, così Von Neumann ed alcuni suoi colleghi svilupparono il concetto di programma memorizzato: in memoria potevano coesistere dati e programma, e quest’ultimo poteva essere modificato utilizzando delle variabili già esistenti.

L’idea di Von Neumann venne pubblicata nel 1945 in una proposta di un nuovo calcolatore, l’EDVAC (Electronic Discrete Variable Computer).

Nel 1946 iniziò la realizzazione dell’EDVAC, e dell’applicazione del concetto di programma memorizzato o IAS. Tutto ciò si svolgeva all’Istituto per gli Studi Avanzati di Princeton, e tutt’ora rappresenta il prototipo di tutti i calcolatori successivi general-purpose (ossia, adatti ad ogni tipo di funzione).

In analisi, gli elementi che compongono il calcolatore a programma memorizzato, o IAS, sono:

1) Un’unità logico-Aritmetica (ALU) in grado di operare sugli interi (un calcolatore deve poter svolgere le comuni operazioni matematiche (addizione, sottrazione, moltiplicazione e divisione).

2) Un sistema di Input/Output diretto sull’unità di controllo (un dispositivo deve poter permettere l’inserimento dei dati, e la visualizzazione dei risultati).

3) Una memoria principale che contiene dati e istruzioni (qualunque sistema che deve eseguire complesse operazioni matematiche deve poter memorizzarle in un dispositivo detto memoria centrale).

4) Un’unità di controllo che recupera le istruzioni in memoria e permette la loro elaborazione (la successione corretta delle istruzioni deve poter essere eseguita da un’unità di controllo del programma, così da garantire una buona efficienza).

I calcolatori moderni, a parte alcune eccezioni, continuano a mantenere la struttura dello IAS, ed è per questo che vengono chiamati macchine di Von Neumann.
A seguire ecco alcune caratteristiche dello IAS:

A) 1000 locazioni dette “parole”, di 40 bit ciascuna, formano la memoria centrale del sistema. I numeri e le istruzioni venivano rappresentati in notazione binaria; Ogni numero aveva un bit di segno ed un valore a 39 bit. Una “parola” poteva contenere due istruzioni di 20 bit, ognuna delle quali formata da un indirizzo di 12 bit, e da un codice (opcode) di 8 bit che indicava l’operazione da compiere.

B) L’unità di controllo carica le istruzioni una alla volta, e poi le esegue grazie alla ALU (unità logico-aritmetica).

Lo IAS era dotato di 21 istruzioni divise nei seguenti gruppi:

1) Trasferimento dei dati: LOAD MQ, LOAD MQ, M(X), STOR M(X), LOAD M(X), LOAD -M(X), LOAD |M(X)|, e LOAD -|M(X)|.

2) Salto incondizionato: JUMP M (X,0:19) e JUMP M (X,20:39).

3) Salto condizionato: JUMP+M(X,0:19) e JUMP+M (X,20:39).

4) Aritmetica: ADD M(X), ADD |M(X)|, SUB M(X), SUB |M(X)|, MUL M(X), DIV M(X), LSH e RSH.

5) Modifica dell’indirizzo: STOR M(X,8:19) e STOR M(X,28:39).

Le istruzioni appartenevano ai gruppi appena descritti, ma in realtà, esse dovevano rispettare la seguente forma: una parte a 8 bit (opcode) indicava quale operazione delle 21 disponibili doveva essere eseguita, e una parte a 12 bit indicava quale indirizzo della memoria centrale doveva essere coinvolto nell’operazione.

L’EDVAC rappresentò un evoluzione nella storia dei calcolatori, e la mente geniale di Von Neumann deve essere ricordata per il contributo che ha saputo dare alla scienza; Nonostante ciò, non tutti lo conoscono, e dimenticano che la struttura odierna dei moderni elaboratori è l’evoluzione di un concetto formulato nel lontano 1945.