Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

53
Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE

Transcript of Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Page 1: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Modello di Von Neumann

ARCHITETTURA DEL

CALCOLATORE

Page 2: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Sommario– Cenni di algebra di Boole

– Struttura• CPU

• MEMORIA CENTRALE

• INTERFACCIA DI I/O

• BUS

–Hardware e software

Page 3: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Cenni di algebra di Boole Il bit

Premettiamo che per bit si intende un simbolo che può assumere solo due valori, spesso indicati sulla carta :

• con 0/1, • vero/falso, • on/off,mentre a livello circuitale dal livello • di tensione 0V oppure 5V, • corrente 0 mA oppure 20 mA

Page 4: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Cenni di algebra di Boole Oggetti rappresentabili

• Con 1 bit si possono individuare due oggetti (0, 1),

• con 2 bit 4 oggetti (00, 01, 10, 11)

• con n bit 2n oggetti.

Page 5: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Cenni di algebra di Boole registro

Dal punto di vista realizzativo, un dispositivo elettronico in grado di memorizzare n bit si dice registro a n bit.

Es. registro ad 8 bit:

0 1 0 0 1 0 1 0

Page 6: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Cenni di algebra di BooleGruppi di bit e multipli

• 8 bit = 1 Byte• Il bit è abbreviato con la b il Byte con la B• 1 KB = 1 KByte = 210 Byte = 1024 Byte• 1 MB = 220 Byte = circa 1000 000 Byte• 1 GB = 230 Byte = circa 1000 000 000 Byte• 1 TB = 240 Byte = circa 1000 000 000 000 B• 1 Kb = 1 Kbit = 210 bit = 1024 bit • ….

Page 7: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura John Von Neumann

Negli anni Cinquanta John Von Neumann ideò un computer:

• molto semplice se paragonato a quelli attuali

• decisamente innovativo all'epoca,

• chiamato Macchina di Von Neumann

Page 8: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaDescrizione

Componenti

1. Esecutore (CPU)

2. Memoria

3. Interfacce di I/O

4. BUS

Page 9: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaDescrizione

EsecutoreMemoria

Si tratta di una macchina dotata di un esecutore (la CPU Central Processing Unit) in grado di:

• scandire (leggere, capire ed eseguire) un elenco di istruzioni (programmi) e

• accedere a dati

memorizzati in un organo di memoria: • MC memoria centrale;

Page 10: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaDescrizione

EsecutoreI/O

• l'esecutore è in grado anche di scambiare dati con delle locazioni di memoria presenti su particolari dispositivi, dette interfacce di I/O (Input/Output), che provvedono ai trasferimenti con i dispositivi periferici che consentono lo scambio di informazioni con l'esterno, quali tastiera, monitor e stampanti.

Page 11: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaDescrizione istruzioni macchina

• In relazione alla specifica realizzazione della CPU, è definito un insieme di sequenze binarie (set istruzioni), normalmente di lunghezza multipla di 8 bit, dette istruzioni macchina, che specificano precise azioni da eseguire.

• Esempio set istruzioni – 00000011 IN leggere un valore da tastiera

– 00000010 OUT inviare un valore sul monitor

– 00000100 ADD sommare il contenuto dei registri A e B

– 00000101 SET B copiare il valore contenuto in A in B

Page 12: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaDescrizione

bus

• CPU, MC, interfacce di I/O sono collegate attraverso un sistema strutturato di conduttori detto bus

Page 13: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura Schema

Page 14: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaEvoluzione

• L'evoluzione tecnologica e quella delle architetture non hanno mantenuto lo stesso passo.

• Attualmente ci troviamo nella situazione in cui la quasi totalità dei sistemi di elaborazione ha un tipo di architettura che fa riferimento a quella di Von Neumann

Page 15: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaEsempio

Vediamo ora, con un semplice esempio, di capire come funziona la macchina di Von Neumann.

Ci occuperemo solo della parte di esecuzione

Page 16: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaEsempio

Voglio che la mia macchina di Von Neumann esegua la somma di due numeri prelevati da tastiera e visualizzi a video risultato

Devo:1. predisporre un algoritmo risolutivo - programmatore2. tradurlo in un linguaggio (sequenza di istruzioni)

comprensibile al mio esecutore (CPU) – programma compilatore

3. caricarlo in memoria centrale (MC) – prg.caricatore4. farlo eseguire all’esecutore - CPU

Page 17: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura Esempio Soluzione p.to 3-4 Uso Simulazione

I punti 3 (caricamento) e 4 (esecuzione) li simuleremo tramite il modello riportato nelle slide che seguono

Page 18: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 3 Caricamento

