vuoi
o PayPal
tutte le volte che vuoi
LA MACCHINA DI VON NEUMANN
Per “macchina di Von Neumann” si intende un computer basato sull’architettura di Von Neumann, il
quale ha ideato nel 1946 questo modello di macchina su cui si basa la maggior parte dei computer
moderni. Infatti la macchina di Von Neuman è un particolare modello di computer che funge grazie
ad un programma memorizzato su un sopporto di memoria; possiamo quindi dire che essa è una
tipologia di architettura hardware per computer digitali programmabili a programma memorizzato.
Inoltre tale modello è riconosciuto come macchina polifunzionale poiché può eseguire diversi
programmi e di conseguenza risolvere altrettanti problemi.
In tale macchina, vi è inoltre uno spazio della memoria condiviso da dati e istruzioni del
programma; per questo, tale architettura si diversifica da quella di Harvard in cui dati e istruzioni
sono memorizzati in spazi distinti.
Unità della macchina
Lo schema della macchinasi basa essenzialmente su cinque componenti fondamentali:
1) CPU o unità di lavoro e si divide a sua volta in:
- ALU ( Arithmetic & Logic Unite ) unità aritmetico logica
- Unità di controllo
- Registri
2) Unità di memoria, intesa come memoria di lavoro o memoria principale
(RAM Random Access Memory )
3) Unità di Input
4) Unità di Output
5) Bus
CPU
La CPU ( Central Processing Unite ) è composta da tre diverse unità:
1) ALU – Arithmetic & Logic Unit ( unità aritmetico-logica ) la quale fornisce la capacità di
effettuare operazioni di tipo aritmetico-logico di base; infatti, il concetto dell'ALU fu ideato dallo
stesso Von Neuman per consentire al computer di eseguire le operazioni aritmetiche come somma,
sottrazione, divisione e moltiplicazione e sviluppò perciò un'unità specializzata per questo scopo.
2) Unità di controllo la quale si occupa di controllare tutte le operazioni del calcolatore, di
interpretare le istruzioni ottenute dalla memoria e di inviare i segnali per l'esecuzioni dell'operazioni
alle altre unità.
3) I registri sono particolari locazioni di memoria interne alla CPU e a cui si può accedere più
velocemente rispetto alla memoria.
Unità di memoria
L'unità di memoria registra le istruzioni e i dati su cui la CPU lavora; lo stesso Von Neumann ebbe
l'idea di immagazzinare nella memoria anche le istruzioni.
Tuttavia c'è da dire che il suo contenuto si conserva solo finché il calcolatore è acceso; infatti l'unità
di memoria è limitata e volatile.
Possiamo quindi dire che la componente del calcolatore in cui si immagazzinano i dati e programmi
è la memoria centrale, la quale è composta da celle (o locazioni); tuttavia ogni cella può
memorizzare una parola, cioè una sequenza di bit di lunghezza fissata. Inoltre le celle sono
caratterizzate da:
- un indirizzo, cioè da un numero che identifica la cella e ne consente l'accesso.
- un valore, che è la sequenza di bit memorizzata dalla cella.
Unità di INPUT/OUTPUT
La CPU per comunicare con l’esterno utilizza le interfacce di INPUT/OUTPUT che permettono la
comunicazione fra unità di controllo e gli altri operatori esterni.
Tramite l’Unità di Input i dati vengono inviati alla CPU per essere elaborati, mentre con l’Unità di
Output vengono restituiti all’operatore esterno.
BUS
Il bus è un canale di comunicazione con cui i dati possono transitare fra i vari componenti del
calcolatore.
Esistono tre tipi di bus:
1) BUS Dati: È il bus sul quale transitano le informazioni ed è usufruibile da tutti i componenti del
sistema, sia in scrittura sia in lettura. Inoltre è bidirezionale.
2) BUS Indirizzi: È il bus attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a
leggere informazioni. Dopo che tale indirizzo è stato comunicato attraverso questo tipo di bus, la
scrittura o lettura avviene normalmente tramite il bus dati. Naturalmente questo bus può esser usato
in scrittura solo dalla CPU ed in lettura dagli altri componenti poiché tramite questo bus viene dato
solo l'indirizzo della cella, che è deciso dalla CPU. Inoltre questo bus è monodirezionale.
3) Bus Controlli: Il bus controlli è un insieme di collegamenti con lo scopo di coordinare le attività
del sistema ed attraverso il quale, la CPU può decidere la componente da scrivere sul bus dati in un
determinato momento
Da precisare infine che in genere si dispone di un unico bus perché l'architettura a più bus non è
realizzabile a causa del numero elevato di connessioni che sarebbero necessarie; l'architettura a più
bus è stata proposta dallo stesso John von Neumann nel 1945.
SCHEMA MACCHINA DI VON NEUMANN
Utilizzando tutti gli elementi sopraccitati, si attiva il processo di elaborazione.
Attraverso l’unità di input si memorizza il programma da eseguire nella memoria centrale. Il
programma quindi viene trasferito nel MAR e poi sul Bus Indirizzi; vi è quindi il reperimento e la
lettura dell’istruzione.
In seguito, la locazione di memoria selezionata passa sui Bus Dati per arrivare al MDR.
Eseguito perciò il caricamento del programma nella memoria centrale, la CPU preleva la prima
istruzione del programma e la esegue; una volta eseguita la prima, la CPU farà lo stesso con la
seconda istruzione.
Inoltre, poiché ogni istruzione eseguita dalla CPU può coinvolgere tutte le componenti del sistema ,
se necessario, vi sarà anche l’attivazione del dispositivo di output.