Macchina di Von
Neumann
1
Macchina di Von
Neumann
La prima proposta pratica di architettura per un elaboratore è di John Von Neumann
(1945)
2
Memoria Centrale
• Contiene i dati e programmi su cui opera l’elaboratore.
• E’ composta da unità elementari dette celle di memoria e da un gestore delle
operazioni.
• Le celle di memoria di un elaboratore :
- sono ordinate ed ognuna può essere indirizzata:
- l’indirizzo di una cella di memoria è la sua posizione
rispetto alla prima cella (posizione 0);
- hanno tutte la stessa capacità;
- sono dispositivi a semiconduttore di tipo:
- volatile: Random Access Memory (RAM);
- semipermanente: Erasable Programmable Read Only
Memory (EPROM);
- permanente: Read Only Memory (ROM);
3
Bus di Sistema
• Collega tra loro due o più componenti dell’elaboratore
(CPU, Memoria Centrale ed Interfacce delle periferiche);
• E’ un mezzo di trasmissione condiviso, e quindi:
- tutti i dispositivi vedono i dati trasmessi;
- affinché venga garantita l’integrità dei dati, una sola componente per
volta può trasmettere sul bus;
• E’ composto da linee elettriche lungo cui confluiscono, in parallelo, i dati;
• Logicamente è diviso in:
- Bus Dati: costituisce il percorso per trasferire i dati tra le componenti
dell’elaboratore. Il numero di linee che lo compongono specifica la
dimensione del bus;
- Bus Indirizzi: indica la sorgente o la destinazione dei dati che transitano
sul bus dati;
- Bus di Controllo: è usato per controllare l’uso e l’accesso al bus dati
ed al bus indirizzi;
4
Bus di Sistema:
Operazioni
• Una componente A invia dei dati ad una componente B:
- A attraverso il bus di controllo acquisisce il diritto all’uso del bus;
- A scrive nel bus di controllo il codice del comando;
- A scrive nel bus dati il dato da inviare a B;
- A scrive nel bus indirizzi l’identificativo di B e la posizione in B dove scrivere i dati;
• Una componente A richiede dei dati di una componente B:
- A attraverso il bus di controllo acquisisce il diritto all’uso del bus;
- A scrive nel bus di controllo il codice del comando;
- A scrive nel bus indirizzi l’identi.cativo di B e la posizione in B dove si
trovano i dati da ricevere;
5
CPU
6
Unità Aritmetico-Logica (ALU)
Si occupa dell’esecuzione delle operazioni aritmetiche e logiche in base
agli ordini ricevuti dall’unità di controllo e governo.
7
Registri di Supporto
(1)
Sono dispositivi di memoria utilizzati per contenere i dati su cui operano l’UCG e l’ALU.
• Registro Indirizzi (RI): contiene l’indirizzo della cella di memoria coinvolta
in una operazione di lettura o scrittura. La sua dimensione determina il numero
di celle della memoria centrale indirizzabili dalla CPU;
• Registro Dati (RD): contiene il dato che la CPU ha letto o intende scrivere
da/in memoria centrale. La sua dimensione è un multiplo della dimensione di
una cella di memoria;
• Registro Istruzione Corrente (RIC): contiene l’istruzione in corso di esecuzione.
La sua dimensione è pari a quella del registro dati;
8
Registri di Supporto
(2)
•Contatore di Programma (PC): contiene l’indirizzo della prossima istruzione da eseguire.
La sua dimensione è pari a quella del registro indirizzi;
•Registro Interruzioni (RINT): memorizza lo stato di funzionamento delle periferiche;
•Registro di Stato (RS): riporta informazioni relative al risultato dell’operazione svolta
dalla ALU (quali overflow, riporto, risultato con valore zero, segno del risultato) più altre
informazioni accessorie;
•Registri di uso generale (ad esempio registri per contenere gli operandi);
9
Unità di Controllo e Governo
(UCG)
Preleva le istruzioni, decodifica ed gestisce l’esecuzione delle istruzioni in memoria
centrale che compongono un programma.
10
Fase di
Fetch
Durante la fase di reperimento dell’istruzione:
1) L’unità di controllo copia il contenuto del contatore di programma nel registro indirizzi;
2) Viene eseguita la fase di lettura di un dato dalla memoria centrale;
3) L’unità di controllo copia il contenuto del registro dati nel registro istruzione corrente;
4) L’unità di controllo impartisce il comando di incremento del contatore di programma;
11
Interfacce
ingresso/uscita
Sono gli elementi circuitali che consentono il collegamento dell’elaboratore con il mondo
esterno attraverso dispositivi periferici. L’interfaccia contiene:
1) Registri per inviare comandi alla periferica, scambiare i dati e controllare il
funzionamento della periferica;
2) La circuiteria per interfacciarsi con il bus di sistema e la periferica.
Le interfacce si differenziano a secondo delle periferiche che devono servire.
12
Scarica

architettura von Neumann