Page 19: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 4 Esecuzione IN

Page 20: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 4 Esecuzione SET B

Page 21: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 4 Esecuzione IN

Page 22: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 4 Esecuzione ADD

Page 23: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Struttura EsempioSoluzione p.to 4 Esecuzione OUT

Page 24: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

StrutturaComponenti

• CPU

• MEMORIA CENTRALE

• INTERFACCIA DI I/O

• BUS (Dati, Indirizzi, Controllo)

Esaminiamo nel dettaglio i componenti fondamentali.

Page 25: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

CPU

Ha il compito di eseguire il ciclo istruzione; in pratica, intesa come black box, è in grado di• effettuare operazioni di lettura/scrittura

– della memoria centrale o – dei registri di I/O e

• di interpretare i codici delle istruzioni • generando tutti i segnali elettrici necessari a

svolgere l'operazione richiesta. L'attività della CPU è scandita da un segnale

impulsivo periodico detto clock.

Page 26: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

CPU sottosistemi

Al suo interno abbiamo diversi sottosistemi.

• UG (UNITA DI GOVERNO).

• ALU (UNITA ARITMETICO LOGICA).

• BUFFER

• REGISTRI

• BUS

Page 27: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

CPU sottosistemi

BUFFER

• MDR (BUFFER DATI)

• MAR (BUFFER INDIRIZZI)

REGISTRI

• IR (INSTRUCTION REGISTER).

• PC (PROGRAM COUNTER).

• ACC (REGISTRO ACCUMULATORE).

Page 28: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

CPU sottosistemi

• la logica di interruzione

• la logica di controllo del bus

Page 29: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

UG (UNITA DI GOVERNO).

• È l'unità di governo dell'intera CPU; riceve in ingresso dal registro IR, che in seguito assumeremo a 8 bit, il codice dell'istruzione macchina; in base a esso vengono generati tutti i segnali di temporizzazione dei dispositivi interni ed esterni.

• Si tratta di un sistema le cui transizioni sono cadenzate dal clock

CLOCK

Page 30: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

ALU (UNITA ARITMETICO LOGICA).• All'ALU è demandato il compito di effettuare le

operazioni – logiche e – aritmetiche sulle sequenze binarie lette – dalla memoria centrale o – dai registri di I/O.

• È importante capire che la ALU è un sistema combinatorio ed è caratterizzata da quanti bit può elaborare simultaneamente; si definisce così il grado di parallelismo della CPU.

Page 31: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

ACC (REGISTRO ACCUMULATORE).

