Upload
doantu
View
216
Download
0
Embed Size (px)
Citation preview
Le infrastrutture Le infrastrutture Hardware:Hardware:
architetturaarchitetturaCorso di InformaticaCorso di Informatica
CdL: CdL: ChimicaChimica
Claudia d'AmatoClaudia d'[email protected]@di.uniba.it
Informatica – Claudia d'Amato 2
Interconnessione
Il calcolatore:Il calcolatore:modello concettualemodello concettuale
1.Elaborazione
2.Memorizzazione
3.Comunicazione
(interfaccia)
Informatica – Claudia d'Amato 3
1.Elaborazione
Interconnessione
2.Memorizzazione
3.Comunicazione
(interfaccia)
Unità Centrale di Elaborazione
MemoriaElettronica
MemoriaMagnetica
Il calcolatore:Il calcolatore:modello architetturalemodello architetturale
Periferiche
Collegamenti(BUS/Cavi)
Informatica – Claudia d'Amato 4
Lo schema di riferimentoLo schema di riferimento
ALU
Interfaccia di I/O
Video/tastiera (terminale)
Memoria di massa
dati
controllo
indirizzi BUS
Interfaccia di I/O Memoria CPU
PC
Registri
Informatica – Claudia d'Amato 5
Lo schema di riferimentoLo schema di riferimento
Memoria di massa
Bus datiBus indirizzi
Bus di controllo
CPURAM
Scheda madre(motherboard)
Interfaccia di I/O
Schermo
Tastiera e mouse Altoparlanti
Interfacce di I/O
Interfacce di I/O
Informatica – Claudia d'Amato 6
Scheda madreScheda madre
Zoccolo per Zoccolo per la CPUla CPU
Connettori Connettori per la per la memoriamemoria
Connettori per Connettori per schede di I/O schede di I/O aggiuntiveaggiuntive
Connettori per Connettori per dischi fissidischi fissi
Informatica – Claudia d'Amato 7
CPU – Central Processing UnitCPU – Central Processing UnitUnità Centrale di ElaborazioneUnità Centrale di Elaborazione
Informatica – Claudia d'Amato 8
Collegamento a BUSCollegamento a BUS
SemplicitàSemplicità• un’unica linea di connessione costi ridotti di produzione
EstendibilitàEstendibilità• aggiunta di nuovi dispositivi molto semplice
StandardizzabilitàStandardizzabilità• regole per la comunicazione da parte di dispositivi diversi
LentezzaLentezza• utilizzo in mutua esclusione del bus
Limitatà capacitàLimitatà capacità• al crescere del numero di dispositivi collegati
Sovraccarico del processore (CPU)Sovraccarico del processore (CPU)• perchè funge da master sul controllo del bus
Informatica – Claudia d'Amato 9
Organizzazione tipica di un Organizzazione tipica di un calcolatore “bus oriented”calcolatore “bus oriented”
CPU Memoriacentrale
Bus
Unità dicontrollo
Unitàaritmetico
logica (ALU)
Registri
CPU
Terminale
Unitàdisco
Stampante
Dispositivi di I/O
Informatica – Claudia d'Amato 10
L’ “esecutore”L’ “esecutore” Un calcolatore basato sull’Un calcolatore basato sull’architettura di Von Neumannarchitettura di Von Neumann esegue esegue
un programma sulla base dei seguenti un programma sulla base dei seguenti principiprincipi::• dati e istruzioni memorizzati in una memoria unica che permette sia la
scrittura che la lettura;• i contenuti della memoria sono indirizzati in base alla loro posizione,
indipendentemente dal tipo di dato o istruzione contenuto;• le istruzioni sono eseguite in modo sequenziale.
Il linguaggio per cui la CPU si comporta da esecutore è detto Il linguaggio per cui la CPU si comporta da esecutore è detto linguaggio macchinalinguaggio macchina. Le istruzioni scritte in linguaggio macchina . Le istruzioni scritte in linguaggio macchina sono piuttosto rudimentali: sono piuttosto rudimentali: • il concetto di tipo di dato è quasi assente,• il numero di operandi è limitato (in genere non più di due),• il numero di operazioni previste è ridotto.
000110001000001000000 00000 100000Linguaggio macchina
R03R02R01addLinguaggio assemblatore
src2src1destcodice operativoStruttura istruzione
Informatica – Claudia d'Amato 11
L'esecuzione dei ProgrammiL'esecuzione dei ProgrammiQuando Quando istruzioni e dati di un programmaistruzioni e dati di un programma da da elaborare elaborare sono in memoriasono in memoria, la , la CPUCPU esegueesegue, fino , fino alla alla terminazioneterminazione del programma, del programma, le fasile fasi:: FetchFetch: estrazione di una istruzione dalla : estrazione di una istruzione dalla
memoriamemoria DecodeDecode: identificazione dell'istruzione da : identificazione dell'istruzione da
eseguireeseguire ExecuteExecute: esecuzione dell'istruzione (: esecuzione dell'istruzione (inclusoincluso
recupero dalla memoria degli operandi o recupero dalla memoria degli operandi o modifica della successione delle istruzioni)modifica della successione delle istruzioni)
Informatica – Claudia d'Amato 12
Ciclo Ciclo Fetch–Decode–ExecuteFetch–Decode–Execute
Fetch
Decode
Execute
Informatica – Claudia d'Amato 13
Le parti di una CPULe parti di una CPU Data pathData path (o (o percorso dei datipercorso dei dati): ): si occupa dell’effettiva si occupa dell’effettiva
elaborazione dei datielaborazione dei dati; comprende; comprende• una o più unità aritmetico-logiche (ALU - Arithmetic Logic Unit);• i registri, memoria ad alta velocità usate per risultati
temporanei e informazioni di controllo Unità di controlloUnità di controllo
• coordina le operazioni del processore (compreso data path!);• regola il flusso dei dati e indica quali registri debbano essere
collegati agli ingressi e all’uscita dell’ALU;• invia all’ALU il codice dell’operazione da eseguire;• riceve indicazioni sull’esito dell’operazione appena eseguita
dall’ALU e gestisce opportunamente queste informazioni;• comprende alcuni registri di uso specifico
• Program Counter (PC) – qual è l’istruzione successiva;• Instruction Register (IR) – istruzione in corso d’esecuzione;• …
Informatica – Claudia d'Amato 16
CPUCPU In grado di eseguire solo istruzioni In grado di eseguire solo istruzioni
codificate in codificate in linguaggio macchinalinguaggio macchina
Ciclo Fetch – Decode - ExecuteCiclo Fetch – Decode - Execute1. Prendi l’istruzione corrente dalla memoria (quella individuata dal
contenuto del PC) e mettila nell’IR (Instruction Register), contemporaneamente incrementa il Program Counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva (fetch)
2. Determina il tipo di istruzione da eseguire (decode)
3. Se l’istruzione usa dei dati presenti in memoria, determinane la posizione;
4. Carica la parola, se necessario, in un registro della CPU;
5. Esegui l’istruzione (execute)
6. Torna al punto 1 e inizia a eseguire l’istruzione successiva.
Informatica – Claudia d'Amato 17
Tre tipologie di istruzioniTre tipologie di istruzioni Istruzioni aritmetico-logiche (Elaborazione dati)Istruzioni aritmetico-logiche (Elaborazione dati)
• Somma, Sottrazione, Divisione, …• And, Or, Xor, …• Maggiore, Minore, Uguale, Minore o uguale, …
Controllo del flusso delle istruzioniControllo del flusso delle istruzioni• Sequenza• Salto condizionato o non condizionato (per realizzare
selezioni e cicli) Trasferimento di informazioneTrasferimento di informazione
• Trasferimento dati e istruzioni tra CPU e memoria• Trasferimento dati e istruzioni tra CPU e dispositivi di
ingresso/uscita (attraverso le relative interfacce)
Informatica – Claudia d'Amato 23
Miglioramento Prestazioni CPUMiglioramento Prestazioni CPUPer migliorare le prestazioni di una CPU si può:Per migliorare le prestazioni di una CPU si può:
1.1. RidurreRidurre il il tempotempo necessario per necessario per l'esecuzionel'esecuzione delle singole delle singole istruzioneistruzione 1. Aumento delle frequenze dei processori →
riduzione del tempo di ciclo di istruzione2. Introduzione della memoria cache
2.2. Aumentare il numero di istruzioni da Aumentare il numero di istruzioni da eseguire contemporaneamente (in parallelo)eseguire contemporaneamente (in parallelo)1. Pipeline
Informatica – Claudia d'Amato 24
CPU PipelineCPU Pipeline La fase execute della 1a istruzione è eseguita La fase execute della 1a istruzione è eseguita
parallelamente alla fase decode della 2a istruzioneparallelamente alla fase decode della 2a istruzione La fase decode delle seconda istruzione è eseguita La fase decode delle seconda istruzione è eseguita
parallelamente alla fase fetch della terza istruzioneparallelamente alla fase fetch della terza istruzione Numero di istruzioni eseguite durante il tempo di Numero di istruzioni eseguite durante il tempo di
esecuzione di un singolo ciclo di istruzione è <= 3esecuzione di un singolo ciclo di istruzione è <= 3 In generaleIn generale, l'incremento della velocità di , l'incremento della velocità di
esecuzione dovuta al pipelining è <= numero di fasi esecuzione dovuta al pipelining è <= numero di fasi della pipelinedella pipeline • è uguale al numero di fasi della pipeline se la durata
degli stadi è perfettamente bilanciata)
Informatica – Claudia d'Amato 25
CPU Pipeline: Esempio...CPU Pipeline: Esempio...
10 ns 20 ns 30 ns 40 ns 50 ns 60 ns
0
1
2
3
4
5
Istr.1 Istr.2 Istr.3 Istr.4
Istr.1
Istr.1
Istr.1
Istr.1
Istr.2
Istr.2
Istr.2
Istr.2
Istr.3
Istr.3
Istr.3
Istr.4
Istr.4
Istr.5
Istr.5
Istr.6
Stad
io
Informatica – Claudia d'Amato 26
...CPU Pipeline: Esempio...CPU Pipeline: Esempio
10 ns 20 ns 30 ns 40 ns 50 ns 60 ns
0
1
2
3
4
5
Istr.i Istr.i+1
Istr. i
Istr.i
Istr.i
Istr.i+1
Istr.i+1
Istr.i+2
Istr.i+2
Istr.i+3
Istr.i+3
Istr.i+4
Istr.i+4
Istr.i+5
Stad
io
Istr.i-4 Istr.i-3 Istr.i-2
Istr.i-2
Istr.i-2
Istr.i-1
Istr.i-3
Istr.i-1
Istr.i-1
Istr.i-1
Istr.i
Istr.i+1
Istr.i+3
Istr.i+2
Istr.i+2
Istr.i+1
Informatica – Claudia d'Amato 27
La memoriaLa memoria
Informatica – Claudia d'Amato 28
La memoria: FunzioniLa memoria: Funzioni Supporto alla CPUSupporto alla CPU: deve : deve fornirefornire alla CPU alla CPU dati e dati e
istruzioni il più rapidamente possibileistruzioni il più rapidamente possibile ArchivioArchivio: deve consentire di archiviare dati e : deve consentire di archiviare dati e
programmi programmi garantendonegarantendone la la conservazioneconservazione e la e la reperibilitàreperibilità anche dopo elevati periodi di tempoanche dopo elevati periodi di tempo
Diverse esigenze:Diverse esigenze:• velocità per il supporto alla CPU• non volatilità ed elevate dimensioni per l’archivio
Diverse tecnologieDiverse tecnologie• elettronica: veloce, ma costosa e volatile• magnetica e ottica: non volatile ed economica, ma molto
lenta
Informatica – Claudia d'Amato 29
La memoria centraleLa memoria centrale
Informatica – Claudia d'Amato 30
La memoria centrale (RAM)La memoria centrale (RAM) Mantiene al proprio interno i dati e Mantiene al proprio interno i dati e
le istruzioni dei programmi in esecuzionele istruzioni dei programmi in esecuzione Memoria ad accesso “casuale”Memoria ad accesso “casuale” Tecnologia elettronicaTecnologia elettronica
• veloce ma volatile e costosa
Due “eccezioni”Due “eccezioni”• ROM: elettronica ma permanente e di sola lettura• Flash: elettronica ma non volatile e riscrivibile
Informatica – Claudia d'Amato 31
Indirizzi di memoriaIndirizzi di memoria I bit nelle I bit nelle memoriememorie sono raggruppati sono raggruppati inin cellecelle::
• tutte le celle sono formate dallo stesso numero di bit;• una cella composta da k bit, è in grado di contenere una
qualunque tra 2k combinazioni diverse di bit.
Ogni cella ha unOgni cella ha un indirizzoindirizzo::• serve come accesso all’informazione;• in una memoria con N celle gli indirizzi vanno da 0 a N–1.
La cella è l’unità indirizzabile più piccolaLa cella è l’unità indirizzabile più piccola..
Informatica – Claudia d'Amato 33
Organizzazione della memoriaOrganizzazione della memoria Anche gli indirizzi della memoria sono Anche gli indirizzi della memoria sono
rappresentati come numeri binarirappresentati come numeri binari::• un indirizzo di M bit consente di indirizzare 2M celle;• il numero di bit nell’indirizzo determina il numero
massimo di celle indirizzabili nella memoria ed è indipendente dal numero di bit per cella (una memoria con 212 celle richiede sempre 12 bit di indirizzo, quale che sia la dimensione di una cella).
Una memoria può essere organizzata in diversi Una memoria può essere organizzata in diversi modi:modi:• con 96 bit possiamo avere 6 celle di 16 bit (6*16=96), o 8
celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).
Informatica – Claudia d'Amato 34
Organizzazione della memoriaOrganizzazione della memoria0
1
2
3
4
5
6 parole da 16 bit
0
1
2
3
4
5
6
7
8 parole da 12 bit
0
1
2
3
4
5
6
7
8
9
10
1112 parole da 8 bit
Informatica – Claudia d'Amato 35
Memoria vs. CPUMemoria vs. CPU Le Le CPUCPU sono sempre state sono sempre state piùpiù velociveloci delle delle memoriememorie
• nelle memorie è aumentata la capacità più che la velocità.
L’L’accessoaccesso alla memoria passa alla memoria passa attraversoattraverso il il busbus• la frequenza di funzionamento del bus è molto più bassa
di quella della CPU;
È possibile fare È possibile fare memoriememorie moltomolto veloci veloci se stanno nel se stanno nel chip della CPU, ma chip della CPU, ma sono piccolesono piccole e e costose costose ==== I I REGISTRIREGISTRI..
Informatica – Claudia d'Amato 38
Memoria centrale – ChipMemoria centrale – Chip SSingle ingle IInline nline MMemory emory MModule odule ((SIMMSIMM))
• 30/72 pin sullo stesso lato della scheda;• trasferimento dati a 8/32 bit per volta;• utilizzabili “a coppie”.
Dual In-line Memory Module (Dual In-line Memory Module (DIMMDIMM))• 168 pin su due lati;• 64 bit alla volta;• utilizzabili anche singolarmente
RIMMRIMM• 184 pin• Moduli di RDRAM;• interfaccia DIMM 100MHz.
Informatica – Claudia d'Amato 39
La memoria di massaLa memoria di massa(magnetica)(magnetica)
Informatica – Claudia d'Amato 40
Una gerarchia di memoriaUna gerarchia di memoriaOttenuta per “generalizzazione” dell’applicazione Ottenuta per “generalizzazione” dell’applicazione del principio di del principio di localitàlocalità e tipicamente costituita da e tipicamente costituita da
1. registri contenuti nella CPU (qualche KB)2. cache (da circa 32KB a circa 1024KB)3. memoria principale (da circa 64MB a qualche GB)4. dischi fissi (da qualche GB a qualche TB)5. nastri magnetici e dischi ottici (da qualche GB a qualche
TB per ogni supporto)Man mano che ci si sposta verso il basso nella Man mano che ci si sposta verso il basso nella gerarchia aumenta il valore dei parametri gerarchia aumenta il valore dei parametri fondamentali:fondamentali:
• aumenta il tempo di accesso;• aumenta la capacità di memorizzazione;• ma diminuisce il costo per bit.
Informatica – Claudia d'Amato 41
Una gerarchia di memoriaUna gerarchia di memoria
CPU
Registri
Cache I liv
Cache II liv Cir
cuit
o In
tegr
ato
(chip
)
RAM
Sched
a m
adre
(m
othe
rboa
rd)
Disco fisso (hard disk) tecnologia magnetica
Invo
lucr
o es
tern
o de
l ca
lcol
ator
e (c
ase)
Supporti esterni
tecnologia magnetica
(HD esterni)
tecnologia elettronica (flash disk)
tecnologia ottica
(CD, DVD)
Informatica – Claudia d'Amato 42
Dischi magneticiDischi magnetici Sono Sono piattipiatti d’alluminio (o di altro materiale) d’alluminio (o di altro materiale)
ricoperti di ricoperti di materiale ferromagneticomateriale ferromagnetico.. Fattore di formaFattore di forma (diametro) (diametro)
• sempre più piccolo (consente velocità di rotazione maggiori);
• 3.5 pollici per i sistemi desktop e fino a 1 pollice per i mobili.
TestinaTestina di un disco (strumento di lettura/scrittura) di un disco (strumento di lettura/scrittura)• è sospesa appena sopra la superficie magnetica• scrittura: il passaggio di corrente positiva o negativa
attraverso la testina magnetizza la superficie• lettura: il passaggio sopra un’area magnetizzata induce
una corrente positiva o negativa nella testina.
Informatica – Claudia d'Amato 43
Tracce e settoriTracce e settori TracciaTraccia (track)(track): sequenza circolare di bit scritta mentre il : sequenza circolare di bit scritta mentre il
disco compie una rotazione completadisco compie una rotazione completa
SettoreSettore (sector)(sector): parte di una traccia corrispondente a un : parte di una traccia corrispondente a un settore circolare del discosettore circolare del disco
FormattazioneFormattazione: operazione che predispone tracce e settori : operazione che predispone tracce e settori per la lettura/scritturaper la lettura/scrittura
Informatica – Claudia d'Amato 44
Tracce Tracce e e
settorisettori
Tracce
Spazi tratracce
Spazi trarecord
Settore
Informatica – Claudia d'Amato 45
Testina dilettura/scrittura
(una per superficie)
Superficie 6
Superficie 5
Superficie 4
Superficie 3
Superficie 2
Superficie 1
Superficie 0
Superficie 7
Direzione delmovimento
Schema di un Hard DiskSchema di un Hard Disk
Le tracce in grigio formano un “cilindro”
Informatica – Claudia d'Amato 47
Memorie FlashMemorie Flash Funzioni:Funzioni:
• trasferimento dati (la capacità dei floppy è limitata);
• archiviazione dati “sensibili”. Tecnologia elettronica non Tecnologia elettronica non
volatilevolatile• bassi consumi• piccole dimensioni• capacità dai 256MB ai 4GB
File system come per i File system come per i dischidischi• Il sistema operativo gestisce
l’accesso come se fossero dischi;
Informatica – Claudia d'Amato 48
La memoria di massaLa memoria di massa(ottica)(ottica)
Informatica – Claudia d'Amato 49
Dischi otticiDischi ottici Lettura ottica basata sulla riflessione (o sulla mancata Lettura ottica basata sulla riflessione (o sulla mancata
riflessione) di un raggio laser.riflessione) di un raggio laser. Densità di registrazione più alte dei dischi magneticiDensità di registrazione più alte dei dischi magnetici.. Creati in origine per registrare i programmi televisivi, poi Creati in origine per registrare i programmi televisivi, poi
usati come dispositivi di memoria nei calcolatori.usati come dispositivi di memoria nei calcolatori. Diversi tipi/caratteristicheDiversi tipi/caratteristiche
• CD-ROM• CD-R• CD-RW• DVD• DVD-RAM• …
Informatica – Claudia d'Amato 55
Digital Versatile Disk (DVD)Digital Versatile Disk (DVD) Evoluzione tecnologica Evoluzione tecnologica maggior maggior
densità dei datidensità dei dati::• pit più piccoli (0.4 vs. 0.8 µm);• spirale più serrata (0.74 vs. 1.6 µm);• laser rosso (0.65 vs. 0.78 µm).
Caratteristiche dei DVDCaratteristiche dei DVD• capacità di 4.7 GB
• 133 minuti di video fullscreen MPEG-2 ad alta risoluzione (720 x 480) con colonna sonora in 8 lingue e sottotitoli in altre 32;
• 1x indica 1.4 MB/sec (vs. 150 KB/sec).