Organizzazione di un computer - Il modello di von Neumann

Il modello (o architettura) di von Neumann rappresenta in modo molto schematico le principali componenti hardware di un computer e le loro interconnessioni. I computer moderni sono ormai molto più complessi del modello ma questo mantiene il suo interesse come punto di partenza prima di affrontare architetture più complesse e in ogni caso come modello "virtuale" e riferimento per il programmatore. Il suo schema di massima è rappresentato in fig. 1. von Neumann scheme

Fig. 1: Rappresentazione a blocchi dell' architettura di von Neumann. A strettto rigore l' indicazione della memoria ROM non è essenziale per la descrizione dell' architettura ma ne chiarisce il ruolo nei computer moderni. I controller "I/O n" realizzano un' interfaccia uniforme tra CPU e periferiche di input-output.


Unità di controllo, ALU e registri ( circuiti in grado di comportarsi come area di lavoro per gli stadi intermedi dell' elaborazione ad accesso estremamente veloce) sono tra i principali componenti del processore (CPU: central processing unit). La CPU è connessa alla memoria (RAM) mediante il canale di comunicazione interna del processore (BUS). schema di massima della CPU con indicazione delle principali componenti (registri, unità di controllo, 
ALU, clock)

Fig.2: Schema di massima della CPU con indicazione delle principali componenti (registri, unità di controllo, ALU, clock)

I computer reali possono differire alquanto dal modello di von Neumann. Per esempio, nei computer attuali tra la RAM e il processore possono esser presenti memorie ausiliarie ad accesso via via piu' rapido avvicinandosi al processore ( memorie cache ) ideate per ottimizzare la velocità di accesso ai dati durante l' elaborazione.

Si possono avere organizzazioni molto diverse tra loro e con aggiunti svariati livelli di complessità. Per una grandissima classe di elaboratori reali però, il modello costituisce una schematizzazione utilissima per la comprensione dei meccanismi di base.

Il modello cioè definisce una macchina "virtuale" nel senso che hardware e software diversi possono concorrere per dare l' illusione di un' organizzazione secondo il modello di von Neumann anche in presenza di organizzazioni dell' HW realmente differenti.

Schema logico di una RAM

Dal punto di vista logico un RAM può essere pensata come un sequenza unidimensionale di locazioni di memoria, ciascuna individuata da un indice intero (indirizzo della locazione di memoria) e da un numero prefissato di byte. rappresentazione schematica della memoria come sequenza di locazioni
Fig. 3: Rappresentazione schematica della memoria come sequenza di locazioni.

Evoluzione dei  computers dal punto di vista della modalità di interazione

Esecuzione di programmi

Un particolare hardware  sarà caratterizzato da un ben preciso insieme di istruzioni macchina ovvero di sequenze di numeri binari che codificano le istruzioni elementari possibili per un dato processore o famiglia di processori. L' insieme delle configurazioni hardware compatibili con un determinato insieme di istruzioni macchina viene definito un' architettura di elaborazione.

Sequenze di istruzioni macchina concatenate in modo da permettere particolari elaborazioni costituiscomo le applicazioni (o programmi).

Perché un' applicazione possa essere eseguita, è necessario che essa o parte di essa sia copiata nella memoria (RAM) del processore e che le istruzioni siano eseguibili dal processore.

L' insieme delle istruzioni e dati corrispondenti ad un programma caricato in memoria per l' esecuzione è detto processo.
L'  esecuzione delle istruzioni di un processo è sequenziale a meno di istruzioni che esplicitamente rompano tale sequenza.

La memoria di un elaboratore può essere pensata come uno spazio di indirizzi uni-dimensionale. Ogni indirizzo corrisponde ad una certo spazio in cui si possono leggere o scrivere dati in quantità di lunghezza predeterminata.

I programmi accedono e modificano i dati in memoria mediante l' indirizzo dell' area di memoria che li contiene.