• Tipico dei primi elaboratori, è il registro sempre coinvolto nelle operazioni di ALU, ovvero che fornisce uno (o l'unico) operando e memorizza il risultato.

Page 32: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

B (REGISTRO GENERALI DATI).

• Un secondo registro (ma potrebbe essere anche più di uno) che memorizza temporaneamente i dati nella CPU, eventualmente inviandoli alla ALU come secondo operando.

Page 33: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE

• La memoria centrale (MC) è un dispositivo contenente un elevato numero di registri (chiamati locazioni di memoria o celle di memoria) in cui la CPU può leggere o scrivere dei valori.

• La dimensione di ogni cella è normalmente 8 bit = 1 byte

• Ogni locazione è identificata da un indirizzo (un numero binario che identifica univocamente la cella).

Page 34: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE

Page 35: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALEesempio memoria da 8 byte

Indirizzo (3 bit) Contenuto (8 bit)

000 00000000

001 01001000

010 01110111

011 00010000

100 11110011

101 10010000

110 00010011

111 11111100

Page 36: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE

• Oggi le MC sono realizzate con dispositivi a semiconduttore.

• Esse possono scambiare con la CPU un byte per volta, in lettura o scrittura;

• la scelta del byte da scambiare è determinata da un secondo tipo di informazione, che deve essere fornita dalla CPU: l'indirizzo trasmesso sul bus, parte indirizzi.

• Ipotizziamo che la nostra CPU emetta indirizzi a 16 bit e pertanto possa indirizzare fino 216 re- gistri di memoria centrale (65536);

• gli indirizzi partono quindi da 0 e arrivano a 65535.

Page 37: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE

BUS INDIRIZZI

BUS DATI

BUS CONTROLLO

CPU

Memoria centrale

Page 38: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALEMEMORIA CENTRALE

BUS INDIRIZZI 3 bit

BUS DATI 8 bit

BUS CONTROLLO

CPU

Ind. Contenuto

000 00000000

001 01001000

010 01110111

011 00010000

100 11110011

101 10010000

110 00010011

111 11111100

Che dimensioni in bit hanno i due bus?

Page 39: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE caratteristiche

La memoria centrale ha due caratteristiche fondamentali :

•che il tempo per trasferire un dato è dello stesso ordine di quello tipico di lavoro della CPU;

•che l'accesso è casuale: ciò significa che l'ordine di accesso può essere uno qualunque

Page 40: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE tipologie

• RAM la parte di memoria centrale su cui è possibile sia leggere sia scrivere, ma che è volatile, ovvero perde i dati se non alimentata.

• ROM: la parte di MC non volatile ma su cui la CPU può solo leggere si chiama ROM (Read Only Memory).

Page 41: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

MEMORIA CENTRALE ROM

• Si tratta di un tipo di memoria fondamentale, in cui i valori dei dati memorizzati sono predisposti in fase di fabbricazione; all'avvio la CPU carica un valore predefinito nel program counter e a quell'indirizzo deve trovare una serie di istruzioni valide: bisogna quindi utilizzare una ROM almeno per il programma di avvio.

Page 42: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

INTERFACCIA DI I/OInput/Output

Ogni dispositivo aggiuntivo (unità di ingresso, di uscita, dischi ecc.) interagisce autonomamente con il resto del sistema mediante un'interfaccia (circuito di raccordo) connessa al bus di sistema.

L'aggiunta di una nuova interfaccia connessa al bus permette quindi di aggiungere dispositivi inizialmente non previsti nel sistema, senza modificare quelli esistenti.

Queste interfacce mostrano alla CPU almeno due registri su cui appoggiare i dati in ingresso e in uscita; essi sono accessibili con specifiche istruzioni macchina.

Page 43: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

INTERFACCIA DI I/O

• INPUT (UNITA DI INGRESSO). Permette all'utente di interagire con la macchina (per esempio utilizzando una tastiera numerica) per introdurre informazioni codificate con uno o più byte.

 • OUTPUT (UNITA DI USCITA). Permette alla

macchina di trasferire a una periferica uno o più byte che codificano informazioni (es. monitor)

Page 44: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

INTERFACCIA DI I/O

Page 45: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

BUS

• Il bus è il sistema di interconnessione strutturato che fornisce i percorsi per il trasferimento dei dati, degli indirizzi e dei segnali di controllo necessari allo scambio dei dati tra gli altri moduli.

• Fisicamente consiste in piste tracciate su circuito stampato e alcuni componenti elettronici per mantenere la correttezza delle forme d'onda dei segnali trasmessi.

Page 46: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

BUSsuddivisione

Il bus è diviso in almeno quattro sezioni:

• dati,

• indirizzi,

• controlli e

• alimentazioni.

Page 47: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

bus dati

• Il bus dati è bidirezionale e condiviso da tutti i moduli, quindi sono previste regole per evitare conflitti. Tramite i segnali di controllo si decide chi debba assumere la gestione del bus (come vedremo in seguito potrebbe non essere solo la CPU a poter pilotare il bus); successivamente viene abilitata solo la memoria o la periferica interessata tramite un segnale specifico chip select derivato dagli indirizzi emessi.

Page 48: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

bus indirizzi

• Il bus indirizzi è unidirezionale (da chi pilota, di norma la CPU, alle memorie o le interfacce di I/O). Se il bus indirizzi ha n bit, si possono indirizzare 2n locazioni di memoria centrale.

Page 49: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

bus controlli

• Il bus controlli ha diversi segnali, tra cui certamente gli strobe (impulsi) di comando della lettura o della scrittura, i segnali per l'acquisizione del controllo del bus, i segnali di interruzione che consentono a un'interfaccia di I/O di chiedere servizio alla CPU, i chip select, il reset e i clock.

Page 50: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

bus alimentazioni

• Il bus alimentazioni distribuisce la massa e le tensioni di alimentazioni positive e negative.

Page 51: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Hardware e software

La Macchina di Von Neumann ci consente di capire bene la differenza tra hardware e software.

Page 52: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

HardwareEsiste una componentistica tangibile di tipo

elettronico, elettrico e meccanico: questa è chiamata hardware.

Sono hardware l'unità centrale, il monitor, la tastiera, l'alimentatore, il disco, i microprocessori, i chip di memoria.

Page 53: Modello di Von Neumann ARCHITETTURA DEL CALCOLATORE.

Software

Affinchè la Macchina di Von Neumann funzioni, però, è necessario che le celle della memoria centrale riportino sequenze binarie opportune, dette istruzioni macchina codificanti, operazioni significative della CPU tramite le quali realizziamo un programma, ovvero in ultima analisi la codifica di un algoritmo di risoluzione di un problema.