Transcript
Le infrastrutture Hardware: architettura Corso di Informatica CdL: Chimica Claudia d'Amato
[email protected]
Il calcolatore: modello concettuale 1. Elaborazione
2. Memorizzazione Interconnessione 3. Comunicazione (interfaccia)
Informatica – Claudia d'Amato
2
Il calcolatore: modello architetturale 1. Elaborazione Unità Centrale di Elaborazione Collegamenti (BUS/Cavi)
2. Memoria Memorizzazione Memoria
Elettronica
Magnetica
Interconnessione 3. Comunicazione (interfaccia)
Periferiche Informatica – Claudia d'Amato
3
Lo schema di riferimento Memoria di massa
PC ALU
Video/tastiera (terminale)
Registri
CPU
Memoria
Interfaccia di I/O
Interfaccia di I/O
dati BUS
indirizzi controllo
Informatica – Claudia d'Amato
4
Lo schema di riferimento RAM CPU Scheda madre (motherboard)
Bus dati Bus indirizzi Bus di controllo Interfacce di I/O
Interfaccia di I/ O
Tastiera e mouse Schermo
Informatica – Claudia d'Amato
Altoparlanti
Interfacce di I/O
Memoria di massa
5
Connettori per schede di I/O aggiuntive
Scheda madre
Zoccolo per la CPU
Connettori per la memoria Connettori per dischi fissi
Informatica – Claudia d'Amato
6
CPU – Central Processing Unit Unità Centrale di Elaborazione
Informatica – Claudia d'Amato
7
Collegamento a BUS
Semplicità •
Estendibilità •
utilizzo in mutua esclusione del bus
Limitatà capacità •
regole per la comunicazione da parte di dispositivi diversi
Lentezza •
aggiunta di nuovi dispositivi molto semplice
Standardizzabilità •
un’unica linea di connessione costi ridotti di produzione
al crescere del numero di dispositivi collegati
Sovraccarico del processore (CPU) •
perchè funge da master sul controllo del bus
Informatica – Claudia d'Amato
8
Organizzazione tipica di un calcolatore “bus oriented” CPU Dispositivi di I/O
Unità di controllo Unità aritmetico logica (ALU)
Terminale
Stampante
Registri
CPU
Memoria centrale
Unità disco
Bus Informatica – Claudia d'Amato
9
L’ “esecutore”
Un calcolatore basato sull’architettura di Von Neumann esegue un programma sulla base dei seguenti principi:
• 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 linguaggio macchina. Le istruzioni scritte in linguaggio macchina 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. Struttura istruzione
codice operativo
dest
src1
src2
Linguaggio assemblatore
add
R01
R02
R03
Linguaggio macchina Informatica – Claudia d'Amato
000000 00000 100000 00001 00010 00011 10
L'esecuzione dei Programmi Quando istruzioni e dati di un programma da elaborare sono in memoria, la CPU esegue, fino alla terminazione del programma, le fasi: Fetch: estrazione di una istruzione dalla memoria Decode: identificazione dell'istruzione da eseguire Execute: esecuzione dell'istruzione (incluso recupero dalla memoria degli operandi o modifica della successione delle istruzioni) Informatica – Claudia d'Amato
11
Ciclo Fetch–Decode–Execute Fetch
Decode
Execute
Informatica – Claudia d'Amato
12
Le parti di una CPU
Data path (o percorso dei dati): si occupa dell’effettiva
Unità di controllo
elaborazione dei dati; 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 • 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
13
CPU
In grado di eseguire solo istruzioni codificate in linguaggio macchina
Ciclo Fetch – Decode - Execute 1. 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
16
Tre tipologie di istruzioni
Istruzioni aritmetico-logiche (Elaborazione dati) • Somma, Sottrazione, Divisione, … • And, Or, Xor, … • Maggiore, Minore, Uguale, Minore o uguale, …
Controllo del flusso delle istruzioni
• Sequenza • Salto condizionato o non condizionato (per realizzare selezioni e cicli)
Trasferimento 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
17
Miglioramento Prestazioni CPU Per migliorare le prestazioni di una CPU si può: 1. Ridurre il tempo necessario per l'esecuzione delle singole istruzione 1. Aumento delle frequenze dei processori → riduzione del tempo di ciclo di istruzione 2. Introduzione della memoria cache
2. Aumentare il numero di istruzioni da eseguire contemporaneamente (in parallelo) 1. Pipeline Informatica – Claudia d'Amato
23
CPU Pipeline La fase execute della 1a istruzione è eseguita parallelamente alla fase decode della 2a istruzione La fase decode delle seconda istruzione è eseguita parallelamente alla fase fetch della terza istruzione Numero di istruzioni eseguite durante il tempo di esecuzione di un singolo ciclo di istruzione è <= 3 In generale, l'incremento della velocità di esecuzione dovuta al pipelining è <= numero di fasi della pipeline
• è uguale al numero di fasi della pipeline se la durata degli stadi è perfettamente bilanciata) Informatica – Claudia d'Amato
24
CPU Pipeline: Esempio... 5
Istr.1
Istr.2
Istr.1
Istr.2
Istr.3
Istr.1
Istr.2
Istr.3
Istr.4
Istr.1
Istr.2
Istr.3
Istr.4
Istr.5
Istr.1
Istr.2
Istr.3
Istr.4
Istr.5
Istr.6
10 ns
20 ns
30 ns
40 ns
50 ns
60 ns
Stadio
4
3
2
1
0
Informatica – Claudia d'Amato
25
...CPU Pipeline: Esempio 5
Istr.i-4
Istr.i-3
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i-3
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i+2
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i-1
Istr. i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i+4
Istr.i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i+4
Istr.i+5
20 ns
30 ns
40 ns
50 ns
Stadio
4
3
2
1
0 10 ns
Informatica – Claudia d'Amato
60 ns
26
La memoria
Informatica – Claudia d'Amato
27
La memoria: Funzioni Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo Diverse esigenze:
• velocità per il supporto alla CPU • non volatilità ed elevate dimensioni per l’archivio
Diverse tecnologie • elettronica: veloce, ma costosa e volatile • magnetica e ottica: non volatile ed economica, ma molto lenta
Informatica – Claudia d'Amato
28
La memoria centrale
Informatica – Claudia d'Amato
29
La memoria centrale (RAM) Mantiene
al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso “casuale” Tecnologia elettronica • veloce ma volatile e costosa Due
“eccezioni”
• ROM: elettronica ma permanente e di sola lettura • Flash: elettronica ma non volatile e riscrivibile
Informatica – Claudia d'Amato
30
Indirizzi di memoria
I bit nelle memorie sono raggruppati in celle: • 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 un indirizzo: • 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ù piccola.
Informatica – Claudia d'Amato
31
Organizzazione della memoria
Anche gli indirizzi della memoria sono rappresentati 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 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
33
Organizzazione della memoria 0 1 2
0 1 2
0 1 2
3 4 5
3 4 5
3 4 5
6 7
6 7 8
6 parole da 16 bit
8 parole da 12 bit
12 parole da 8 bit Informatica – Claudia d'Amato
9 10 11 34
Memoria vs. CPU
Le CPU sono sempre state più veloci delle memorie • nelle memorie è aumentata la capacità più che la velocità.
L’accesso alla memoria passa attraverso il bus • la frequenza di funzionamento del bus è molto più bassa di quella della CPU;
È possibile fare memorie molto veloci se stanno nel chip della CPU, ma sono piccole e costose == I REGISTRI.
Informatica – Claudia d'Amato
35
Memoria centrale – Chip
Single Inline Memory Module (SIMM) • 30/72 pin sullo stesso lato della scheda; • trasferimento dati a 8/32 bit per volta; • utilizzabili “a coppie”.
Dual In-line Memory Module (DIMM) • 168 pin su due lati; • 64 bit alla volta; • utilizzabili anche singolarmente
RIMM • 184 pin • Moduli di RDRAM; • interfaccia DIMM 100MHz.
Informatica – Claudia d'Amato
38
La memoria di massa (magnetica)
Informatica – Claudia d'Amato
39
Una gerarchia di memoria Ottenuta per “generalizzazione” dell’applicazione del principio di località e tipicamente costituita da 1. 2. 3. 4. 5.
registri contenuti nella CPU (qualche KB) cache (da circa 32KB a circa 1024KB) memoria principale (da circa 64MB a qualche GB) dischi fissi (da qualche GB a qualche TB) nastri magnetici e dischi ottici (da qualche GB a qualche TB per ogni supporto)
Man mano che ci si sposta verso il basso nella gerarchia aumenta il valore dei parametri fondamentali: • • •
aumenta il tempo di accesso; aumenta la capacità di memorizzazione; ma diminuisce il costo per bit.
Informatica – Claudia d'Amato
40
RAM
Supporti esterni tecnologia magnetica (HD esterni)
Informatica – Claudia d'Amato
tecnologia ottica (CD, DVD)
tecnologia elettronica (flash disk)
Involucro esterno del calcolatore (case)
Cache II liv
Scheda madre (motherboard)
Cache I liv
Circuito Integrato (chip)
Registri
CPU
Una gerarchia di memoria
Disco fisso (hard disk) tecnologia magnetica
41
Dischi magnetici Sono piatti d’alluminio (o di altro materiale) ricoperti di materiale ferromagnetico. Fattore di forma (diametro)
• sempre più piccolo (consente velocità di rotazione maggiori); • 3.5 pollici per i sistemi desktop e fino a 1 pollice per i mobili.
Testina 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
42
Tracce e settori
Traccia (track): sequenza circolare di bit scritta mentre il disco compie una rotazione completa
Settore (sector): parte di una traccia corrispondente a un settore circolare del disco
Formattazione: operazione che predispone tracce e settori per la lettura/scrittura
Informatica – Claudia d'Amato
43
Spazi tra tracce
Settore
Tracce e settori
Tracce
Spazi tra record
Informatica – Claudia d'Amato
44
Schema di un Hard Disk Superficie 7
Testina di lettura/scrittura (una per superficie)
Superficie 6 Superficie 5
Superficie 4 Superficie 3 Superficie 2 Superficie 1 Superficie 0
Direzione del movimento
Le tracce in grigio formano un “cilindro” Informatica – Claudia d'Amato
45
Memorie Flash
Funzioni: • trasferimento dati (la capacità dei floppy è limitata); • archiviazione dati “sensibili”.
Tecnologia elettronica non volatile • bassi consumi • piccole dimensioni • capacità dai 256MB ai 4GB
File system come per i dischi • Il sistema operativo gestisce l’accesso come se fossero dischi;
Informatica – Claudia d'Amato
47
La memoria di massa (ottica)
Informatica – Claudia d'Amato
48
Dischi ottici
Lettura ottica basata sulla riflessione (o sulla mancata riflessione) di un raggio laser. Densità di registrazione più alte dei dischi magnetici. Creati in origine per registrare i programmi televisivi, poi usati come dispositivi di memoria nei calcolatori. Diversi tipi/caratteristiche • • • • • •
CD-ROM CD-R CD-RW DVD DVD-RAM …
Informatica – Claudia d'Amato
49
Digital Versatile Disk (DVD)
Evoluzione tecnologica densità dei dati:
maggior
• 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 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).
Informatica – Claudia d'Amato
55