Macchina di Von Neumann 1 Macchina di Von

  • Slides: 12
Download presentation
Macchina di Von Neumann 1

Macchina di Von Neumann 1

Macchina di Von Neumann La prima proposta pratica di architettura per un elaboratore è

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’

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

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

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

CPU 6

Unità Aritmetico-Logica (ALU) Si occupa dell’esecuzione delle operazioni aritmetiche e logiche in base agli

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

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

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

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

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

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; 1. 2) La circuiteria per interfacciarsi con il bus di sistema e la periferica. Le interfacce si differenziano a secondo delle periferiche devono servire. 12