L’Architettura del Sistema di Elaborazione L’Architettura del Sistema di Elaborazione. Modello di Von Neumann (Parte 1)
Argomenti trattati Macchina di Von Neumann Elementi della macchina di Von Neumann Codifica dei dati e delle istruzioni di un programma L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Architettura di un calcolatore elettronico Per architettura di un calcolatore elettronico si intende: l'insieme delle principali unità funzionali di un calcolatore il modo in cui queste interagiscono L'architettura della maggior parte dei calcolatori elettronici è organizzata secondo il modello della Macchina di Von Neumann* *Scienziato americano che si dedicò (1945) allo studio e alla realizzazione del primo calcolatore (basato su programma memorizzato) L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Architettura di un calcolatore elettronico ENIAC Personal Computer L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Architettura di un calcolatore elettronico Programma applicativo Gerarchia delle astrazioni Linguaggio di programmazione Linguaggio assemblativo Sistema Operativo Linguaggio Macchina Microprogramma Logica Digitale L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Modello di Von Neumann L'architettura della Macchina di Von Neumann comprende le seguenti unità funzionali: il processore o unità centrale di elaborazione (CPU - Central Processing Unit) la memoria centrale i dispositivi di ingresso e uscita (I/O) il bus di sistema L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Modello di Von Neumann Memoria Centrale L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Funzionamento sequenziale del modello di Von Neumann CPU memoria Interfacce di I/O bus ris dato 1 dato 2 dato 3 … dato m op istruzione 1 istruzione 2 istruzione 3 … istruzione n ris = f(op) OUT(op) L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU L'unità centrale di elaborazione (CPU) è la parte del sistema che contiene i dispositivi elettronici necessari al funzionamento della macchina La CPU esegue i programmi che risiedono nella memoria centrale prelevando decodificando eseguendo le istruzioni in essa contenuti e coordinando il trasferimento dei dati tra le varie unità funzionali L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU La CPU è composta da: una unità di controllo CU - Control Unit che interpreta e attiva le risorse necessarie all’esecuzione delle istruzioni una unità aritmetico-logica ALU - Arithmetic and Logic Unit che effettua i calcoli aritmetici e logici presenti nelle istruzioni (aritmetiche e logiche) del programma alcuni dispositivi di memoria detti registri L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU Registri Un registro è un dispositivo elettronico per memorizzare i dati Dal punto di vista tecnologico un registro è un insieme di n elementi fisici bistabili, detti bit Un registro formato da n bit è in grado di assumere 2n configurazioni di stato diverse Ciascun bit ha due configurazioni stabili possibili, a cui per convenzione vengono associati i simboli 0 e 1 n=6, il numero delle configurazioni è 64 L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Approfondimenti: Bit Bit (Binary Digit) cifra binaria che può assumere solo i valori 0 e 1 Byte (B) un gruppo contiguo di 8 bit (es. 11001010) NIBBLE = 4 bit (es. 0110) WORD = 16 bit / 32 bit / 64 bit (dipende dall’architettura del calcolatore) KB (chilo) = 210 B = 1.024 B MB (mega) = 210 KB = 220 B = 1.048.576 B GB (giga) = 210 MB = 230 B = 1.073.741.824 B TB (tera) = 210 GB = 240 B = 1.099.511.627.776 B Nel calcolatore le operazioni sono fatte sui bit Operazioni = memorizzazione, calcolo e trasmissione Memorizzazione >> registri, memorie, dischi, CD, etc… Calcolo >> ALU, coprocessori matematici, etc… Trasmissione >> bus interni ed esterni, porte di I/O, etc… Esempi: 1 Kbit = 1024 bit 4 GB = 4096 MB = 4294967296 B 3MB quanti bit sono? 3MB = 3 220 B = 3145728 B = 3145728 * 8 bit = 25165824 bit L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU Registri Lo stato del registro, ossia la configurazione dei suoi bit, rappresenta l'informazione che vi è memorizzata e tale informazione viene conservata fino a quando non la si altera Un registro quindi ha una capacità di memorizzare informazioni che è funzione del numero degli elementi di cui si compone {0, 1} Registro n=1 21 = 2 configurazioni {00, 01, 10, 11} Registro n=2, 22 = 4 configurazioni {000, 001, 010, 011, 100, 101, 110, 111} Registro n=3 23 = 8 configurazioni L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: CPU Registri I registri fondamentali all’interno della CPU sono: I registri generali R1, R2, …, Rn il registro degli indirizzi di memoria Memory Address Register (MAR) il registro dei dati di memoria Memory Data Register (MDR) il contatore di programma Program Counter (PC) il registro della istruzione corrente Instruction Register (IR) il registro di stato Program Status Register (PSR) Registro degli indirizzi di memoria (MAR Memory Address Register) indica l'indirizzo della locazione di memoria che si vuole selezionare Registro dei dati di memoria (MDR Memory Data Register) contiene il dato proveniente dalla locazione di memoria selezionata o il dato che si vuole memorizzare nella locazione di memoria selezionataContatore di programma (PC Program Counter) ha la funzione di guidare il flusso della esecuzione di un programma, infatti il suo contenuto indica l'indirizzo della prossima istruzione da eseguire Registro della istruzione corrente (IR Instruction Register) contiene l'istruzione da decodificare ed eseguire Registro di stato (PSR Program Status Register) contiene informazioni sullo stato di funzionamento della macchina L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale Insieme di dispositivi aventi la funzione di memorizzare (mantenere nel tempo) programmi e dati Per eseguire in modo efficiente i programmi, la memoria dovrebbe essere: molto veloce molto capiente (dimensioni sufficienti a contenere un programma e tutti i suoi dati) permanente (in grado di mantenere il suo contenuto anche quando non vi e’ alimentazione elettrica) Queste caratteristiche NON sono facilmente conciliabili in sistemi come i PC dove occorre contenere i costi Queste sono nozioni in generale sulla memoria….ricordiamo che la macchina di Von Neumann fa riferimento alla Memoria Centrale L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale C.P.U. In un sistema di elaborazione ci sono sempre due tipi di memoria: la memoria centrale, interna al calcolatore, direttamente accessibile dalla CPU realizzata da componenti a semiconduttore la memoria secondaria o di massa, esterna al calcolatore realizzata da componenti magnetici o ottici(dischi, nastri) Memoria Cache R.A.M. R.O.M. Memorie in linea Memoria Primaria Disco Fisso Memoria Secondaria floppy CDROM nastri DVD etc… Memoria di Archiviazione Memorie fuori linea L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale è una parte del sistema di memoria illustrato precedentemente e rappresenta la memoria interna al calcolatore direttamente accessibile dalla CPU La memoria centrale mantiene: i programmi i dati necessari all'esecuzione dei programmi L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale E’ un insieme finito di locazioni (celle o registri) di uguali dimensioni Ogni locazione di memoria consta di n bit, ciascuno dei quali può rappresentare una informazione binaria (valori 0 e 1) Ogni locazione è caratterizzata da un indirizzo e dal contenuto L’indirizzo di una locazione è la posizione che questa occupa nella memoria rispetto alla prima locazione che ha indirizzo zero Il contenuto di una locazione è l'informazione in essa registrata (parola di memoria - WORD) L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale è caratterizzata: Dalla lunghezza di una parola di memoria che può variare da calcolatore a calcolatore, ma comunque è un multiplo del byte (es. 8,16,32,64 bit) Dalla capacità ovvero dal numero totale di locazioni di memoria capacità della memoria si misura in byte o in multipli del byte. L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale Alla memoria centrale si accede per effettuare operazioni di lettura o scrittura Ciascuna locazione di memoria può essere selezionata specificando il suo indirizzo nel registro degli indirizzi (MAR, Memory Address Register) L'indirizzamento di una locazione di memoria consiste nel selezionare elettricamente la locazione relativa all'indirizzo specificato Se il (MAR) registro degli indirizzi ha k bit può indirizzare 2k celle di memoria i cui indirizzi variano da 0 a 2k-1 Con un MAR di 10 bit si possono indirizzare 210 ovvero 1024 locazioni di memoria posizione rispetto alla prima cella di memoria, a cui viene attribuita per convenzione l'indirizzo zero. L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale Memoria con: 23=8 locazioni di 8 bit Capacità = 8*8 = 64 bit contenuto 1 2 3 4 5 6 7 0 0 0 1 0 1 0 0 1 1 MDR a 8 bit indirizzo 4 1 MAR a 3 bit L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale a cui ci siamo fino ad ora riferiti viene anche detta memoria RAM (Random Access Memory) La RAM è volatile ovvero in assenza di alimentazione elettrica perde il suo contenuto Quando si spegne il computer, tutto quello che è stato caricato nella memoria RAM viene cancellato RAM - Con questo termine si vuole indicare la possibilità di accedere in modo casuale (diretto e non sequenziale) a una qualsiasi locazione di memoria per effettuare operazioni di lettura o scritura Poiché lo spegnimento involontario potrebbe causare la perdita del lavoro in corso e non ancora registrato è buona regola salvare spesso su memoria di massa (disco rigido ) il lavoro che si sta facendo, oppure subito dopo importanti operazioni di modifica. L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Memoria Centrale Una porzione di memoria centrale, identificata con il termine ROM (Read Only Memory) è riservata solo per operazioni di lettura La ROM è realizzata con diversa tecnologia e viene usate dai costruttori per memorizzare in modo permanente informazioni necessarie per l’avviamento del sistema (firmware) L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Approfondimenti: ROM Le ROM si distinguono a seconda della tecnologia usata per memorizzare le informazioni iniziali in EROM, PROM e EPROM: Le EROM (Erasable ROM) sono ROM cancellabili, in genere questo tipo di ROM sono cancellabili esponendole a raggi ultravioletti Le PROM (Programmable ROM) sono ROM programmabili Le EPROM (Erasable and Programmable ROM) sono ROM cancellabili e programmabili Il software contenuto nelle ROM per distinguerlo da quello contenuto nella RAM viene chiamato firmware L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Approfondimenti: Firmware Fa parte del firmware, ad esempio, il BIOS, cioè quel gruppo di istruzioni che consente: ai diversi processori di attivarsi al momento dell’accensione del computer di effettuare un auto-test di funzionamento di caricare nella RAM il sistema operativo, presente sul disco rigido, a cui viene ceduto il controllo del sistema L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Bus Definizione generale Il bus di sistema è l’insieme di linee o circuiti, impiegati per il trasferimento di dati tra le componenti di un sistema informatico Questo gruppo di linee trasporta tipi diversi di informazione: dati indirizzi segnali di controllo bps = bit per second velocità di trasmissione: quanti bit al massimo l’unità sorgente può inviare alla destinazione nell’unità di tempo. Esempi: modem = 56000 bps porta seriale = 9600 bps porta di rete Ethernet = 100 Mbps L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Bus All’interno del modello di Von Neumann Il bus di sistema è il mezzo fisico che, sotto il diretto controllo della CPU, collega le varie unità funzionali della macchina di Von Neumann La CPU, tramite i suoi organi, permette di collegare solo due unità funzionali alla volta: una che trasmette dati una che riceve L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann: Bus Alcune specifiche Il bus degli indirizzi, connesso al MAR, ha tanti conduttori quanti sono i bit di un indirizzo (pari quindi alla dimensione del MAR) Questo numero in genere è il logaritmo in base due dello spazio di indirizzamento, ovvero del numero di locazioni di memoria complessivamente indirizzabili Il bus dei dati, connesso al registro MDR ha un numero di conduttori pari alla dimensione di una locazione di memoria, lo stesso numero quindi corrisponde anche alla lunghezza del registro MDR L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Unità di elaborazione (CPU) Parte operativa: blocchi funzionali interconnessi dal bus di sistema Unità di controllo: attiva i circuiti della parte operativa Funzionamento sincrono (clock) parte operativa parte controllo clock dati/istruzioni indirizzi controlli comandi istruzioni/flag L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)
Elementi del modello di Von Neumann Motherboard L’Architettura del Sistema di Elaborazione. Il Modello di Von Neumann (parte 1)