20090213 Cattaneo Architettura Degli Elaboratori P1
description
Transcript of 20090213 Cattaneo Architettura Degli Elaboratori P1
InformaticaInformaticaper i corsi di laurea di altre Facoltàper i corsi di laurea di altre Facoltà
Architettura degli elaboratori (Parte 1)Prof. Giuseppe Cattaneo
Mail: [email protected]:Skype:
PremessaPremessa
Parlare di Parlare di Architetture degli elaboratoriArchitetture degli elaboratori significa significa prevedere prevedere investimentiinvestimenti a lungo termine a lungo termine
Quindi … cercare di Quindi … cercare di prevedereprevedere il il futurofuturo
Ma non è facile prevedere il futuroMa non è facile prevedere il futuro
“With teletype interface and the
Fortran language, the computer will be easy
to use” ?!?!?!?
Soprattutto se ci sono grandi novità …Soprattutto se ci sono grandi novità …
Gli americani hanno Gli americani hanno bisogno del telefono; bisogno del telefono; noi noi nono. Abbiamo fattorini in . Abbiamo fattorini in abbondanza.abbondanza.
Sir William Preece, ingegnere capo Sir William Preece, ingegnere capo Poste Britanniche, 1876Poste Britanniche, 1876
Questo cosiddetto 'telefono' ha troppi difetti per poterlo considerare seriamente come mezzo di comunicazione. Il dispositivo è intrinsecamente privo di valore, per quel che ci riguarda.
Western Union Internal Memo, 1876
… … E qualche previsione può andare stortaE qualche previsione può andare storta
““Almost all of the many predictions Almost all of the many predictions now being made about 1996 now being made about 1996 hinge on the Internet's continuing hinge on the Internet's continuing exponential growth. But I predict exponential growth. But I predict the Internet, which only just the Internet, which only just recently got this section here in recently got this section here in Infoworld, will soon go Infoworld, will soon go spectacularly supernova and in spectacularly supernova and in 1996 catastrophically collapse.”1996 catastrophically collapse.”
"Internet... ben presto "Internet... ben presto esploderà in modo esploderà in modo spettacolare, come una spettacolare, come una supernova, e nel 1996 supernova, e nel 1996 collasserà catastroficamente.“collasserà catastroficamente.“
Fonte: Robert Metcalfe, fondatore della 3Com, inventore dello standard Ethernet per le reti informatiche locali un suo articolo per la rivista Infoworld di dicembre 1995. La frase è l'inizio dell'articolo.
Architettura degli elaboratori (Parte 1) 6
Architettura di un calcolatore Architettura di un calcolatore elettronicoelettronico
Per architettura di un calcolatore elettronico si Per architettura di un calcolatore elettronico si intende: intende: l'insieme delle principali unità funzionali di un l'insieme delle principali unità funzionali di un
calcolatore calcolatore il modo in cui queste interagiscono il modo in cui queste interagiscono
Architettura degli elaboratori (Parte 1) 7
Architettura di un calcolatore Architettura di un calcolatore elettronicoelettronico
ENIAC
Personal Computer
Architettura degli elaboratori (Parte 1) 8
HardwareHardware Componenti fisici del sistemaComponenti fisici del sistema
SoftwareSoftware Programmi che vengono eseguiti dal sistemaProgrammi che vengono eseguiti dal sistema
FirmwareFirmware Microprogrammi scritti sulle memorie permanenti Microprogrammi scritti sulle memorie permanenti
del calcolatore direttamente dai costruttoridel calcolatore direttamente dai costruttori
Architettura dei sistemi informaticiArchitettura dei sistemi informatici
Architettura degli elaboratori (Parte 1) 9
Gerarchia delle astrazioniGerarchia delle astrazioni
Programma applicativo Programma applicativo
Linguaggio di programmazioneLinguaggio di programmazione
Linguaggio assemblativoLinguaggio assemblativo Sistema OperativoSistema Operativo Linguaggio Macchina Linguaggio Macchina
Microprogramma Microprogramma
Logica Digitale Logica Digitale
Architettura degli elaboratori (Parte 1) 10
Modello di Von NeumannModello di Von Neumann
L'architettura della L'architettura della Macchina di Von NeumannMacchina di Von Neumann comprende le seguenti unità funzionali:comprende le seguenti unità funzionali: il processore o unità centrale di elaborazione (CPU - Central il processore o unità centrale di elaborazione (CPU - Central
Processing Unit)Processing Unit)
la memoria centrale (RAM)la memoria centrale (RAM)
le memorie di massa (dischi)le memorie di massa (dischi)
le unità periferiche (di I/O) le unità periferiche (di I/O)
il bus di sistemail bus di sistema
L'architettura della maggior parte dei
calcolatori elettronici è organizzata secondo il
modello di Von Neumann, scienziato ungaro-
statunitense che si dedicò (1945) allo studio e alla realizzazione del primo calcolatore (basato su
programma memorizzato)
Architettura degli elaboratori (Parte 1) 11
I/OI/ONOTA: Alcuni testi riportano la memoria di massa come unità periferica, altri come componente base del modello
Architettura degli elaboratori (Parte 1) 12
CPU Memoria Periferiche di I/O
bus
Funzionamento sequenziale Funzionamento sequenziale del modello di Von Neumanndel modello di Von Neumann
istruzione 1istruzione 2istruzione 3
…istruzione n
ris = f(op)OUT(op)dato 1dato 2dato 3
…dato m
opris
Architettura degli elaboratori (Parte 1) 13
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
L'unità centrale di elaborazione (CPU) è la parte del L'unità centrale di elaborazione (CPU) è la parte del sistema che contiene i dispositivi elettronici necessari sistema che contiene i dispositivi elettronici necessari al funzionamento della macchinaal funzionamento della macchina
La CPU esegue i programmi che risiedono nella La CPU esegue i programmi che risiedono nella memoria centralememoria centrale prelevando prelevando decodificandodecodificando eseguendo eseguendo
le istruzioni in essa contenuti e coordinando il le istruzioni in essa contenuti e coordinando il trasferimento dei dati tra le varie unità funzionalitrasferimento dei dati tra le varie unità funzionali
Architettura degli elaboratori (Parte 1) 14
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
Architettura degli elaboratori (Parte 1) 15
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
La CPU è composta da:La CPU è composta da: una unità di controllo una unità di controllo CU - Control UnitCU - Control Unit che che
interpreta e attiva le risorse necessarie interpreta e attiva le risorse necessarie all’esecuzione delle istruzioni all’esecuzione delle istruzioni
una unità aritmetico-logica una unità aritmetico-logica ALU - Arithmetic and ALU - Arithmetic and Logic UnitLogic Unit che effettua i calcoli aritmetici e logici che effettua i calcoli aritmetici e logici presenti nelle istruzioni (aritmetiche e logiche) del presenti nelle istruzioni (aritmetiche e logiche) del programmaprogramma
alcuni dispositivi di memoria detti alcuni dispositivi di memoria detti registriregistri
Architettura degli elaboratori (Parte 1) 16
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
Un registro è un dispositivo elettronico per memorizzare i Un registro è un dispositivo elettronico per memorizzare i datidati
Dal punto di vista tecnologico un registro è un Dal punto di vista tecnologico un registro è un insieme diinsieme di n elementi fisici bistabilin elementi fisici bistabili, detti , detti bitbit
Un registro formato da Un registro formato da nn bit è in grado di assumere bit è in grado di assumere 22nn configurazioni di stato diverseconfigurazioni di stato diverse
Ciascun bit ha due configurazioni stabili possibili, a cui Ciascun bit ha due configurazioni stabili possibili, a cui per convenzione vengono associati i simboli per convenzione vengono associati i simboli 00 e e 11
Registri
n=6, il numero delle configurazioni è 64
Architettura degli elaboratori (Parte 1) 17
Approfondimenti: BitApprofondimenti: Bit
BitBit (Binary Digit) cifra binaria che può assumere solo i valori 0 e 1 (Binary Digit) cifra binaria che può assumere solo i valori 0 e 1 Byte (B)Byte (B) un gruppo contiguo di 8 bit (es. 11001010) un gruppo contiguo di 8 bit (es. 11001010) NIBBLENIBBLE = 4 bit = 4 bit (es. 0110)(es. 0110) WORDWORD = 16 bit / 32 bit / 64 bit (dipende dall’architettura del = 16 bit / 32 bit / 64 bit (dipende dall’architettura del
calcolatore)calcolatore)
KB (chilo) =KB (chilo) = 221010 = 1024 = 1024 MB (mega) =MB (mega) = 221010 KB = 220 = 1048576 KB = 220 = 1048576 GB (giga) =GB (giga) = 221010 MB = 230 = 1073741824 MB = 230 = 1073741824 TB (tera) = TB (tera) = 221010 GB = 240 = 1.099 1012 GB = 240 = 1.099 1012
Architettura degli elaboratori (Parte 1) 18
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
Lo stato del registro, ossia la configurazione dei suoi Lo stato del registro, ossia la configurazione dei suoi bit, rappresenta l'informazione che vi è memorizzata e bit, rappresenta l'informazione che vi è memorizzata e tale informazione viene conservata fino a quando non tale informazione viene conservata fino a quando non la si altera la si altera
Un registro quindi ha una capacità di memorizzare Un registro quindi ha una capacità di memorizzare informazioni che è funzione del numero degli elementi informazioni che è funzione del numero degli elementi di cui si compone di cui si compone
Registri
Registro n=1 2Registro n=1 21 1 = 2 configurazioni= 2 configurazioni {0, 1}{0, 1}
Registro n=2, 2Registro n=2, 22 2 = 4 configurazioni= 4 configurazioni {00, 01, 10, 11}{00, 01, 10, 11}
Registro n=3 2Registro n=3 23 3 = 8 configurazioni= 8 configurazioni {000, 001, 010, 011,{000, 001, 010, 011,
100, 101, 110, 111}100, 101, 110, 111}
Architettura degli elaboratori (Parte 1) 19
Elementi del modello di Von Neumann: CPUElementi del modello di Von Neumann: CPU
I registri fondamentali all’interno della CPU sono:I registri fondamentali all’interno della CPU sono: I registri generali I registri generali R1, R2, …, RnR1, R2, …, Rn il registro degli indirizzi di memoria il registro degli indirizzi di memoria Memory AddressMemory Address
Register (MAR)Register (MAR) il registro dei dati di memoria il registro dei dati di memoria Memory Data RegisterMemory Data Register
(MDR)(MDR) il contatore di programma il contatore di programma Program Counter (PC)Program Counter (PC) il registro della istruzione corrente il registro della istruzione corrente Instruction Register (IR)Instruction Register (IR) il registro di stato il registro di stato Program Status Register (PSR)Program Status Register (PSR)
Registri
Architettura degli elaboratori (Parte 1) 20
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
Insieme di dispositivi aventi la funzione di memorizzare Insieme di dispositivi aventi la funzione di memorizzare (mantenere nel tempo) programmi e dati(mantenere nel tempo) programmi e dati
Per eseguire in modo efficiente i programmi, la memoria Per eseguire in modo efficiente i programmi, la memoria dovrebbe essere:dovrebbe essere: molto velocemolto veloce molto capiente (dimensioni sufficienti a contenere un molto capiente (dimensioni sufficienti a contenere un
programma e tutti i suoi dati)programma e tutti i suoi dati) permanente (in grado di mantenere il suo contenuto anche permanente (in grado di mantenere il suo contenuto anche
quando non vi e’ alimentazione elettrica)quando non vi e’ alimentazione elettrica) Queste caratteristiche NON sono facilmente conciliabili in Queste caratteristiche NON sono facilmente conciliabili in
sistemi come i PC dove occorre contenere i costisistemi come i PC dove occorre contenere i costi
Memoria
Architettura degli elaboratori (Parte 1) 21
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
In un sistema di elaborazione In un sistema di elaborazione ci sono sempre due tipi di ci sono sempre due tipi di memoria: memoria: la memoria centrale, interna al la memoria centrale, interna al
calcolatore, direttamente calcolatore, direttamente accessibile dalla CPU accessibile dalla CPU realizzata da componenti a realizzata da componenti a semiconduttoresemiconduttore
la memoria secondaria o di la memoria secondaria o di massa, esterna al calcolatore massa, esterna al calcolatore realizzata da componenti realizzata da componenti magnetici o ottici(dischi, nastri)magnetici o ottici(dischi, nastri)
Memoria Cache
Memoria Primaria
Memoria Secondaria
Memoria di Archiviazione
C.P.U.
Memoriein linea
Memoriefuori linea
R.A.M.R.O.M.
DiscoFisso
floppyCDROMnastriDVDetc…
Memoria
Architettura degli elaboratori (Parte 1) 22
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
La La memoria centralememoria centrale è una parte del sistema è una parte del sistema di memoria illustrato precedentemente e di memoria illustrato precedentemente e rappresenta la memoria interna al calcolatore rappresenta la memoria interna al calcolatore direttamente accessibile dalla CPUdirettamente accessibile dalla CPU
La memoria centrale mantiene:La memoria centrale mantiene: i programmi i programmi i dati necessari all'esecuzione dei programmii dati necessari all'esecuzione dei programmi
Architettura degli elaboratori (Parte 1) 23
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
E’ un insieme finito di locazioni (celle o registri) di uguali E’ un insieme finito di locazioni (celle o registri) di uguali dimensionidimensioni
Ogni locazione di memoria consta di n bit, ciascuno dei quali Ogni locazione di memoria consta di n bit, ciascuno dei quali può rappresentare una informazione binaria (valori 0 e 1)può rappresentare una informazione binaria (valori 0 e 1)
Ogni locazione è caratterizzata da un Ogni locazione è caratterizzata da un indirizzoindirizzo e dal e dal contenutocontenuto L’indirizzo di una locazione è la posizione che questa occupa L’indirizzo di una locazione è la posizione che questa occupa
nella memoria rispetto alla prima locazione che ha indirizzo nella memoria rispetto alla prima locazione che ha indirizzo zero zero
Il contenuto di una locazione è l'informazione in essa registrata Il contenuto di una locazione è l'informazione in essa registrata (parola di memoria - WORD)(parola di memoria - WORD)
Architettura degli elaboratori (Parte 1) 24
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
Architettura degli elaboratori (Parte 1) 25
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
La memoria centrale è caratterizzata:La memoria centrale è caratterizzata: Dalla Dalla lunghezza di una parola di memorialunghezza di una parola di memoria che che
può variare da calcolatore a calcolatore, ma può variare da calcolatore a calcolatore, ma comunque è un multiplo del byte (es. comunque è un multiplo del byte (es. 8,16,32,64 bit)8,16,32,64 bit)
Dalla Dalla capacitàcapacità ovvero dal numero totale di ovvero dal numero totale di locazioni di memoria capacità della memoria si locazioni di memoria capacità della memoria si misura in byte o in multipli del byte. misura in byte o in multipli del byte.
Architettura degli elaboratori (Parte 1) 26
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
Alla memoria centrale si accede per effettuare operazioni di Alla memoria centrale si accede per effettuare operazioni di letturalettura o o scritturascrittura
Ciascuna locazione di memoria può essere selezionata Ciascuna locazione di memoria può essere selezionata specificando il suo indirizzo nel registro degli indirizzi (MAR, specificando il suo indirizzo nel registro degli indirizzi (MAR, Memory Address Register)Memory Address Register)
L'indirizzamento di una locazione di memoria consiste nel L'indirizzamento di una locazione di memoria consiste nel selezionare elettricamente la locazione relativa all'indirizzo selezionare elettricamente la locazione relativa all'indirizzo specificatospecificato
Se il (MAR) registro degli indirizzi ha Se il (MAR) registro degli indirizzi ha kk bit può indirizzare bit può indirizzare 22kk celle di celle di memoria i cui indirizzi variano da memoria i cui indirizzi variano da 00 a a 22kk-1-1
Con un MAR di Con un MAR di 1010 bit si possono indirizzare bit si possono indirizzare 221010 ovvero ovvero 10241024 locazioni di memorialocazioni di memoria
Architettura degli elaboratori (Parte 1) 27
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
01234567
indirizzo 4
contenuto
MAR a 3 bit
MDR a 8 bit
Memoria con: • 23=8 locazioni di 8 bit• Capacità = 8*8 = 64 bit
0 01
0 0 1 0 10 000 0 0 1 0 1 0 0
Architettura degli elaboratori (Parte 1) 28
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
La memoria centrale a cui ci siamo fino ad ora riferiti La memoria centrale a cui ci siamo fino ad ora riferiti viene anche detta memoria viene anche detta memoria RAM (Random Access RAM (Random Access Memory)Memory)
La RAM è volatile ovvero in assenza di La RAM è volatile ovvero in assenza di alimentazione elettrica perde il suo contenutoalimentazione elettrica perde il suo contenuto
Quando si spegne il computer, tutto quello che è Quando si spegne il computer, tutto quello che è stato caricato nella memoria RAM viene cancellatostato caricato nella memoria RAM viene cancellato
Architettura degli elaboratori (Parte 1) 29
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: Memoria CentraleMemoria Centrale
Una porzione di memoria centrale, identificata con il Una porzione di memoria centrale, identificata con il termine termine ROM (Read Only Memory)ROM (Read Only Memory) è riservata solo per è riservata solo per operazioni di letturaoperazioni di lettura
La ROM è realizzata con diversa tecnologia e viene La ROM è realizzata con diversa tecnologia e viene usate dai costruttori per memorizzare in modo usate dai costruttori per memorizzare in modo permanente informazioni necessarie per l’avviamento permanente informazioni necessarie per l’avviamento del sistema (firmware)del sistema (firmware)
Architettura degli elaboratori (Parte 1) 30
Approfondimenti: ROMApprofondimenti: ROM
Le ROM si distinguono a seconda della tecnologia usata per Le ROM si distinguono a seconda della tecnologia usata per memorizzare le informazioni iniziali in EROM, PROM e EPROM:memorizzare le informazioni iniziali in EROM, PROM e EPROM: Le EROM (Erasable ROM) sono ROM cancellabili, in genere questo Le EROM (Erasable ROM) sono ROM cancellabili, in genere questo
tipo di ROM sono cancellabili esponendole a raggi ultraviolettitipo di ROM sono cancellabili esponendole a raggi ultravioletti Le PROM (Programmable ROM) sono ROM programmabiliLe PROM (Programmable ROM) sono ROM programmabili Le EPROM (Erasable and Programmable ROM) sono ROM Le EPROM (Erasable and Programmable ROM) sono ROM
cancellabili e programmabilicancellabili e programmabili Il software contenuto nelle ROM per distinguerlo da quello Il software contenuto nelle ROM per distinguerlo da quello
contenuto nella RAM viene chiamato contenuto nella RAM viene chiamato firmwarefirmware
Architettura degli elaboratori (Parte 1) 31
Approfondimenti: FirmwareApprofondimenti: Firmware
Fa parte del firmware, ad esempio, il Fa parte del firmware, ad esempio, il BIOSBIOS, , cioè quel gruppo di istruzioni che consente: cioè quel gruppo di istruzioni che consente: ai diversi processori di attivarsi al momento ai diversi processori di attivarsi al momento
dell’accensione del computerdell’accensione del computer di effettuare un auto-test di funzionamento di effettuare un auto-test di funzionamento di caricare nella RAM il sistema operativo, presente di caricare nella RAM il sistema operativo, presente
sul disco rigido, a cui viene ceduto il controllo del sul disco rigido, a cui viene ceduto il controllo del sistema sistema
Architettura degli elaboratori (Parte 1) 32
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: BusBus
Il Il bus di sistemabus di sistema è l’insieme di linee o circuiti, è l’insieme di linee o circuiti, impiegati per il trasferimento di dati tra le impiegati per il trasferimento di dati tra le componenti di un sistema informaticocomponenti di un sistema informatico
Questo gruppo di linee trasporta tipi diversi di Questo gruppo di linee trasporta tipi diversi di informazione: informazione: dati dati indirizzi indirizzi segnali di controllosegnali di controllo
Definizione generale
Architettura degli elaboratori (Parte 1) 33
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: BusBus
Il bus di sistema è il mezzo fisico che, sotto il Il bus di sistema è il mezzo fisico che, sotto il diretto controllo della CPU, collega le varie diretto controllo della CPU, collega le varie unità funzionali della macchina di Von unità funzionali della macchina di Von NeumannNeumann
La CPU, tramite i suoi organi, permette di La CPU, tramite i suoi organi, permette di collegare solo due unità funzionali alla volta:collegare solo due unità funzionali alla volta: una che trasmette dati una che trasmette dati una che riceve una che riceve
All’interno del modello di Von Neumann
Architettura degli elaboratori (Parte 1) 34
Elementi del modello di Von Neumann: Elementi del modello di Von Neumann: BusBus
Il bus degli indirizzi, connesso al MAR, ha tanti Il bus degli indirizzi, connesso al MAR, ha tanti conduttori quanti sono i bit di un indirizzo (pari quindi conduttori quanti sono i bit di un indirizzo (pari quindi alla dimensione del MAR)alla dimensione del MAR)
Questo numero in genere è il logaritmo in base due Questo numero in genere è il logaritmo in base due dello spazio di indirizzamento, ovvero del numero di dello spazio di indirizzamento, ovvero del numero di locazioni di memoria complessivamente indirizzabililocazioni di memoria complessivamente indirizzabili
Il bus dei dati, connesso al registro MDR ha un numero Il bus dei dati, connesso al registro MDR ha un numero di conduttori pari alla dimensione di una locazione di di conduttori pari alla dimensione di una locazione di memoria, lo stesso numero quindi corrisponde anche memoria, lo stesso numero quindi corrisponde anche alla lunghezza del registro MDRalla lunghezza del registro MDR
Alcune specifiche
Architettura degli elaboratori (Parte 1) 35
Unità di elaborazione (CPU)Unità di elaborazione (CPU)
Parte operativa: Parte operativa: blocchi funzionali blocchi funzionali interconnessi dal bus interconnessi dal bus di sistemadi sistema
Unità di controllo: Unità di controllo: attiva i circuiti della attiva i circuiti della parte operativaparte operativa
Funzionamento Funzionamento sincrono (clock)sincrono (clock)
parte operativa
parte controllo
clock
dati/istruzioniindirizzi
controlli
comandiistruzioni/flag
Architettura degli elaboratori (Parte 1) 36
Una implementazione del modello…Una implementazione del modello…
Motherboard